From fd09ce36d91069420fbb43933504457df40b5336 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 04:20:18 +0200 Subject: [PATCH 01/64] add i64_pow helpers --- src/glue/js/i64.d.ts | 1 + src/glue/js/i64.js | 18 ++++++++++++++++++ src/glue/wasm/i64.ts | 15 +++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/src/glue/js/i64.d.ts b/src/glue/js/i64.d.ts index 631d2b8014..f8e04c7e5e 100644 --- a/src/glue/js/i64.d.ts +++ b/src/glue/js/i64.d.ts @@ -15,6 +15,7 @@ declare function i64_high(value: i64): i32; declare function i64_add(left: i64, right: i64): i64; declare function i64_sub(left: i64, right: i64): i64; declare function i64_mul(left: i64, right: i64): i64; +declare function i64_pow(left: i64, right: i64): i64; declare function i64_div(left: i64, right: i64): i64; declare function i64_div_u(left: i64, right: i64): i64; declare function i64_rem(left: i64, right: i64): i64; diff --git a/src/glue/js/i64.js b/src/glue/js/i64.js index 123a8c1022..b1b046cba1 100644 --- a/src/glue/js/i64.js +++ b/src/glue/js/i64.js @@ -33,6 +33,24 @@ global.i64_mul = function(left, right) { return left.mul(right); }; +global.i64_pow = function(left, right) { + if (right.isNegative()) return Long.ZERO; + var rightLow = right.low; + if (!right.high) { + if (rightLow == 0) return Long.ONE; + if (rightLow == 1) return left; + if (rightLow == 2) return left.mul(left); + } + var result = Long.ONE; + while (rightLow | right.high) { + if (rightLow & 1) result = result.mul(left); + right = right.shru(1); + left = left.mul(left); + rightLow = right.low; + } + return result; +}; + global.i64_div = function(left, right) { return left.div(right); }; diff --git a/src/glue/wasm/i64.ts b/src/glue/wasm/i64.ts index a209e77c6c..319fe659de 100644 --- a/src/glue/wasm/i64.ts +++ b/src/glue/wasm/i64.ts @@ -47,6 +47,21 @@ function i64_mul(left: i64, right: i64): i64 { return left * right; } +// @ts-ignore: decorator +@global +function i64_pow(left: i64, right: i64): i64 { + if (right <= 0) return i64(right == 0); + if (right == 1) return left; + if (right == 2) return left * left; + var result: i64 = 1; + while (right) { + if (right & 1) result *= left; + right >>>= 1; + left *= left; + } + return result; +} + // @ts-ignore: decorator @global function i64_div(left: i64, right: i64): i64 { From d026f4a5a1cf85443279f7434c318d53a07a4d98 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 06:10:01 +0200 Subject: [PATCH 02/64] minor opts for i64_pow --- src/glue/js/i64.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/glue/js/i64.js b/src/glue/js/i64.js index b1b046cba1..4c6e48bfaa 100644 --- a/src/glue/js/i64.js +++ b/src/glue/js/i64.js @@ -34,19 +34,21 @@ global.i64_mul = function(left, right) { }; global.i64_pow = function(left, right) { - if (right.isNegative()) return Long.ZERO; - var rightLow = right.low; - if (!right.high) { - if (rightLow == 0) return Long.ONE; - if (rightLow == 1) return left; - if (rightLow == 2) return left.mul(left); + var rightHi = right.high; + if (rightHi < 0) return Long.ZERO; + var rightLo = right.low; + if (!rightHi) { + if (rightLo == 0) return Long.ONE; + if (rightLo == 1) return left; + if (rightLo == 2) return left.mul(left); } var result = Long.ONE; - while (rightLow | right.high) { - if (rightLow & 1) result = result.mul(left); + while (rightLo | rightHi) { + if (rightLo & 1) result = result.mul(left); right = right.shru(1); - left = left.mul(left); - rightLow = right.low; + left = left.mul(left); + rightLo = right.low; + rightHi = right.high; } return result; }; From 5f0b589266d4b17cc0fe6785c71b122850136ed3 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 20:10:01 +0200 Subject: [PATCH 03/64] add basic logic for compiler & refactor ipow --- src/common.ts | 2 + src/compiler.ts | 48 +- std/assembly/math.ts | 49 +- tests/compiler/std/math.ts | 43 +- tests/compiler/std/math.untouched.wat | 55937 ------------------------ 5 files changed, 63 insertions(+), 56016 deletions(-) diff --git a/src/common.ts b/src/common.ts index 48b1ddc2fe..3f8d02abcb 100644 --- a/src/common.ts +++ b/src/common.ts @@ -203,6 +203,8 @@ export namespace CommonNames { // runtime export const abort = "abort"; export const pow = "pow"; + export const ipow32 = "ipow32"; + export const ipow64 = "ipow64"; export const mod = "mod"; export const alloc = "__alloc"; export const realloc = "__realloc"; diff --git a/src/compiler.ts b/src/compiler.ts index 33c51601c6..247fdc6368 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -3687,6 +3687,8 @@ export class Compiler extends DiagnosticEmitter { private f64ModInstance: Function | null = null; private f32PowInstance: Function | null = null; private f64PowInstance: Function | null = null; + private i32PowInstance: Function | null = null; + private i64PowInstance: Function | null = null; private compileBinaryExpression( expression: BinaryExpression, @@ -4620,8 +4622,50 @@ export class Compiler extends DiagnosticEmitter { let targetType = leftType; let instance: Function | null; - // Mathf.pow if lhs is f32 (result is f32) - if (this.currentType.kind == TypeKind.F32) { + if ((this.currentType.kind == TypeKind.I32 || this.currentType.kind == TypeKind.U32)) { + let type = this.currentType.kind == TypeKind.I32 ? Type.i32 : Type.u32; + + rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + instance = this.i32PowInstance; + + if (!instance) { + let prototype = this.program.lookupGlobal(CommonNames.ipow64); + if (!prototype) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "ipow32" + ); + expr = module.unreachable(); + break; + } + assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); + this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null); + } + + } else if (this.currentType.kind == TypeKind.I64 || this.currentType.kind == TypeKind.U64) { + + let type = this.currentType.kind == TypeKind.I64 ? Type.i64 : Type.u64; + + rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + instance = this.i64PowInstance; + + if (!instance) { + let prototype = this.program.lookupGlobal(CommonNames.ipow64); + if (!prototype) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "ipow64" + ); + expr = module.unreachable(); + break; + } + assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); + this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null); + } + // Mathf.pow if lhs is f32 (result is f32) + } else if (this.currentType.kind == TypeKind.F32) { rightExpr = this.compileExpression(right, Type.f32, Constraints.CONV_IMPLICIT); rightType = this.currentType; instance = this.f32PowInstance; diff --git a/std/assembly/math.ts b/std/assembly/math.ts index 57986c45d7..d9a854c71e 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3004,13 +3004,9 @@ export namespace NativeMathf { export function ipow32(x: i32, e: i32): i32 { var out = 1; if (ASC_SHRINK_LEVEL < 1) { - if (e < 0) return 0; - - switch (e) { - case 0: return 1; - case 1: return x; - case 2: return x * x; - } + if (e <= 0) return i64(e == 0); + if (e == 1) return x; + if (e == 2) return x * x; let log = 32 - clz(e); if (log <= 5) { @@ -3053,17 +3049,14 @@ export function ipow32(x: i32, e: i32): i32 { return out; } -export function ipow64(x: i64, e: i32): i64 { +export function ipow64(x: i64, e: i64): i64 { var out: i64 = 1; if (ASC_SHRINK_LEVEL < 1) { - if (e < 0) return 0; - switch (e) { - case 0: return 1; - case 1: return x; - case 2: return x * x; - } + if (e <= 0) return i64(e == 0); + if (e == 1) return x; + if (e == 2) return x * x; - let log = 32 - clz(e); + let log = (64 - clz(e)); if (log <= 6) { // 64 = 2 ^ 6, so need only six cases. // But some extra cases needs for properly overflowing @@ -3107,28 +3100,4 @@ export function ipow64(x: i64, e: i32): i64 { x *= x; } return out; -} - -export function ipow32f(x: f32, e: i32): f32 { - var sign = e >> 31; - e = (e + sign) ^ sign; // abs(e) - var out: f32 = 1; - while (e) { - out *= select(x, 1.0, e & 1); - e >>= 1; - x *= x; - } - return sign ? 1.0 / out : out; -} - -export function ipow64f(x: f64, e: i32): f64 { - var sign = e >> 31; - e = (e + sign) ^ sign; // abs(e) - var out = 1.0; - while (e) { - out *= select(x, 1.0, e & 1); - e >>= 1; - x *= x; - } - return sign ? 1.0 / out : out; -} +} \ No newline at end of file diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 2ba0a2806a..14f1b9b8ee 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3927,40 +3927,9 @@ assert(ipow64(3, 128) == -9204772141784466943); // should overflow assert(ipow64(57055, 3) + ipow64(339590, 3) == 39347712995520375); // add Buterin's twit example -// ipow32f ///////////////////////////////////////////////////////////////////////////////////// - -assert(ipow32f(0, 0) == 1.0); -assert(ipow32f(NaN, 0) == 1.0); -assert(isNaN(ipow32f(NaN, 1))); -assert(isNaN(ipow32f(NaN, -1))); -assert(isNaN(ipow32f(NaN, 2))); -assert(ipow32f(Infinity, 0) == 1.0); -assert(ipow32f(Infinity, 1) == Infinity); -assert(ipow32f(-Infinity, 0) == 1.0); -assert(ipow32f(-Infinity, 1) == -Infinity); -assert(ipow32f(-Infinity, 2) == Infinity); -assert(ipow32f(1.0, 0) == 1.0); -assert(ipow32f(f32.MAX_VALUE, 2) == Infinity); -assert(ipow32f(f32.MIN_VALUE, 2) == 0.0); -assert(ipow32f(f32.MAX_VALUE, -1) == 2.938735877055719e-39); -assert(ipow32f(10.0, 36) == 1.0000000409184788e+36); -assert(ipow32f(10.0,-36) == 9.999999462560281e-37); - -// ipow64f ///////////////////////////////////////////////////////////////////////////////////// - -assert(ipow64f(0, 0) == 1.0); -assert(ipow64f(NaN, 0) == 1.0); -assert(isNaN(ipow64f(NaN, 1))); -assert(isNaN(ipow64f(NaN, -1))); -assert(isNaN(ipow64f(NaN, 2))); -assert(ipow64f(Infinity, 0) == 1.0); -assert(ipow64f(Infinity, 1) == Infinity); -assert(ipow64f(-Infinity, 0) == 1.0); -assert(ipow64f(-Infinity, 1) == -Infinity); -assert(ipow64f(-Infinity, 2) == Infinity); -assert(ipow64f(1.0, 0) == 1.0); -assert(ipow64f(f64.MAX_VALUE, 2) == Infinity); -assert(ipow64f(f64.MIN_VALUE, 2) == 0.0); -assert(ipow64f(f64.MAX_VALUE, -1) == 5.562684646268003e-309); -assert(ipow64f(10.0, 127) == 1.0000000000000002e+127); -assert(ipow64f(10.0,-127) == 9.999999999999998e-128); +// integer pow operators + +assert( 0 ** 0 == 1); +assert( 0 ** 1 == 0); +assert( 1 ** 3 == 1); +assert((-2) ** 3 == -8); diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index baa0a69ddd..e69de29bb2 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -1,55937 +0,0 @@ -(module - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $f32_f32_f32_i32_=>_i32 (func (param f32 f32 f32 i32) (result i32))) - (type $f64_f64_f64_i32_=>_i32 (func (param f64 f64 f64 i32) (result i32))) - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $f32_f32_f32_f32_i32_=>_i32 (func (param f32 f32 f32 f32 i32) (result i32))) - (type $f64_f64_f64_f64_i32_=>_i32 (func (param f64 f64 f64 f64 i32) (result i32))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $none_=>_none (func)) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) - (type $none_=>_f64 (func (result f64))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i64_=>_none (func (param i64))) - (type $f64_=>_none (func (param f64))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i64_i64_i64_i64_i64_i32_=>_i32 (func (param i64 i64 i64 i64 i64 i32) (result i32))) - (type $f32_=>_i32 (func (param f32) (result i32))) - (type $f32_i32_f32_f32_i32_=>_i32 (func (param f32 i32 f32 f32 i32) (result i32))) - (type $f64_i32_f64_f64_i32_=>_i32 (func (param f64 i32 f64 f64 i32) (result i32))) - (type $f64_i64_=>_i32 (func (param f64 i64) (result i32))) - (type $i64_=>_i64 (func (param i64) (result i64))) - (type $i64_i32_=>_i64 (func (param i64 i32) (result i64))) - (type $none_=>_f32 (func (result f32))) - (type $f32_f32_f32_=>_f32 (func (param f32 f32 f32) (result f32))) - (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) - (type $f64_f64_f64_=>_f64 (func (param f64 f64 f64) (result f64))) - (import "Math" "E" (global $~lib/bindings/Math/E f64)) - (import "Math" "LN2" (global $~lib/bindings/Math/LN2 f64)) - (import "Math" "LN10" (global $~lib/bindings/Math/LN10 f64)) - (import "Math" "LOG2E" (global $~lib/bindings/Math/LOG2E f64)) - (import "Math" "PI" (global $~lib/bindings/Math/PI f64)) - (import "Math" "SQRT1_2" (global $~lib/bindings/Math/SQRT1_2 f64)) - (import "Math" "SQRT2" (global $~lib/bindings/Math/SQRT2 f64)) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (import "Math" "abs" (func $~lib/bindings/Math/abs (param f64) (result f64))) - (import "Math" "acos" (func $~lib/bindings/Math/acos (param f64) (result f64))) - (import "Math" "acosh" (func $~lib/bindings/Math/acosh (param f64) (result f64))) - (import "Math" "asin" (func $~lib/bindings/Math/asin (param f64) (result f64))) - (import "Math" "asinh" (func $~lib/bindings/Math/asinh (param f64) (result f64))) - (import "Math" "atan" (func $~lib/bindings/Math/atan (param f64) (result f64))) - (import "Math" "atanh" (func $~lib/bindings/Math/atanh (param f64) (result f64))) - (import "Math" "atan2" (func $~lib/bindings/Math/atan2 (param f64 f64) (result f64))) - (import "Math" "cbrt" (func $~lib/bindings/Math/cbrt (param f64) (result f64))) - (import "Math" "ceil" (func $~lib/bindings/Math/ceil (param f64) (result f64))) - (import "Math" "cos" (func $~lib/bindings/Math/cos (param f64) (result f64))) - (import "Math" "cosh" (func $~lib/bindings/Math/cosh (param f64) (result f64))) - (import "Math" "exp" (func $~lib/bindings/Math/exp (param f64) (result f64))) - (import "Math" "expm1" (func $~lib/bindings/Math/expm1 (param f64) (result f64))) - (import "Math" "pow" (func $~lib/bindings/Math/pow (param f64 f64) (result f64))) - (import "Math" "floor" (func $~lib/bindings/Math/floor (param f64) (result f64))) - (import "Math" "log" (func $~lib/bindings/Math/log (param f64) (result f64))) - (import "Math" "log10" (func $~lib/bindings/Math/log10 (param f64) (result f64))) - (import "Math" "log1p" (func $~lib/bindings/Math/log1p (param f64) (result f64))) - (import "Math" "log2" (func $~lib/bindings/Math/log2 (param f64) (result f64))) - (import "Math" "max" (func $~lib/bindings/Math/max (param f64 f64) (result f64))) - (import "Math" "min" (func $~lib/bindings/Math/min (param f64 f64) (result f64))) - (import "math" "mod" (func $std/math/mod (param f64 f64) (result f64))) - (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) - (import "Math" "sign" (func $~lib/bindings/Math/sign (param f64) (result f64))) - (import "Math" "sin" (func $~lib/bindings/Math/sin (param f64) (result f64))) - (import "Math" "sinh" (func $~lib/bindings/Math/sinh (param f64) (result f64))) - (import "Math" "sqrt" (func $~lib/bindings/Math/sqrt (param f64) (result f64))) - (import "Math" "tan" (func $~lib/bindings/Math/tan (param f64) (result f64))) - (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) - (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) - (memory $0 1) - (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 64) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") - (data (i32.const 2128) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 4192) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\0d\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\0d\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") - (data (i32.const 4464) "\c0\00\00\00\01\00\00\00\04\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 4672) " \00\00\00\01\00\00\00\04\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (data (i32.const 4720) "\00\08\00\00\01\00\00\00\04\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6784) "\00\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 7056) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 8096) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") - (data (i32.const 9136) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 9408) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8 (; 35 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - local.get $0 - local.get $1 - f64.eq - if - i32.const 1 - return - end - local.get $1 - local.get $1 - f64.ne - if - local.get $0 - local.get $0 - f64.ne - return - end - local.get $0 - local.get $1 - local.get $2 - call $std/math/ulperr - local.set $4 - local.get $4 - f64.abs - f64.const 1.5 - f64.ge - if - i32.const 0 - return - end - i32.const 1 - ) - (func $std/math/eulpf (; 36 ;) (param $0 f32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $2 - local.get $2 - i32.eqz - if - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $2 - i32.const 127 - i32.sub - i32.const 23 - i32.sub - ) - (func $~lib/math/NativeMathf.scalbn (; 37 ;) (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 $std/math/ulperrf (; 38 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) - (local $3 f32) - local.get $0 - local.get $0 - f32.ne - if (result i32) - local.get $1 - local.get $1 - f32.ne - else - i32.const 0 - end - if - f32.const 0 - return - end - local.get $0 - local.get $1 - f32.eq - if - local.get $0 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - local.get $1 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $3 - local.get $3 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.eq - if - local.get $2 - return - end - f32.const inf - return - end - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.eq - i32.eqz - if - f32.const 1701411834604692317316873e14 - local.get $0 - f32.copysign - local.set $0 - local.get $1 - f32.const 0.5 - f32.mul - local.set $1 - end - local.get $0 - local.get $1 - f32.sub - i32.const 0 - local.get $1 - call $std/math/eulpf - i32.sub - call $~lib/math/NativeMathf.scalbn - local.get $2 - f32.add - ) - (func $std/math/check (; 39 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - local.get $0 - local.get $1 - f32.eq - if - i32.const 1 - return - end - local.get $1 - local.get $1 - f32.ne - if - local.get $0 - local.get $0 - f32.ne - return - end - local.get $0 - local.get $1 - local.get $2 - call $std/math/ulperrf - local.set $4 - local.get $4 - f32.abs - f32.const 1.5 - f32.ge - if - i32.const 0 - return - end - i32.const 1 - ) - (func $std/math/test_scalbn (; 40 ;) (param $0 f64) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.scalbn - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $std/math/test_scalbnf (; 41 ;) (param $0 f32) (param $1 i32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.scalbn - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $std/math/test_abs (; 42 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - local.get $0 - local.set $4 - local.get $4 - f64.abs - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/abs - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_absf (; 43 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - local.get $0 - local.set $4 - local.get $4 - f32.abs - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/R (; 44 ;) (param $0 f64) (result f64) - (local $1 f64) - (local $2 f64) - local.get $0 - f64.const 0.16666666666666666 - local.get $0 - f64.const -0.3255658186224009 - local.get $0 - f64.const 0.20121253213486293 - local.get $0 - f64.const -0.04005553450067941 - local.get $0 - f64.const 7.915349942898145e-04 - local.get $0 - f64.const 3.479331075960212e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $1 - f64.const 1 - local.get $0 - f64.const -2.403394911734414 - local.get $0 - f64.const 2.0209457602335057 - local.get $0 - f64.const -0.6882839716054533 - local.get $0 - f64.const 0.07703815055590194 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $2 - local.get $1 - local.get $2 - f64.div - ) - (func $~lib/math/NativeMath.acos (; 45 ;) (param $0 f64) (result f64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072693248 - i32.ge_u - if - local.get $0 - i64.reinterpret_f64 - i32.wrap_i64 - local.set $3 - local.get $2 - i32.const 1072693248 - i32.sub - local.get $3 - i32.or - i32.const 0 - i32.eq - if - local.get $1 - i32.const 31 - i32.shr_u - if - f64.const 2 - f64.const 1.5707963267948966 - f64.mul - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - return - end - f64.const 0 - return - end - f64.const 0 - local.get $0 - local.get $0 - f64.sub - f64.div - return - end - local.get $2 - i32.const 1071644672 - i32.lt_u - if - local.get $2 - i32.const 1012924416 - i32.le_u - if - f64.const 1.5707963267948966 - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - return - end - f64.const 1.5707963267948966 - local.get $0 - f64.const 6.123233995736766e-17 - local.get $0 - local.get $0 - local.get $0 - f64.mul - call $~lib/math/R - f64.mul - f64.sub - f64.sub - f64.sub - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - f64.const 0.5 - local.get $0 - f64.const 0.5 - f64.mul - f64.add - local.set $6 - local.get $6 - f64.sqrt - local.set $4 - local.get $6 - call $~lib/math/R - local.get $4 - f64.mul - f64.const 6.123233995736766e-17 - f64.sub - local.set $5 - f64.const 2 - f64.const 1.5707963267948966 - local.get $4 - local.get $5 - f64.add - f64.sub - f64.mul - return - end - f64.const 0.5 - local.get $0 - f64.const 0.5 - f64.mul - f64.sub - local.set $6 - local.get $6 - f64.sqrt - local.set $4 - local.get $4 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $7 - local.get $6 - local.get $7 - local.get $7 - f64.mul - f64.sub - local.get $4 - local.get $7 - f64.add - f64.div - local.set $8 - local.get $6 - call $~lib/math/R - local.get $4 - f64.mul - local.get $8 - f64.add - local.set $5 - f64.const 2 - local.get $7 - local.get $5 - f64.add - f64.mul - ) - (func $std/math/test_acos (; 46 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.acos - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/acos - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/Rf (; 47 ;) (param $0 f32) (result f32) - (local $1 f32) - (local $2 f32) - local.get $0 - f32.const 0.16666586697101593 - local.get $0 - f32.const -0.04274342209100723 - local.get $0 - f32.const -0.008656363002955914 - f32.mul - f32.add - f32.mul - f32.add - f32.mul - local.set $1 - f32.const 1 - local.get $0 - f32.const -0.7066296339035034 - f32.mul - f32.add - local.set $2 - local.get $1 - local.get $2 - f32.div - ) - (func $~lib/math/NativeMathf.acos (; 48 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 f32) - (local $5 f32) - (local $6 f32) - (local $7 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1065353216 - i32.ge_u - if - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $1 - i32.const 31 - i32.shr_u - if - f32.const 2 - f32.const 1.570796251296997 - f32.mul - f32.const 7.52316384526264e-37 - f32.add - return - end - f32.const 0 - return - end - f32.const 0 - local.get $0 - local.get $0 - f32.sub - f32.div - return - end - local.get $2 - i32.const 1056964608 - i32.lt_u - if - local.get $2 - i32.const 847249408 - i32.le_u - if - f32.const 1.570796251296997 - f32.const 7.52316384526264e-37 - f32.add - return - end - f32.const 1.570796251296997 - local.get $0 - f32.const 7.549789415861596e-08 - local.get $0 - local.get $0 - local.get $0 - f32.mul - call $~lib/math/Rf - f32.mul - f32.sub - f32.sub - f32.sub - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - f32.const 0.5 - local.get $0 - f32.const 0.5 - f32.mul - f32.add - local.set $3 - local.get $3 - f32.sqrt - local.set $5 - local.get $3 - call $~lib/math/Rf - local.get $5 - f32.mul - f32.const 7.549789415861596e-08 - f32.sub - local.set $4 - f32.const 2 - f32.const 1.570796251296997 - local.get $5 - local.get $4 - f32.add - f32.sub - f32.mul - return - end - f32.const 0.5 - local.get $0 - f32.const 0.5 - f32.mul - f32.sub - local.set $3 - local.get $3 - f32.sqrt - local.set $5 - local.get $5 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const -4096 - i32.and - f32.reinterpret_i32 - local.set $6 - local.get $3 - local.get $6 - local.get $6 - f32.mul - f32.sub - local.get $5 - local.get $6 - f32.add - f32.div - local.set $7 - local.get $3 - call $~lib/math/Rf - local.get $5 - f32.mul - local.get $7 - f32.add - local.set $4 - f32.const 2 - local.get $6 - local.get $4 - f32.add - f32.mul - ) - (func $std/math/test_acosf (; 49 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.acos - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.log1p (; 50 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - i32.const 1 - local.set $3 - f64.const 0 - local.set $4 - f64.const 0 - local.set $5 - local.get $2 - i32.const 1071284858 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 31 - i32.shr_u - end - if - local.get $2 - i32.const -1074790400 - i32.ge_u - if - local.get $0 - f64.const -1 - f64.eq - if - local.get $0 - f64.const 0 - f64.div - return - end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - local.get $2 - i32.const 1 - i32.shl - i32.const 2034237440 - i32.lt_u - if - local.get $0 - return - end - local.get $2 - i32.const -1076707644 - i32.le_u - if - i32.const 0 - local.set $3 - f64.const 0 - local.set $4 - local.get $0 - local.set $5 - end - else - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - end - end - local.get $3 - if - f64.const 1 - local.get $0 - f64.add - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $6 - local.get $6 - i32.const 1072693248 - i32.const 1072079006 - i32.sub - i32.add - local.set $6 - local.get $6 - i32.const 20 - i32.shr_u - i32.const 1023 - i32.sub - local.set $3 - local.get $3 - i32.const 54 - i32.lt_s - if - local.get $1 - f64.reinterpret_i64 - local.set $7 - local.get $3 - i32.const 2 - i32.ge_s - if (result f64) - f64.const 1 - local.get $7 - local.get $0 - f64.sub - f64.sub - else - local.get $0 - local.get $7 - f64.const 1 - f64.sub - f64.sub - end - local.set $4 - local.get $4 - local.get $7 - f64.div - local.set $4 - else - f64.const 0 - local.set $4 - end - local.get $6 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - local.set $6 - local.get $6 - i64.extend_i32_u - i64.const 32 - i64.shl - local.get $1 - i64.const 4294967295 - i64.and - i64.or - local.set $1 - local.get $1 - f64.reinterpret_i64 - f64.const 1 - f64.sub - local.set $5 - end - f64.const 0.5 - local.get $5 - f64.mul - local.get $5 - f64.mul - local.set $8 - local.get $5 - f64.const 2 - local.get $5 - f64.add - f64.div - local.set $9 - local.get $9 - local.get $9 - f64.mul - local.set $10 - local.get $10 - local.get $10 - f64.mul - local.set $11 - local.get $11 - f64.const 0.3999999999940942 - local.get $11 - f64.const 0.22222198432149784 - local.get $11 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $12 - local.get $10 - f64.const 0.6666666666666735 - local.get $11 - f64.const 0.2857142874366239 - local.get $11 - f64.const 0.1818357216161805 - local.get $11 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $13 - local.get $13 - local.get $12 - f64.add - local.set $14 - local.get $3 - f64.convert_i32_s - local.set $15 - local.get $9 - local.get $8 - local.get $14 - f64.add - f64.mul - local.get $15 - f64.const 1.9082149292705877e-10 - f64.mul - local.get $4 - f64.add - f64.add - local.get $8 - f64.sub - local.get $5 - f64.add - local.get $15 - f64.const 0.6931471803691238 - f64.mul - f64.add - ) - (func $~lib/math/NativeMath.log (; 51 ;) (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i64) - (local $16 i64) - (local $17 f64) - (local $18 f64) - block $~lib/util/math/log_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 4606619468846596096 - i64.sub - i64.const 854320534781952 - i64.lt_u - if - local.get $1 - f64.const 1 - f64.sub - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $3 - f64.mul - local.set $5 - local.get $5 - f64.const 0.3333333333333352 - local.get $3 - f64.const -0.24999999999998432 - f64.mul - f64.add - local.get $4 - f64.const 0.19999999999320328 - f64.mul - f64.add - local.get $5 - f64.const -0.16666666669929706 - local.get $3 - f64.const 0.14285715076560868 - f64.mul - f64.add - local.get $4 - f64.const -0.12499997863982555 - f64.mul - f64.add - local.get $5 - f64.const 0.11110712032936046 - local.get $3 - f64.const -0.10000486757818193 - f64.mul - f64.add - local.get $4 - f64.const 0.09181994006195467 - f64.mul - f64.add - local.get $5 - f64.const -0.08328363062289341 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $6 - local.get $3 - f64.const 134217728 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.add - local.get $7 - f64.sub - local.set $8 - local.get $3 - local.get $8 - f64.sub - local.set $9 - local.get $8 - local.get $8 - f64.mul - f64.const -0.5 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.add - local.set $10 - local.get $3 - local.get $10 - f64.sub - local.get $7 - f64.add - local.set $11 - local.get $11 - f64.const -0.5 - local.get $9 - f64.mul - local.get $8 - local.get $3 - f64.add - f64.mul - f64.add - local.set $11 - local.get $6 - local.get $11 - f64.add - local.get $10 - f64.add - br $~lib/util/math/log_lut|inlined.0 - end - local.get $2 - i64.const 48 - i64.shr_u - i32.wrap_i64 - local.set $12 - local.get $12 - i32.const 16 - i32.sub - i32.const 32736 - i32.ge_u - if - local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $1 - local.get $1 - f64.mul - f64.div - br $~lib/util/math/log_lut|inlined.0 - end - local.get $2 - i64.const 9218868437227405312 - i64.eq - if - local.get $1 - br $~lib/util/math/log_lut|inlined.0 - end - local.get $12 - i32.const 32768 - i32.and - if (result i32) - i32.const 1 - else - local.get $12 - i32.const 32752 - i32.and - i32.const 32752 - i32.eq - end - if - local.get $1 - local.get $1 - f64.sub - local.get $1 - local.get $1 - f64.sub - f64.div - br $~lib/util/math/log_lut|inlined.0 - end - local.get $1 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $2 - end - local.get $2 - i64.const 4604367669032910848 - i64.sub - local.set $13 - local.get $13 - i64.const 52 - i64.const 7 - i64.sub - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - local.set $14 - local.get $13 - i64.const 52 - i64.shr_s - local.set $15 - local.get $2 - local.get $13 - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $16 - i32.const 80 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $11 - i32.const 80 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $10 - local.get $16 - f64.reinterpret_i64 - local.set $9 - i32.const 2144 - local.get $14 - i32.const 4 - i32.shl - i32.add - f64.load - local.set $8 - i32.const 2144 - local.get $14 - i32.const 4 - i32.shl - i32.add - f64.load offset=8 - local.set $7 - local.get $9 - local.get $8 - f64.sub - local.get $7 - f64.sub - local.get $11 - f64.mul - local.set $6 - local.get $15 - f64.convert_i64_s - local.set $5 - local.get $5 - f64.const 0.6931471805598903 - f64.mul - local.get $10 - f64.add - local.set $4 - local.get $4 - local.get $6 - f64.add - local.set $3 - local.get $4 - local.get $3 - f64.sub - local.get $6 - f64.add - local.get $5 - f64.const 5.497923018708371e-14 - f64.mul - f64.add - local.set $17 - local.get $6 - local.get $6 - f64.mul - local.set $18 - local.get $17 - local.get $18 - f64.const -0.5000000000000001 - f64.mul - f64.add - local.get $6 - local.get $18 - f64.mul - f64.const 0.33333333331825593 - local.get $6 - f64.const -0.2499999999622955 - f64.mul - f64.add - local.get $18 - f64.const 0.20000304511814496 - local.get $6 - f64.const -0.16667054827627667 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - f64.add - end - return - ) - (func $~lib/math/NativeMath.acosh (; 52 ;) (param $0 f64) (result f64) - (local $1 i64) - local.get $0 - i64.reinterpret_f64 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $1 - local.get $1 - i64.const 1024 - i64.lt_u - if - local.get $0 - f64.const 1 - f64.sub - local.get $0 - f64.const 1 - f64.sub - local.get $0 - f64.const 1 - f64.sub - f64.mul - f64.const 2 - local.get $0 - f64.const 1 - f64.sub - f64.mul - f64.add - f64.sqrt - f64.add - call $~lib/math/NativeMath.log1p - return - end - local.get $1 - i64.const 1049 - i64.lt_u - if - f64.const 2 - local.get $0 - f64.mul - f64.const 1 - local.get $0 - local.get $0 - local.get $0 - f64.mul - f64.const 1 - f64.sub - f64.sqrt - f64.add - f64.div - f64.sub - call $~lib/math/NativeMath.log - return - end - local.get $0 - call $~lib/math/NativeMath.log - f64.const 0.6931471805599453 - f64.add - ) - (func $std/math/test_acosh (; 53 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.acosh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/acosh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.log1p (; 54 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 f32) - (local $8 f32) - (local $9 f32) - (local $10 f32) - (local $11 f32) - (local $12 f32) - (local $13 f32) - (local $14 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - f32.const 0 - local.set $2 - f32.const 0 - local.set $3 - i32.const 1 - local.set $4 - local.get $1 - i32.const 1054086096 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i32.const -1082130432 - i32.ge_u - if - local.get $0 - f32.const -1 - f32.eq - if - local.get $0 - f32.const 0 - f32.div - return - end - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - local.get $1 - i32.const 1 - i32.shl - i32.const 1728053248 - i32.lt_u - if - local.get $0 - return - end - local.get $1 - i32.const -1097468391 - i32.le_u - if - i32.const 0 - local.set $4 - f32.const 0 - local.set $2 - local.get $0 - local.set $3 - end - else - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - end - end - local.get $4 - if - f32.const 1 - local.get $0 - f32.add - local.set $5 - local.get $5 - i32.reinterpret_f32 - local.set $6 - local.get $6 - i32.const 1065353216 - i32.const 1060439283 - i32.sub - i32.add - local.set $6 - local.get $6 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - local.set $4 - local.get $4 - i32.const 25 - i32.lt_s - if - local.get $4 - i32.const 2 - i32.ge_s - if (result f32) - f32.const 1 - local.get $5 - local.get $0 - f32.sub - f32.sub - else - local.get $0 - local.get $5 - f32.const 1 - f32.sub - f32.sub - end - local.set $2 - local.get $2 - local.get $5 - f32.div - local.set $2 - else - f32.const 0 - local.set $2 - end - local.get $6 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - local.set $6 - local.get $6 - f32.reinterpret_i32 - f32.const 1 - f32.sub - local.set $3 - end - local.get $3 - f32.const 2 - local.get $3 - f32.add - f32.div - local.set $7 - local.get $7 - local.get $7 - f32.mul - local.set $8 - local.get $8 - local.get $8 - f32.mul - local.set $9 - local.get $9 - f32.const 0.40000972151756287 - local.get $9 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - local.set $10 - local.get $8 - f32.const 0.6666666269302368 - local.get $9 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.set $11 - local.get $11 - local.get $10 - f32.add - local.set $12 - f32.const 0.5 - local.get $3 - f32.mul - local.get $3 - f32.mul - local.set $13 - local.get $4 - f32.convert_i32_s - local.set $14 - local.get $7 - local.get $13 - local.get $12 - f32.add - f32.mul - local.get $14 - f32.const 9.05800061445916e-06 - f32.mul - local.get $2 - f32.add - f32.add - local.get $13 - f32.sub - local.get $3 - f32.add - local.get $14 - f32.const 0.6931381225585938 - f32.mul - f32.add - ) - (func $~lib/math/NativeMathf.log (; 55 ;) (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - block $~lib/util/math/logf_lut|inlined.0 (result f32) - local.get $0 - local.set $1 - local.get $1 - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 8388608 - i32.sub - i32.const 2130706432 - i32.ge_u - if - local.get $2 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if - f32.const inf - f32.neg - br $~lib/util/math/logf_lut|inlined.0 - end - local.get $2 - i32.const 2139095040 - i32.eq - if - local.get $1 - br $~lib/util/math/logf_lut|inlined.0 - end - local.get $2 - i32.const 31 - i32.shr_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 1 - i32.shl - i32.const -16777216 - i32.ge_u - end - if - local.get $1 - local.get $1 - f32.sub - local.get $1 - local.get $1 - f32.sub - f32.div - br $~lib/util/math/logf_lut|inlined.0 - end - local.get $1 - f32.const 8388608 - f32.mul - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 23 - i32.const 23 - i32.shl - i32.sub - local.set $2 - end - local.get $2 - i32.const 1060306944 - i32.sub - local.set $3 - local.get $3 - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $4 - local.get $3 - i32.const 23 - i32.shr_s - local.set $5 - local.get $2 - local.get $3 - i32.const 511 - i32.const 23 - i32.shl - i32.and - i32.sub - local.set $6 - i32.const 4208 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $7 - i32.const 4208 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $8 - local.get $6 - f32.reinterpret_i32 - f64.promote_f32 - local.set $9 - local.get $9 - local.get $7 - f64.mul - f64.const 1 - f64.sub - local.set $10 - local.get $8 - local.get $5 - f64.convert_i32_s - f64.const 0.6931471805599453 - f64.mul - f64.add - local.set $11 - local.get $10 - local.get $10 - f64.mul - local.set $12 - f64.const 0.333456765744066 - local.get $10 - f64.mul - f64.const -0.4999997485802103 - f64.add - local.set $13 - local.get $13 - f64.const -0.25089342214237154 - local.get $12 - f64.mul - f64.add - local.set $13 - local.get $13 - local.get $12 - f64.mul - local.get $11 - local.get $10 - f64.add - f64.add - local.set $13 - local.get $13 - f32.demote_f64 - end - return - ) - (func $~lib/math/NativeMathf.acosh (; 56 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1073741824 - i32.lt_u - if - local.get $0 - f32.const 1 - f32.sub - local.set $3 - local.get $3 - local.get $3 - local.get $3 - f32.const 2 - f32.add - f32.mul - f32.sqrt - f32.add - call $~lib/math/NativeMathf.log1p - return - end - local.get $2 - i32.const 1166016512 - i32.lt_u - if - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - local.get $0 - local.get $0 - local.get $0 - f32.mul - f32.const 1 - f32.sub - f32.sqrt - f32.add - f32.div - f32.sub - call $~lib/math/NativeMathf.log - return - end - local.get $0 - call $~lib/math/NativeMathf.log - f32.const 0.6931471824645996 - f32.add - ) - (func $std/math/test_acoshf (; 57 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.acosh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.asin (; 58 ;) (param $0 f64) (result f64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072693248 - i32.ge_u - if - local.get $0 - i64.reinterpret_f64 - i32.wrap_i64 - local.set $3 - local.get $2 - i32.const 1072693248 - i32.sub - local.get $3 - i32.or - i32.const 0 - i32.eq - if - local.get $0 - f64.const 1.5707963267948966 - f64.mul - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - return - end - f64.const 0 - local.get $0 - local.get $0 - f64.sub - f64.div - return - end - local.get $2 - i32.const 1071644672 - i32.lt_u - if - local.get $2 - i32.const 1045430272 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1048576 - i32.ge_u - else - i32.const 0 - end - if - local.get $0 - return - end - local.get $0 - local.get $0 - local.get $0 - local.get $0 - f64.mul - call $~lib/math/R - f64.mul - f64.add - return - end - f64.const 0.5 - local.get $0 - f64.abs - f64.const 0.5 - f64.mul - f64.sub - local.set $4 - local.get $4 - f64.sqrt - local.set $5 - local.get $4 - call $~lib/math/R - local.set $6 - local.get $2 - i32.const 1072640819 - i32.ge_u - if - f64.const 1.5707963267948966 - f64.const 2 - local.get $5 - local.get $5 - local.get $6 - f64.mul - f64.add - f64.mul - f64.const 6.123233995736766e-17 - f64.sub - f64.sub - local.set $0 - else - local.get $5 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $7 - local.get $4 - local.get $7 - local.get $7 - f64.mul - f64.sub - local.get $5 - local.get $7 - f64.add - f64.div - local.set $8 - f64.const 0.5 - f64.const 1.5707963267948966 - f64.mul - f64.const 2 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.const 6.123233995736766e-17 - f64.const 2 - local.get $8 - f64.mul - f64.sub - f64.sub - f64.const 0.5 - f64.const 1.5707963267948966 - f64.mul - f64.const 2 - local.get $7 - f64.mul - f64.sub - f64.sub - f64.sub - local.set $0 - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - f64.neg - return - end - local.get $0 - ) - (func $std/math/test_asin (; 59 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.asin - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/asin - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.asin (; 60 ;) (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 f32) - (local $4 f64) - local.get $0 - local.set $1 - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1065353216 - i32.ge_u - if - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $0 - f32.const 1.5707963705062866 - f32.mul - f32.const 7.52316384526264e-37 - f32.add - return - end - f32.const 0 - local.get $0 - local.get $0 - f32.sub - f32.div - return - end - local.get $2 - i32.const 1056964608 - i32.lt_u - if - local.get $2 - i32.const 964689920 - i32.lt_u - if (result i32) - local.get $2 - i32.const 8388608 - i32.ge_u - else - i32.const 0 - end - if - local.get $0 - return - end - local.get $0 - local.get $0 - local.get $0 - local.get $0 - f32.mul - call $~lib/math/Rf - f32.mul - f32.add - return - end - f32.const 0.5 - local.get $0 - f32.abs - f32.const 0.5 - f32.mul - f32.sub - local.set $3 - local.get $3 - f64.promote_f32 - f64.sqrt - local.set $4 - f32.const 1.5707963705062866 - f64.promote_f32 - f32.const 2 - f64.promote_f32 - local.get $4 - local.get $4 - local.get $3 - call $~lib/math/Rf - f64.promote_f32 - f64.mul - f64.add - f64.mul - f64.sub - f32.demote_f64 - local.set $0 - local.get $0 - local.get $1 - f32.copysign - ) - (func $std/math/test_asinf (; 61 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.asin - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.asinh (; 62 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i64) - (local $3 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $2 - local.get $1 - i64.const 9223372036854775807 - i64.and - f64.reinterpret_i64 - local.set $3 - local.get $2 - i64.const 1049 - i64.ge_u - if - local.get $3 - call $~lib/math/NativeMath.log - f64.const 0.6931471805599453 - f64.add - local.set $3 - else - local.get $2 - i64.const 1024 - i64.ge_u - if - f64.const 2 - local.get $3 - f64.mul - f64.const 1 - local.get $3 - local.get $3 - f64.mul - f64.const 1 - f64.add - f64.sqrt - local.get $3 - f64.add - f64.div - f64.add - call $~lib/math/NativeMath.log - local.set $3 - else - local.get $2 - i64.const 997 - i64.ge_u - if - local.get $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - local.get $3 - f64.mul - f64.const 1 - f64.add - f64.sqrt - f64.const 1 - f64.add - f64.div - f64.add - call $~lib/math/NativeMath.log1p - local.set $3 - end - end - end - local.get $3 - local.get $0 - f64.copysign - ) - (func $std/math/test_asinh (; 63 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.asinh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/asinh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.asinh (; 64 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $2 - local.get $1 - i32.const 1166016512 - i32.ge_u - if - local.get $2 - call $~lib/math/NativeMathf.log - f32.const 0.6931471824645996 - f32.add - local.set $2 - else - local.get $1 - i32.const 1073741824 - i32.ge_u - if - f32.const 2 - local.get $2 - f32.mul - f32.const 1 - local.get $2 - local.get $2 - f32.mul - f32.const 1 - f32.add - f32.sqrt - local.get $2 - f32.add - f32.div - f32.add - call $~lib/math/NativeMathf.log - local.set $2 - else - local.get $1 - i32.const 964689920 - i32.ge_u - if - local.get $2 - local.get $2 - local.get $2 - f32.mul - local.get $2 - local.get $2 - f32.mul - f32.const 1 - f32.add - f32.sqrt - f32.const 1 - f32.add - f32.div - f32.add - call $~lib/math/NativeMathf.log1p - local.set $2 - end - end - end - local.get $2 - local.get $0 - f32.copysign - ) - (func $std/math/test_asinhf (; 65 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.asinh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.atan (; 66 ;) (param $0 f64) (result f64) - (local $1 i32) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 i32) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - local.get $0 - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1141899264 - i32.ge_u - if - local.get $0 - local.get $0 - f64.ne - if - local.get $0 - return - end - f64.const 1.5707963267948966 - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - local.set $3 - local.get $3 - local.get $2 - f64.copysign - return - end - local.get $1 - i32.const 1071382528 - i32.lt_u - if - local.get $1 - i32.const 1044381696 - i32.lt_u - if - local.get $0 - return - end - i32.const -1 - local.set $4 - else - local.get $0 - f64.abs - local.set $0 - local.get $1 - i32.const 1072889856 - i32.lt_u - if - local.get $1 - i32.const 1072037888 - i32.lt_u - if - i32.const 0 - local.set $4 - f64.const 2 - local.get $0 - f64.mul - f64.const 1 - f64.sub - f64.const 2 - local.get $0 - f64.add - f64.div - local.set $0 - else - i32.const 1 - local.set $4 - local.get $0 - f64.const 1 - f64.sub - local.get $0 - f64.const 1 - f64.add - f64.div - local.set $0 - end - else - local.get $1 - i32.const 1073971200 - i32.lt_u - if - i32.const 2 - local.set $4 - local.get $0 - f64.const 1.5 - f64.sub - f64.const 1 - f64.const 1.5 - local.get $0 - f64.mul - f64.add - f64.div - local.set $0 - else - i32.const 3 - local.set $4 - f64.const -1 - local.get $0 - f64.div - local.set $0 - end - end - end - local.get $0 - local.get $0 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $5 - local.get $3 - f64.const 0.3333333333333293 - local.get $5 - f64.const 0.14285714272503466 - local.get $5 - f64.const 0.09090887133436507 - local.get $5 - f64.const 0.06661073137387531 - local.get $5 - f64.const 0.049768779946159324 - local.get $5 - f64.const 0.016285820115365782 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $6 - local.get $5 - f64.const -0.19999999999876483 - local.get $5 - f64.const -0.11111110405462356 - local.get $5 - f64.const -0.0769187620504483 - local.get $5 - f64.const -0.058335701337905735 - local.get $5 - f64.const -0.036531572744216916 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $7 - local.get $0 - local.get $6 - local.get $7 - f64.add - f64.mul - local.set $8 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $8 - f64.sub - return - end - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $4 - local.set $9 - local.get $9 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $9 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $9 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $9 - i32.const 3 - i32.eq - br_if $case3|0 - br $case4|0 - end - f64.const 0.4636476090008061 - local.get $8 - f64.const 2.2698777452961687e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - f64.const 0.7853981633974483 - local.get $8 - f64.const 3.061616997868383e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - f64.const 0.982793723247329 - local.get $8 - f64.const 1.3903311031230998e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - f64.const 1.5707963267948966 - local.get $8 - f64.const 6.123233995736766e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - unreachable - end - local.get $3 - local.get $2 - f64.copysign - ) - (func $std/math/test_atan (; 67 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.atan - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/atan - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.atan (; 68 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 i32) - (local $5 f32) - (local $6 f32) - (local $7 f32) - (local $8 f32) - (local $9 i32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $0 - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1283457024 - i32.ge_u - if - local.get $0 - local.get $0 - f32.ne - if - local.get $0 - return - end - f32.const 1.570796251296997 - f32.const 7.52316384526264e-37 - f32.add - local.set $3 - local.get $3 - local.get $2 - f32.copysign - return - end - local.get $1 - i32.const 1054867456 - i32.lt_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - i32.const -1 - local.set $4 - else - local.get $0 - f32.abs - local.set $0 - local.get $1 - i32.const 1066926080 - i32.lt_u - if - local.get $1 - i32.const 1060110336 - i32.lt_u - if - i32.const 0 - local.set $4 - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - f32.sub - f32.const 2 - local.get $0 - f32.add - f32.div - local.set $0 - else - i32.const 1 - local.set $4 - local.get $0 - f32.const 1 - f32.sub - local.get $0 - f32.const 1 - f32.add - f32.div - local.set $0 - end - else - local.get $1 - i32.const 1075576832 - i32.lt_u - if - i32.const 2 - local.set $4 - local.get $0 - f32.const 1.5 - f32.sub - f32.const 1 - f32.const 1.5 - local.get $0 - f32.mul - f32.add - f32.div - local.set $0 - else - i32.const 3 - local.set $4 - f32.const -1 - local.get $0 - f32.div - local.set $0 - end - end - end - local.get $0 - local.get $0 - f32.mul - local.set $3 - local.get $3 - local.get $3 - f32.mul - local.set $5 - local.get $3 - f32.const 0.333333283662796 - local.get $5 - f32.const 0.14253635704517365 - local.get $5 - f32.const 0.06168760731816292 - f32.mul - f32.add - f32.mul - f32.add - f32.mul - local.set $6 - local.get $5 - f32.const -0.19999158382415771 - local.get $5 - f32.const -0.106480173766613 - f32.mul - f32.add - f32.mul - local.set $7 - local.get $0 - local.get $6 - local.get $7 - f32.add - f32.mul - local.set $8 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $8 - f32.sub - return - end - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $4 - local.set $9 - local.get $9 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $9 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $9 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $9 - i32.const 3 - i32.eq - br_if $case3|0 - br $case4|0 - end - f32.const 0.46364760398864746 - local.get $8 - f32.const 5.01215824399992e-09 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - f32.const 0.7853981256484985 - local.get $8 - f32.const 3.774894707930798e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - f32.const 0.9827936887741089 - local.get $8 - f32.const 3.447321716976148e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - f32.const 1.570796251296997 - local.get $8 - f32.const 7.549789415861596e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - unreachable - end - local.get $3 - local.get $2 - f32.copysign - ) - (func $std/math/test_atanf (; 69 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.atan - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.atanh (; 70 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i64) - (local $3 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $2 - local.get $0 - f64.abs - local.set $3 - local.get $2 - i64.const 1022 - i64.lt_u - if - local.get $2 - i64.const 991 - i64.ge_u - if - f64.const 0.5 - f64.const 2 - local.get $3 - f64.mul - f64.const 2 - local.get $3 - f64.mul - local.get $3 - f64.mul - f64.const 1 - local.get $3 - f64.sub - f64.div - f64.add - call $~lib/math/NativeMath.log1p - f64.mul - local.set $3 - end - else - f64.const 0.5 - f64.const 2 - local.get $3 - f64.const 1 - local.get $3 - f64.sub - f64.div - f64.mul - call $~lib/math/NativeMath.log1p - f64.mul - local.set $3 - end - local.get $3 - local.get $0 - f64.copysign - ) - (func $std/math/test_atanh (; 71 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.atanh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/atanh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.atanh (; 72 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $0 - f32.abs - local.set $2 - local.get $1 - i32.const 1056964608 - i32.lt_u - if - local.get $1 - i32.const 796917760 - i32.ge_u - if - f32.const 0.5 - f32.const 2 - local.get $2 - f32.mul - f32.const 1 - local.get $2 - f32.const 1 - local.get $2 - f32.sub - f32.div - f32.add - f32.mul - call $~lib/math/NativeMathf.log1p - f32.mul - local.set $2 - end - else - f32.const 0.5 - f32.const 2 - local.get $2 - f32.const 1 - local.get $2 - f32.sub - f32.div - f32.mul - call $~lib/math/NativeMathf.log1p - f32.mul - local.set $2 - end - local.get $2 - local.get $0 - f32.copysign - ) - (func $std/math/test_atanhf (; 73 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.atanh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.atan2 (; 74 ;) (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 f64) - (local $10 f64) - local.get $1 - local.get $1 - f64.ne - if (result i32) - i32.const 1 - else - local.get $0 - local.get $0 - f64.ne - end - if - local.get $1 - local.get $0 - f64.add - return - end - local.get $1 - 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 $0 - 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 1072693248 - i32.sub - local.get $4 - i32.or - i32.const 0 - i32.eq - if - local.get $0 - call $~lib/math/NativeMath.atan - return - end - local.get $5 - i32.const 31 - i32.shr_u - i32.const 1 - i32.and - local.get $3 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and - i32.or - local.set $7 - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 - local.get $5 - i32.const 2147483647 - i32.and - local.set $5 - local.get $5 - local.get $6 - i32.or - i32.const 0 - i32.eq - if - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $7 - local.set $8 - local.get $8 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $8 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $8 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $8 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - end - local.get $0 - return - end - global.get $~lib/math/NativeMath.PI - return - end - global.get $~lib/math/NativeMath.PI - f64.neg - return - end - end - local.get $3 - local.get $4 - i32.or - i32.const 0 - i32.eq - if - local.get $7 - i32.const 1 - i32.and - if (result f64) - global.get $~lib/math/NativeMath.PI - f64.neg - f64.const 2 - f64.div - else - global.get $~lib/math/NativeMath.PI - f64.const 2 - f64.div - end - return - end - local.get $3 - i32.const 2146435072 - i32.eq - if - local.get $5 - i32.const 2146435072 - i32.eq - if - local.get $7 - i32.const 2 - i32.and - if (result f64) - i32.const 3 - f64.convert_i32_s - global.get $~lib/math/NativeMath.PI - f64.mul - f64.const 4 - f64.div - else - global.get $~lib/math/NativeMath.PI - f64.const 4 - f64.div - end - local.set $9 - local.get $7 - i32.const 1 - i32.and - if (result f64) - local.get $9 - f64.neg - else - local.get $9 - end - return - else - local.get $7 - i32.const 2 - i32.and - if (result f64) - global.get $~lib/math/NativeMath.PI - else - f64.const 0 - end - local.set $9 - local.get $7 - i32.const 1 - i32.and - if (result f64) - local.get $9 - f64.neg - else - local.get $9 - end - return - end - unreachable - end - local.get $3 - i32.const 67108864 - i32.add - local.get $5 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $5 - i32.const 2146435072 - i32.eq - end - if - local.get $7 - i32.const 1 - i32.and - if (result f64) - global.get $~lib/math/NativeMath.PI - f64.neg - f64.const 2 - f64.div - else - global.get $~lib/math/NativeMath.PI - f64.const 2 - f64.div - end - return - end - local.get $7 - i32.const 2 - i32.and - if (result i32) - local.get $5 - i32.const 67108864 - i32.add - local.get $3 - i32.lt_u - else - i32.const 0 - end - if - f64.const 0 - local.set $10 - else - local.get $0 - local.get $1 - f64.div - f64.abs - call $~lib/math/NativeMath.atan - local.set $10 - end - block $break|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $7 - local.set $8 - local.get $8 - i32.const 0 - i32.eq - br_if $case0|1 - local.get $8 - i32.const 1 - i32.eq - br_if $case1|1 - local.get $8 - i32.const 2 - i32.eq - br_if $case2|1 - local.get $8 - i32.const 3 - i32.eq - br_if $case3|1 - br $break|1 - end - local.get $10 - return - end - local.get $10 - f64.neg - return - end - global.get $~lib/math/NativeMath.PI - local.get $10 - f64.const 1.2246467991473532e-16 - f64.sub - f64.sub - return - end - local.get $10 - f64.const 1.2246467991473532e-16 - f64.sub - global.get $~lib/math/NativeMath.PI - f64.sub - return - end - unreachable - ) - (func $std/math/test_atan2 (; 75 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.atan2 - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - local.get $1 - call $~lib/bindings/Math/atan2 - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.atan2 (; 76 ;) (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f32) - (local $7 f32) - local.get $1 - local.get $1 - f32.ne - if (result i32) - i32.const 1 - else - local.get $0 - local.get $0 - f32.ne - end - if - local.get $1 - local.get $0 - f32.add - return - end - local.get $1 - i32.reinterpret_f32 - local.set $2 - local.get $0 - i32.reinterpret_f32 - local.set $3 - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $0 - call $~lib/math/NativeMathf.atan - return - end - local.get $3 - i32.const 31 - i32.shr_u - i32.const 1 - i32.and - local.get $2 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and - i32.or - local.set $4 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 - local.get $3 - i32.const 0 - i32.eq - if - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $4 - local.set $5 - local.get $5 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $5 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $5 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $5 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - end - local.get $0 - return - end - f32.const 3.1415927410125732 - return - end - f32.const 3.1415927410125732 - f32.neg - return - end - end - local.get $2 - i32.const 0 - i32.eq - if - local.get $4 - i32.const 1 - i32.and - if (result f32) - f32.const 3.1415927410125732 - f32.neg - f32.const 2 - f32.div - else - f32.const 3.1415927410125732 - f32.const 2 - f32.div - end - return - end - local.get $2 - i32.const 2139095040 - i32.eq - if - local.get $3 - i32.const 2139095040 - i32.eq - if - local.get $4 - i32.const 2 - i32.and - if (result f32) - f32.const 3 - f32.const 3.1415927410125732 - f32.mul - f32.const 4 - f32.div - else - f32.const 3.1415927410125732 - f32.const 4 - f32.div - end - local.set $6 - local.get $4 - i32.const 1 - i32.and - if (result f32) - local.get $6 - f32.neg - else - local.get $6 - end - return - else - local.get $4 - i32.const 2 - i32.and - if (result f32) - f32.const 3.1415927410125732 - else - f32.const 0 - end - local.set $6 - local.get $4 - i32.const 1 - i32.and - if (result f32) - local.get $6 - f32.neg - else - local.get $6 - end - return - end - unreachable - end - local.get $2 - i32.const 218103808 - i32.add - local.get $3 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $3 - i32.const 2139095040 - i32.eq - end - if - local.get $4 - i32.const 1 - i32.and - if (result f32) - f32.const 3.1415927410125732 - f32.neg - f32.const 2 - f32.div - else - f32.const 3.1415927410125732 - f32.const 2 - f32.div - end - return - end - local.get $4 - i32.const 2 - i32.and - if (result i32) - local.get $3 - i32.const 218103808 - i32.add - local.get $2 - i32.lt_u - else - i32.const 0 - end - if - f32.const 0 - local.set $7 - else - local.get $0 - local.get $1 - f32.div - f32.abs - call $~lib/math/NativeMathf.atan - local.set $7 - end - block $break|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $4 - local.set $5 - local.get $5 - i32.const 0 - i32.eq - br_if $case0|1 - local.get $5 - i32.const 1 - i32.eq - br_if $case1|1 - local.get $5 - i32.const 2 - i32.eq - br_if $case2|1 - local.get $5 - i32.const 3 - i32.eq - br_if $case3|1 - br $break|1 - end - local.get $7 - return - end - local.get $7 - f32.neg - return - end - f32.const 3.1415927410125732 - local.get $7 - f32.const -8.742277657347586e-08 - f32.sub - f32.sub - return - end - local.get $7 - f32.const -8.742277657347586e-08 - f32.sub - f32.const 3.1415927410125732 - f32.sub - return - end - unreachable - ) - (func $std/math/test_atan2f (; 77 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.atan2 - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $~lib/math/NativeMath.cbrt (; 78 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.add - return - end - local.get $2 - i32.const 1048576 - i32.lt_u - if - local.get $0 - f64.const 18014398509481984 - f64.mul - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 0 - i32.eq - if - local.get $0 - return - end - local.get $2 - i32.const 3 - i32.div_u - i32.const 696219795 - i32.add - local.set $2 - else - local.get $2 - i32.const 3 - i32.div_u - i32.const 715094163 - i32.add - local.set $2 - end - local.get $1 - i64.const 1 - i64.const 63 - i64.shl - i64.and - local.set $1 - local.get $1 - local.get $2 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - local.get $0 - f64.div - f64.mul - local.set $4 - local.get $3 - f64.const 1.87595182427177 - local.get $4 - f64.const -1.8849797954337717 - local.get $4 - f64.const 1.6214297201053545 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $4 - f64.mul - local.get $4 - f64.mul - f64.const -0.758397934778766 - local.get $4 - f64.const 0.14599619288661245 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const 2147483648 - i64.add - i64.const -1073741824 - i64.and - f64.reinterpret_i64 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $5 - local.get $0 - local.get $5 - f64.div - local.set $4 - local.get $4 - local.get $3 - f64.sub - f64.const 2 - local.get $3 - f64.mul - local.get $4 - f64.add - f64.div - local.set $4 - local.get $3 - local.get $3 - local.get $4 - f64.mul - f64.add - local.set $3 - local.get $3 - ) - (func $std/math/test_cbrt (; 79 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.cbrt - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/cbrt - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.cbrt (; 80 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.add - return - end - local.get $2 - i32.const 8388608 - i32.lt_u - if - local.get $2 - i32.const 0 - i32.eq - if - local.get $0 - return - end - local.get $0 - f32.const 16777216 - f32.mul - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 3 - i32.div_u - i32.const 642849266 - i32.add - local.set $2 - else - local.get $2 - i32.const 3 - i32.div_u - i32.const 709958130 - i32.add - local.set $2 - end - local.get $1 - i32.const -2147483648 - i32.and - local.set $1 - local.get $1 - local.get $2 - i32.or - local.set $1 - local.get $1 - f32.reinterpret_i32 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.add - local.get $4 - f64.add - f64.mul - local.get $0 - f64.promote_f32 - local.get $4 - f64.add - local.get $4 - f64.add - f64.div - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.add - local.get $4 - f64.add - f64.mul - local.get $0 - f64.promote_f32 - local.get $4 - f64.add - local.get $4 - f64.add - f64.div - local.set $3 - local.get $3 - f32.demote_f64 - ) - (func $std/math/test_cbrtf (; 81 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.cbrt - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_ceil (; 82 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - local.get $0 - local.set $4 - local.get $4 - f64.ceil - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/ceil - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_ceilf (; 83 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - local.get $0 - local.set $4 - local.get $4 - f32.ceil - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/pio2_large_quot (; 84 ;) (param $0 f64) (param $1 i64) (result i32) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i32) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 i64) - (local $11 i64) - (local $12 i64) - (local $13 i64) - (local $14 i64) - (local $15 i64) - (local $16 i64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i64) - (local $26 i64) - (local $27 i64) - (local $28 i64) - (local $29 i64) - (local $30 i64) - (local $31 i64) - (local $32 i64) - (local $33 i64) - (local $34 i64) - (local $35 i64) - (local $36 f64) - local.get $1 - i64.const 9223372036854775807 - i64.and - local.set $2 - local.get $2 - i64.const 52 - i64.shr_s - i64.const 1045 - i64.sub - local.set $3 - local.get $3 - i64.const 63 - i64.and - local.set $4 - i32.const 4480 - local.get $3 - i64.const 6 - i64.shr_s - i32.wrap_i64 - i32.const 3 - i32.shl - i32.add - local.set $5 - local.get $5 - i64.load - local.set $9 - local.get $5 - i64.load offset=8 - local.set $10 - local.get $5 - i64.load offset=16 - local.set $11 - local.get $4 - i64.const 0 - i64.ne - if - i32.const 64 - i64.extend_i32_s - local.get $4 - i64.sub - local.set $12 - local.get $5 - i64.load offset=24 - local.set $13 - local.get $10 - local.get $12 - i64.shr_u - local.get $9 - local.get $4 - i64.shl - i64.or - local.set $6 - local.get $11 - local.get $12 - i64.shr_u - local.get $10 - local.get $4 - i64.shl - i64.or - local.set $7 - local.get $13 - local.get $12 - i64.shr_u - local.get $11 - local.get $4 - i64.shl - i64.or - local.set $8 - else - local.get $9 - local.set $6 - local.get $10 - local.set $7 - local.get $11 - local.set $8 - end - local.get $1 - i64.const 4503599627370495 - i64.and - i64.const 4503599627370496 - i64.or - local.set $14 - local.get $7 - local.set $13 - local.get $14 - local.set $12 - local.get $13 - i64.const 4294967295 - i64.and - local.set $15 - local.get $12 - i64.const 4294967295 - i64.and - local.set $16 - local.get $13 - i64.const 32 - i64.shr_u - local.set $13 - local.get $12 - i64.const 32 - i64.shr_u - local.set $12 - local.get $15 - local.get $16 - i64.mul - local.set $19 - local.get $19 - i64.const 4294967295 - i64.and - local.set $17 - local.get $13 - local.get $16 - i64.mul - local.get $19 - i64.const 32 - i64.shr_u - i64.add - local.set $19 - local.get $19 - i64.const 32 - i64.shr_u - local.set $18 - local.get $15 - local.get $12 - i64.mul - local.get $19 - i64.const 4294967295 - i64.and - i64.add - local.set $19 - local.get $13 - local.get $12 - i64.mul - local.get $18 - i64.add - local.get $19 - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - local.get $19 - i64.const 32 - i64.shl - local.get $17 - i64.add - local.set $20 - global.get $~lib/math/res128_hi - local.set $21 - local.get $6 - local.get $14 - i64.mul - local.set $22 - local.get $8 - i64.const 32 - i64.shr_u - local.get $14 - i64.const 32 - i64.shr_s - i64.mul - local.set $23 - local.get $20 - local.get $23 - i64.add - local.set $24 - local.get $22 - local.get $21 - i64.add - local.get $24 - local.get $23 - i64.lt_u - i64.extend_i32_u - i64.add - local.set $25 - local.get $24 - i64.const 2 - i64.shl - local.set $26 - local.get $25 - i64.const 2 - i64.shl - local.get $24 - i64.const 62 - i64.shr_u - i64.or - local.set $27 - local.get $27 - i64.const 63 - i64.shr_s - local.set $28 - local.get $28 - i64.const 1 - i64.shr_s - local.set $29 - local.get $25 - i64.const 62 - i64.shr_s - local.get $28 - i64.sub - local.set $30 - i64.const 4372995238176751616 - local.get $26 - local.get $28 - i64.xor - local.set $13 - local.get $27 - local.get $29 - i64.xor - local.set $12 - local.get $12 - i64.clz - local.set $19 - local.get $12 - local.get $19 - i64.shl - local.get $13 - i64.const 64 - local.get $19 - i64.sub - i64.shr_u - i64.or - local.set $12 - local.get $13 - local.get $19 - i64.shl - local.set $13 - i64.const -3958705157555305932 - local.set $16 - local.get $12 - local.set $15 - local.get $16 - i64.const 4294967295 - i64.and - local.set $18 - local.get $15 - i64.const 4294967295 - i64.and - local.set $17 - local.get $16 - i64.const 32 - i64.shr_u - local.set $16 - local.get $15 - i64.const 32 - i64.shr_u - local.set $15 - local.get $18 - local.get $17 - i64.mul - local.set $33 - local.get $33 - i64.const 4294967295 - i64.and - local.set $31 - local.get $16 - local.get $17 - i64.mul - local.get $33 - i64.const 32 - i64.shr_u - i64.add - local.set $33 - local.get $33 - i64.const 32 - i64.shr_u - local.set $32 - local.get $18 - local.get $15 - i64.mul - local.get $33 - i64.const 4294967295 - i64.and - i64.add - local.set $33 - local.get $16 - local.get $15 - i64.mul - local.get $32 - i64.add - local.get $33 - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - local.get $33 - i64.const 32 - i64.shl - local.get $31 - i64.add - local.set $33 - global.get $~lib/math/res128_hi - local.set $32 - local.get $32 - i64.const 11 - i64.shr_u - local.set $31 - local.get $33 - i64.const 11 - i64.shr_u - local.get $32 - i64.const 53 - i64.shl - i64.or - local.set $17 - f64.const 2.6469779601696886e-23 - i64.const -4267615245585081135 - f64.convert_i64_u - f64.mul - local.get $12 - f64.convert_i64_u - f64.mul - f64.const 2.6469779601696886e-23 - i64.const -3958705157555305932 - f64.convert_i64_u - f64.mul - local.get $13 - f64.convert_i64_u - f64.mul - f64.add - i64.trunc_f64_u - local.set $18 - local.get $31 - local.get $33 - local.get $18 - i64.lt_u - i64.extend_i32_u - i64.add - f64.convert_i64_u - global.set $~lib/math/rempio2_y0 - f64.const 5.421010862427522e-20 - local.get $17 - local.get $18 - i64.add - f64.convert_i64_u - f64.mul - global.set $~lib/math/rempio2_y1 - local.get $19 - i64.const 52 - i64.shl - i64.sub - local.set $34 - local.get $1 - local.get $27 - i64.xor - i64.const -9223372036854775808 - i64.and - local.set $35 - local.get $34 - local.get $35 - i64.or - f64.reinterpret_i64 - local.set $36 - global.get $~lib/math/rempio2_y0 - local.get $36 - f64.mul - global.set $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 - local.get $36 - f64.mul - global.set $~lib/math/rempio2_y1 - local.get $30 - i32.wrap_i64 - ) - (func $~lib/math/NativeMath.cos (; 85 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 i32) - (local $11 i64) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 f64) - (local $17 i32) - (local $18 f64) - (local $19 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072243195 - i32.le_u - if - local.get $2 - i32.const 1044816030 - i32.lt_u - if - f64.const 1 - return - end - local.get $0 - local.set $5 - f64.const 0 - local.set $4 - local.get $5 - local.get $5 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $7 - local.get $6 - f64.const 0.0416666666666666 - local.get $6 - f64.const -0.001388888888887411 - local.get $6 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $7 - local.get $7 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $6 - f64.const 2.087572321298175e-09 - local.get $6 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $8 - f64.const 0.5 - local.get $6 - f64.mul - local.set $9 - f64.const 1 - local.get $9 - f64.sub - local.set $7 - local.get $7 - f64.const 1 - local.get $7 - f64.sub - local.get $9 - f64.sub - local.get $6 - local.get $8 - f64.mul - local.get $5 - local.get $4 - f64.mul - f64.sub - f64.add - f64.add - return - end - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.0 (result i32) - local.get $0 - local.set $4 - local.get $1 - local.set $11 - local.get $3 - local.set $10 - local.get $11 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $12 - local.get $12 - i32.const 1073928572 - i32.lt_u - if - i32.const 1 - local.set $13 - local.get $10 - i32.eqz - if - local.get $4 - f64.const 1.5707963267341256 - f64.sub - local.set $9 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.sub - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 6.077100506506192e-11 - f64.sub - local.set $7 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.sub - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.sub - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 2.0222662487959506e-21 - f64.sub - local.set $7 - end - else - local.get $4 - f64.const 1.5707963267341256 - f64.add - local.set $9 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.add - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 6.077100506506192e-11 - f64.add - local.set $7 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.add - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.add - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 2.0222662487959506e-21 - f64.add - local.set $7 - end - i32.const -1 - local.set $13 - end - local.get $8 - global.set $~lib/math/rempio2_y0 - local.get $7 - global.set $~lib/math/rempio2_y1 - local.get $13 - br $~lib/math/rempio2|inlined.0 - end - local.get $12 - i32.const 1094263291 - i32.lt_u - if - local.get $4 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $7 - local.get $4 - local.get $7 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.set $8 - local.get $7 - f64.const 6.077100506506192e-11 - f64.mul - local.set $9 - local.get $12 - i32.const 20 - i32.shr_u - local.set $13 - local.get $8 - local.get $9 - f64.sub - local.set $6 - local.get $6 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 16 - i32.gt_u - if - local.get $8 - local.set $5 - local.get $7 - f64.const 6.077100506303966e-11 - f64.mul - local.set $9 - local.get $5 - local.get $9 - f64.sub - local.set $8 - local.get $7 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $5 - local.get $8 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $8 - local.get $9 - f64.sub - local.set $6 - local.get $6 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 49 - i32.gt_u - if - local.get $8 - local.set $16 - local.get $7 - f64.const 2.0222662487111665e-21 - f64.mul - local.set $9 - local.get $16 - local.get $9 - f64.sub - local.set $8 - local.get $7 - f64.const 8.4784276603689e-32 - f64.mul - local.get $16 - local.get $8 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $8 - local.get $9 - f64.sub - local.set $6 - end - end - local.get $8 - local.get $6 - f64.sub - local.get $9 - f64.sub - local.set $5 - local.get $6 - global.set $~lib/math/rempio2_y0 - local.get $5 - global.set $~lib/math/rempio2_y1 - local.get $7 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.0 - end - local.get $4 - local.get $11 - call $~lib/math/pio2_large_quot - local.set $15 - i32.const 0 - local.get $15 - i32.sub - local.get $15 - local.get $10 - select - end - local.set $17 - global.get $~lib/math/rempio2_y0 - local.set $18 - global.get $~lib/math/rempio2_y1 - local.set $19 - local.get $17 - i32.const 1 - i32.and - if (result f64) - block $~lib/math/sin_kern|inlined.0 (result f64) - local.get $18 - local.set $7 - local.get $19 - local.set $16 - i32.const 1 - local.set $13 - local.get $7 - local.get $7 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.00833333333332249 - local.get $4 - f64.const -1.984126982985795e-04 - local.get $4 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $5 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $4 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $7 - f64.mul - local.set $9 - local.get $13 - i32.eqz - if - local.get $7 - local.get $9 - f64.const -0.16666666666666632 - local.get $4 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.0 - else - local.get $7 - local.get $4 - f64.const 0.5 - local.get $16 - f64.mul - local.get $9 - local.get $6 - f64.mul - f64.sub - f64.mul - local.get $16 - f64.sub - local.get $9 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.0 - end - unreachable - end - else - local.get $18 - local.set $16 - local.get $19 - local.set $8 - local.get $16 - local.get $16 - f64.mul - local.set $9 - local.get $9 - local.get $9 - f64.mul - local.set $6 - local.get $9 - f64.const 0.0416666666666666 - local.get $9 - f64.const -0.001388888888887411 - local.get $9 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $6 - local.get $6 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $9 - f64.const 2.087572321298175e-09 - local.get $9 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $5 - f64.const 0.5 - local.get $9 - f64.mul - local.set $4 - f64.const 1 - local.get $4 - f64.sub - local.set $6 - local.get $6 - f64.const 1 - local.get $6 - f64.sub - local.get $4 - f64.sub - local.get $9 - local.get $5 - f64.mul - local.get $16 - local.get $8 - f64.mul - f64.sub - f64.add - f64.add - end - local.set $0 - local.get $17 - i32.const 1 - i32.add - i32.const 2 - i32.and - if (result f64) - local.get $0 - f64.neg - else - local.get $0 - end - ) - (func $std/math/test_cos (; 86 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.cos - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/cos - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.cos (; 87 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 i32) - (local $10 f32) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 i64) - (local $15 i32) - (local $16 i64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 f64) - (local $26 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 31 - i32.shr_u - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1061752794 - i32.le_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - f32.const 1 - return - end - local.get $0 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $1 - i32.const 1081824209 - i32.le_u - if - local.get $1 - i32.const 1075235811 - i32.gt_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $6 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $4 - f32.const 1 - f64.promote_f32 - local.get $6 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $6 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - f32.neg - return - else - local.get $2 - if (result f32) - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - else - f64.const 1.5707963267948966 - local.get $0 - f64.promote_f32 - f64.sub - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $7 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $7 - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $4 - f64.const -0.16666666641626524 - local.get $7 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $6 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - return - end - unreachable - end - local.get $1 - i32.const 1088565717 - i32.le_u - if - local.get $1 - i32.const 1085271519 - i32.gt_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - else - local.get $2 - if (result f32) - local.get $0 - f32.neg - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $6 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $4 - local.get $6 - local.get $7 - f64.mul - local.set $3 - local.get $7 - local.get $3 - f64.const -0.16666666641626524 - local.get $6 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $5 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - else - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - f64.const -1.9839334836096632e-04 - local.get $3 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $3 - local.get $7 - f64.mul - local.set $6 - local.get $7 - local.get $6 - f64.const -0.16666666641626524 - local.get $3 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $6 - local.get $4 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - return - end - unreachable - end - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.0 (result i32) - local.get $0 - local.set $10 - local.get $1 - local.set $9 - local.get $2 - local.set $8 - local.get $9 - i32.const 1305022427 - i32.lt_u - if - local.get $10 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $6 - local.get $10 - f64.promote_f32 - local.get $6 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $6 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $6 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.0 - end - local.get $10 - local.set $12 - local.get $9 - local.set $11 - local.get $11 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $13 - local.get $13 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $14 - i32.const 4688 - local.get $13 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $15 - local.get $15 - i64.load - local.set $16 - local.get $15 - i64.load offset=8 - local.set $17 - local.get $14 - i64.const 32 - i64.gt_u - if - local.get $15 - i64.load offset=16 - local.set $19 - local.get $19 - i64.const 96 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - local.get $18 - local.get $17 - local.get $14 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $18 - else - local.get $17 - i64.const 32 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - end - local.get $17 - i64.const 64 - local.get $14 - i64.sub - i64.shr_u - local.get $16 - local.get $14 - i64.shl - i64.or - local.set $19 - local.get $11 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $20 - local.get $20 - local.get $19 - i64.mul - local.get $20 - local.get $18 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $21 - local.get $21 - i64.const 2 - i64.shl - local.set $22 - local.get $21 - i64.const 62 - i64.shr_u - local.get $22 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $23 - f64.const 8.515303950216386e-20 - local.get $12 - f64.promote_f32 - f64.copysign - local.get $22 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $23 - local.set $23 - i32.const 0 - local.get $23 - i32.sub - local.get $23 - local.get $8 - select - end - local.set $24 - global.get $~lib/math/rempio2f_y - local.set $25 - local.get $24 - i32.const 1 - i32.and - if (result f32) - local.get $25 - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $6 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $4 - local.get $6 - local.get $7 - f64.mul - local.set $3 - local.get $7 - local.get $3 - f64.const -0.16666666641626524 - local.get $6 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $5 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - else - local.get $25 - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - f64.const -0.001388676377460993 - local.get $3 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $3 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $4 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $4 - local.get $3 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - local.set $26 - local.get $24 - i32.const 1 - i32.add - i32.const 2 - i32.and - if (result f32) - local.get $26 - f32.neg - else - local.get $26 - end - ) - (func $std/math/test_cosf (; 88 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.cos - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.expm1 (; 89 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i64.const 2147483647 - i64.and - i32.wrap_i64 - local.set $2 - i32.const 0 - local.set $3 - local.get $1 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.set $4 - local.get $2 - i32.const 1078159482 - i32.ge_u - if - local.get $0 - local.get $0 - f64.ne - if - local.get $0 - return - end - local.get $4 - if - f64.const -1 - return - end - local.get $0 - f64.const 709.782712893384 - f64.gt - if - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - return - end - end - f64.const 0 - local.set $5 - local.get $2 - i32.const 1071001154 - i32.gt_u - if - i32.const 1 - local.get $4 - i32.const 1 - i32.shl - i32.sub - f64.const 1.4426950408889634 - local.get $0 - f64.mul - f64.const 0.5 - local.get $0 - f64.copysign - f64.add - i32.trunc_f64_s - local.get $2 - i32.const 1072734898 - i32.lt_u - select - local.set $3 - local.get $3 - f64.convert_i32_s - local.set $6 - local.get $0 - local.get $6 - f64.const 0.6931471803691238 - f64.mul - f64.sub - local.set $7 - local.get $6 - f64.const 1.9082149292705877e-10 - f64.mul - local.set $8 - local.get $7 - local.get $8 - f64.sub - local.set $0 - local.get $7 - local.get $0 - f64.sub - local.get $8 - f64.sub - local.set $5 - else - local.get $2 - i32.const 1016070144 - i32.lt_u - if - local.get $0 - return - end - end - f64.const 0.5 - local.get $0 - f64.mul - local.set $9 - local.get $0 - local.get $9 - f64.mul - local.set $10 - local.get $10 - local.get $10 - f64.mul - local.set $11 - f64.const 1 - local.get $10 - f64.const -0.03333333333333313 - f64.mul - f64.add - local.get $11 - f64.const 1.5873015872548146e-03 - local.get $10 - f64.const -7.93650757867488e-05 - f64.mul - f64.add - local.get $11 - f64.const 4.008217827329362e-06 - local.get $10 - f64.const -2.0109921818362437e-07 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $12 - f64.const 3 - local.get $12 - local.get $9 - f64.mul - f64.sub - local.set $6 - local.get $10 - local.get $12 - local.get $6 - f64.sub - f64.const 6 - local.get $0 - local.get $6 - f64.mul - f64.sub - f64.div - f64.mul - local.set $13 - local.get $3 - i32.const 0 - i32.eq - if - local.get $0 - local.get $0 - local.get $13 - f64.mul - local.get $10 - f64.sub - f64.sub - return - end - local.get $0 - local.get $13 - local.get $5 - f64.sub - f64.mul - local.get $5 - f64.sub - local.set $13 - local.get $13 - local.get $10 - f64.sub - local.set $13 - local.get $3 - i32.const -1 - i32.eq - if - f64.const 0.5 - local.get $0 - local.get $13 - f64.sub - f64.mul - f64.const 0.5 - f64.sub - return - end - local.get $3 - i32.const 1 - i32.eq - if - local.get $0 - f64.const -0.25 - f64.lt - if - f64.const -2 - local.get $13 - local.get $0 - f64.const 0.5 - f64.add - f64.sub - f64.mul - return - end - f64.const 1 - f64.const 2 - local.get $0 - local.get $13 - f64.sub - f64.mul - f64.add - return - end - i64.const 1023 - local.get $3 - i64.extend_i32_s - i64.add - i64.const 52 - i64.shl - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $14 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $3 - i32.const 56 - i32.gt_s - end - if - local.get $0 - local.get $13 - f64.sub - f64.const 1 - f64.add - local.set $15 - local.get $3 - i32.const 1024 - i32.eq - if - local.get $15 - f64.const 2 - f64.mul - f64.const 8988465674311579538646525e283 - f64.mul - local.set $15 - else - local.get $15 - local.get $14 - f64.mul - local.set $15 - end - local.get $15 - f64.const 1 - f64.sub - return - end - i64.const 1023 - local.get $3 - i64.extend_i32_s - i64.sub - i64.const 52 - i64.shl - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $15 - local.get $3 - i32.const 20 - i32.lt_s - if - f64.const 1 - local.get $15 - f64.sub - local.get $13 - f64.sub - local.set $15 - else - f64.const 1 - local.get $13 - local.get $15 - f64.add - f64.sub - local.set $15 - end - local.get $0 - local.get $15 - f64.add - local.get $14 - f64.mul - ) - (func $~lib/math/NativeMath.exp (; 90 ;) (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i64) - (local $7 f64) - (local $8 i32) - (local $9 i64) - (local $10 f64) - (local $11 i64) - (local $12 f64) - (local $13 f64) - (local $14 i64) - (local $15 i64) - (local $16 f64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - block $~lib/util/math/exp_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - i32.wrap_i64 - local.set $3 - local.get $3 - i32.const 969 - i32.sub - i32.const 63 - i32.ge_u - if - local.get $3 - i32.const 969 - i32.sub - i32.const -2147483648 - i32.ge_u - if - f64.const 1 - br $~lib/util/math/exp_lut|inlined.0 - end - local.get $3 - i32.const 1033 - i32.ge_u - if - local.get $2 - i64.const -4503599627370496 - i64.eq - if - f64.const 0 - br $~lib/util/math/exp_lut|inlined.0 - end - local.get $3 - i32.const 2047 - i32.ge_u - if - f64.const 1 - local.get $1 - f64.add - br $~lib/util/math/exp_lut|inlined.0 - end - f64.const 0 - f64.const inf - local.get $2 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - select - br $~lib/util/math/exp_lut|inlined.0 - end - i32.const 0 - local.set $3 - end - f64.const 184.6649652337873 - local.get $1 - f64.mul - local.set $4 - local.get $4 - f64.const 6755399441055744 - f64.add - local.set $5 - local.get $5 - i64.reinterpret_f64 - local.set $6 - local.get $5 - f64.const 6755399441055744 - f64.sub - local.set $5 - local.get $1 - local.get $5 - f64.const -0.005415212348111709 - f64.mul - f64.add - local.get $5 - f64.const -1.2864023111638346e-14 - f64.mul - f64.add - local.set $7 - local.get $6 - i64.const 127 - i64.and - i64.const 1 - i64.shl - i32.wrap_i64 - local.set $8 - local.get $6 - i64.const 52 - i64.const 7 - i64.sub - i64.shl - local.set $9 - i32.const 4736 - local.get $8 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $10 - i32.const 4736 - local.get $8 - i32.const 3 - i32.shl - i32.add - i64.load offset=8 - local.get $9 - i64.add - local.set $11 - local.get $7 - local.get $7 - f64.mul - local.set $12 - local.get $10 - local.get $7 - f64.add - local.get $12 - f64.const 0.49999999999996786 - local.get $7 - f64.const 0.16666666666665886 - f64.mul - f64.add - f64.mul - f64.add - local.get $12 - local.get $12 - f64.mul - f64.const 0.0416666808410674 - local.get $7 - f64.const 0.008333335853059549 - f64.mul - f64.add - f64.mul - f64.add - local.set $13 - local.get $3 - i32.const 0 - i32.eq - if - block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $13 - local.set $16 - local.get $11 - local.set $15 - local.get $6 - local.set $14 - local.get $14 - i64.const 2147483648 - i64.and - i64.const 0 - i64.ne - i32.eqz - if - local.get $15 - i64.const 1009 - i64.const 52 - i64.shl - i64.sub - local.set $15 - local.get $15 - f64.reinterpret_i64 - local.set $17 - f64.const 5486124068793688683255936e279 - local.get $17 - local.get $17 - local.get $16 - f64.mul - f64.add - f64.mul - br $~lib/util/math/specialcase|inlined.0 - end - local.get $15 - i64.const 1022 - i64.const 52 - i64.shl - i64.add - local.set $15 - local.get $15 - f64.reinterpret_i64 - local.set $17 - local.get $17 - local.get $17 - local.get $16 - f64.mul - f64.add - local.set $18 - local.get $18 - f64.abs - f64.const 1 - f64.lt - if - f64.const 1 - local.get $18 - f64.copysign - local.set $19 - local.get $17 - local.get $18 - f64.sub - local.get $17 - local.get $16 - f64.mul - f64.add - local.set $20 - local.get $19 - local.get $18 - f64.add - local.set $21 - local.get $19 - local.get $21 - f64.sub - local.get $18 - f64.add - local.get $20 - f64.add - local.set $20 - local.get $21 - local.get $20 - f64.add - local.get $19 - f64.sub - local.set $18 - local.get $18 - f64.const 0 - f64.eq - if - local.get $15 - i64.const -9223372036854775808 - i64.and - f64.reinterpret_i64 - local.set $18 - end - end - local.get $18 - f64.const 2.2250738585072014e-308 - f64.mul - end - br $~lib/util/math/exp_lut|inlined.0 - end - local.get $11 - f64.reinterpret_i64 - local.set $18 - local.get $18 - local.get $18 - local.get $13 - f64.mul - f64.add - end - return - ) - (func $~lib/math/NativeMath.cosh (; 91 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 9223372036854775807 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $0 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 1072049730 - i32.lt_u - if - local.get $2 - i32.const 1045430272 - i32.lt_u - if - f64.const 1 - return - end - local.get $0 - call $~lib/math/NativeMath.expm1 - local.set $3 - f64.const 1 - local.get $3 - local.get $3 - f64.mul - f64.const 2 - f64.const 2 - local.get $3 - f64.mul - f64.add - f64.div - f64.add - return - end - local.get $2 - i32.const 1082535490 - i32.lt_u - if - local.get $0 - call $~lib/math/NativeMath.exp - local.set $3 - f64.const 0.5 - local.get $3 - f64.const 1 - local.get $3 - f64.div - f64.add - f64.mul - return - end - local.get $0 - local.set $4 - i32.const 1023 - i32.const 2043 - i32.const 2 - i32.div_u - i32.add - i32.const 20 - i32.shl - i64.extend_i32_u - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $5 - local.get $4 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - local.get $5 - f64.mul - local.get $5 - f64.mul - local.set $3 - local.get $3 - ) - (func $std/math/test_cosh (; 92 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.cosh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/cosh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.expm1 (; 93 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f32) - (local $6 i32) - (local $7 f32) - (local $8 f32) - (local $9 f32) - (local $10 f32) - (local $11 f32) - (local $12 f32) - (local $13 f32) - (local $14 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $1 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 1100331076 - i32.ge_u - if - local.get $2 - i32.const 2139095040 - i32.gt_u - if - local.get $0 - return - end - local.get $3 - if - f32.const -1 - return - end - local.get $0 - f32.const 88.7216796875 - f32.gt - if - local.get $0 - f32.const 1701411834604692317316873e14 - f32.mul - local.set $0 - local.get $0 - return - end - end - f32.const 0 - local.set $4 - local.get $2 - i32.const 1051816472 - i32.gt_u - if - i32.const 1 - local.get $3 - i32.const 1 - i32.shl - i32.sub - f32.const 1.4426950216293335 - local.get $0 - f32.mul - f32.const 0.5 - local.get $0 - f32.copysign - f32.add - i32.trunc_f32_s - local.get $2 - i32.const 1065686418 - i32.lt_u - select - local.set $6 - local.get $6 - f32.convert_i32_s - local.set $5 - local.get $0 - local.get $5 - f32.const 0.6931381225585938 - f32.mul - f32.sub - local.set $7 - local.get $5 - f32.const 9.05800061445916e-06 - f32.mul - local.set $8 - local.get $7 - local.get $8 - f32.sub - local.set $0 - local.get $7 - local.get $0 - f32.sub - local.get $8 - f32.sub - local.set $4 - else - local.get $2 - i32.const 855638016 - i32.lt_u - if - local.get $0 - return - else - i32.const 0 - local.set $6 - end - end - f32.const 0.5 - local.get $0 - f32.mul - local.set $9 - local.get $0 - local.get $9 - f32.mul - local.set $10 - f32.const 1 - local.get $10 - f32.const -0.03333321213722229 - local.get $10 - f32.const 1.5807170420885086e-03 - f32.mul - f32.add - f32.mul - f32.add - local.set $11 - f32.const 3 - local.get $11 - local.get $9 - f32.mul - f32.sub - local.set $5 - local.get $10 - local.get $11 - local.get $5 - f32.sub - f32.const 6 - local.get $0 - local.get $5 - f32.mul - f32.sub - f32.div - f32.mul - local.set $12 - local.get $6 - i32.const 0 - i32.eq - if - local.get $0 - local.get $0 - local.get $12 - f32.mul - local.get $10 - f32.sub - f32.sub - return - end - local.get $0 - local.get $12 - local.get $4 - f32.sub - f32.mul - local.get $4 - f32.sub - local.set $12 - local.get $12 - local.get $10 - f32.sub - local.set $12 - local.get $6 - i32.const -1 - i32.eq - if - f32.const 0.5 - local.get $0 - local.get $12 - f32.sub - f32.mul - f32.const 0.5 - f32.sub - return - end - local.get $6 - i32.const 1 - i32.eq - if - local.get $0 - f32.const -0.25 - f32.lt - if - f32.const -2 - local.get $12 - local.get $0 - f32.const 0.5 - f32.add - f32.sub - f32.mul - return - end - f32.const 1 - f32.const 2 - local.get $0 - local.get $12 - f32.sub - f32.mul - f32.add - return - end - i32.const 127 - local.get $6 - i32.add - i32.const 23 - i32.shl - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $13 - local.get $6 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $6 - i32.const 56 - i32.gt_s - end - if - local.get $0 - local.get $12 - f32.sub - f32.const 1 - f32.add - local.set $14 - local.get $6 - i32.const 128 - i32.eq - if - local.get $14 - f32.const 2 - f32.mul - f32.const 1701411834604692317316873e14 - f32.mul - local.set $14 - else - local.get $14 - local.get $13 - f32.mul - local.set $14 - end - local.get $14 - f32.const 1 - f32.sub - return - end - i32.const 127 - local.get $6 - i32.sub - i32.const 23 - i32.shl - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $14 - local.get $6 - i32.const 20 - i32.lt_s - if - f32.const 1 - local.get $14 - f32.sub - local.get $12 - f32.sub - local.set $14 - else - f32.const 1 - local.get $12 - local.get $14 - f32.add - f32.sub - local.set $14 - end - local.get $0 - local.get $14 - f32.add - local.get $13 - f32.mul - ) - (func $~lib/math/NativeMathf.exp (; 94 ;) (param $0 f32) (result f32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 i64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 i64) - block $~lib/util/math/expf_lut|inlined.0 (result f32) - local.get $0 - local.set $1 - local.get $1 - f64.promote_f32 - local.set $2 - local.get $1 - i32.reinterpret_f32 - local.set $3 - local.get $3 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - local.set $4 - local.get $4 - i32.const 1067 - i32.ge_u - if - local.get $3 - i32.const -8388608 - i32.eq - if - f32.const 0 - br $~lib/util/math/expf_lut|inlined.0 - end - local.get $4 - i32.const 2040 - i32.ge_u - if - local.get $1 - local.get $1 - f32.add - br $~lib/util/math/expf_lut|inlined.0 - end - local.get $1 - f32.const 88.72283172607422 - f32.gt - if - local.get $1 - f32.const 1701411834604692317316873e14 - f32.mul - br $~lib/util/math/expf_lut|inlined.0 - end - local.get $1 - f32.const -103.97207641601562 - f32.lt - if - f32.const 0 - br $~lib/util/math/expf_lut|inlined.0 - end - end - f64.const 46.16624130844683 - local.get $2 - f64.mul - local.set $5 - local.get $5 - f64.const 6755399441055744 - f64.add - local.set $6 - local.get $6 - i64.reinterpret_f64 - local.set $7 - local.get $5 - local.get $6 - f64.const 6755399441055744 - f64.sub - f64.sub - local.set $8 - i32.const 6800 - local.get $7 - i32.wrap_i64 - i32.const 31 - i32.and - i32.const 3 - i32.shl - i32.add - i64.load - local.set $11 - local.get $11 - local.get $7 - i64.const 52 - i64.const 5 - i64.sub - i64.shl - i64.add - local.set $11 - local.get $11 - f64.reinterpret_i64 - local.set $9 - f64.const 1.6938359250920212e-06 - local.get $8 - f64.mul - f64.const 2.3459809789509004e-04 - f64.add - local.set $5 - f64.const 0.021660849396613134 - local.get $8 - f64.mul - f64.const 1 - f64.add - local.set $10 - local.get $10 - local.get $5 - local.get $8 - local.get $8 - f64.mul - f64.mul - f64.add - local.set $10 - local.get $10 - local.get $9 - f64.mul - local.set $10 - local.get $10 - f32.demote_f64 - end - return - ) - (func $~lib/math/NativeMathf.cosh (; 95 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $0 - local.get $1 - i32.const 1060205079 - i32.lt_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - f32.const 1 - return - end - local.get $0 - call $~lib/math/NativeMathf.expm1 - local.set $2 - f32.const 1 - local.get $2 - local.get $2 - f32.mul - f32.const 2 - f32.const 2 - local.get $2 - f32.mul - f32.add - f32.div - f32.add - return - end - local.get $1 - i32.const 1118925335 - i32.lt_u - if - local.get $0 - call $~lib/math/NativeMathf.exp - local.set $2 - f32.const 0.5 - local.get $2 - f32.mul - f32.const 0.5 - local.get $2 - f32.div - f32.add - return - end - local.get $0 - local.set $2 - i32.const 127 - i32.const 235 - i32.const 1 - i32.shr_u - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.set $3 - local.get $2 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - local.get $3 - f32.mul - local.get $3 - f32.mul - ) - (func $std/math/test_coshf (; 96 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.cosh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_exp (; 97 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.exp - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/exp - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_expf (; 98 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.exp - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_expm1 (; 99 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.expm1 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/expm1 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_expm1f (; 100 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.expm1 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.exp2 (; 101 ;) (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 i32) - (local $4 f64) - (local $5 i64) - (local $6 f64) - (local $7 i32) - (local $8 i64) - (local $9 f64) - (local $10 i64) - (local $11 f64) - (local $12 f64) - (local $13 i64) - (local $14 i64) - (local $15 f64) - (local $16 f64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - block $~lib/util/math/exp2_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - i32.wrap_i64 - local.set $3 - local.get $3 - i32.const 969 - i32.sub - i32.const 63 - i32.ge_u - if - local.get $3 - i32.const 969 - i32.sub - i32.const -2147483648 - i32.ge_u - if - f64.const 1 - br $~lib/util/math/exp2_lut|inlined.0 - end - local.get $3 - i32.const 1033 - i32.ge_u - if - local.get $2 - i64.const -4503599627370496 - i64.eq - if - f64.const 0 - br $~lib/util/math/exp2_lut|inlined.0 - end - local.get $3 - i32.const 2047 - i32.ge_u - if - f64.const 1 - local.get $1 - f64.add - br $~lib/util/math/exp2_lut|inlined.0 - end - local.get $2 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.eqz - if - f64.const inf - br $~lib/util/math/exp2_lut|inlined.0 - else - local.get $2 - i64.const -4570929321408987136 - i64.ge_u - if - f64.const 0 - br $~lib/util/math/exp2_lut|inlined.0 - end - end - end - local.get $2 - i64.const 1 - i64.shl - i64.const -9143996093422370816 - i64.gt_u - if - i32.const 0 - local.set $3 - end - end - local.get $1 - f64.const 52776558133248 - f64.add - local.set $4 - local.get $4 - i64.reinterpret_f64 - local.set $5 - local.get $4 - f64.const 52776558133248 - f64.sub - local.set $4 - local.get $1 - local.get $4 - f64.sub - local.set $6 - local.get $5 - i64.const 127 - i64.and - i64.const 1 - i64.shl - i32.wrap_i64 - local.set $7 - local.get $5 - i64.const 52 - i64.const 7 - i64.sub - i64.shl - local.set $8 - i32.const 4736 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $9 - i32.const 4736 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load offset=8 - local.get $8 - i64.add - local.set $10 - local.get $6 - local.get $6 - f64.mul - local.set $11 - local.get $9 - local.get $6 - f64.const 0.6931471805599453 - f64.mul - f64.add - local.get $11 - f64.const 0.24022650695909065 - local.get $6 - f64.const 0.0555041086686087 - f64.mul - f64.add - f64.mul - f64.add - local.get $11 - local.get $11 - f64.mul - f64.const 0.009618131975721055 - local.get $6 - f64.const 1.3332074570119598e-03 - f64.mul - f64.add - f64.mul - f64.add - local.set $12 - local.get $3 - i32.const 0 - i32.eq - if - block $~lib/util/math/specialcase2|inlined.0 (result f64) - local.get $12 - local.set $15 - local.get $10 - local.set $14 - local.get $5 - local.set $13 - local.get $13 - i64.const 2147483648 - i64.and - i64.const 0 - i64.eq - if - local.get $14 - i64.const 1 - i64.const 52 - i64.shl - i64.sub - local.set $14 - local.get $14 - f64.reinterpret_i64 - local.set $16 - f64.const 2 - local.get $16 - local.get $15 - f64.mul - local.get $16 - f64.add - f64.mul - br $~lib/util/math/specialcase2|inlined.0 - end - local.get $14 - i64.const 1022 - i64.const 52 - i64.shl - i64.add - local.set $14 - local.get $14 - f64.reinterpret_i64 - local.set $16 - local.get $16 - local.get $15 - f64.mul - local.get $16 - f64.add - local.set $17 - local.get $17 - f64.const 1 - f64.lt - if - local.get $16 - local.get $17 - f64.sub - local.get $16 - local.get $15 - f64.mul - f64.add - local.set $19 - f64.const 1 - local.get $17 - f64.add - local.set $18 - f64.const 1 - local.get $18 - f64.sub - local.get $17 - f64.add - local.get $19 - f64.add - local.set $19 - local.get $18 - local.get $19 - f64.add - f64.const 1 - f64.sub - local.set $17 - end - local.get $17 - f64.const 2.2250738585072014e-308 - f64.mul - end - br $~lib/util/math/exp2_lut|inlined.0 - end - local.get $10 - f64.reinterpret_i64 - local.set $17 - local.get $17 - local.get $12 - f64.mul - local.get $17 - f64.add - end - ) - (func $std/math/test_exp2 (; 102 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.exp2 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - f64.const 2 - local.get $0 - call $~lib/bindings/Math/pow - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.exp2 (; 103 ;) (param $0 f32) (result f32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i64) - (local $7 f64) - (local $8 i64) - (local $9 f64) - (local $10 f64) - block $~lib/util/math/exp2f_lut|inlined.0 (result f32) - local.get $0 - local.set $1 - local.get $1 - f64.promote_f32 - local.set $2 - local.get $1 - i32.reinterpret_f32 - local.set $3 - local.get $3 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - local.set $4 - local.get $4 - i32.const 1072 - i32.ge_u - if - local.get $3 - i32.const -8388608 - i32.eq - if - f32.const 0 - br $~lib/util/math/exp2f_lut|inlined.0 - end - local.get $4 - i32.const 2040 - i32.ge_u - if - local.get $1 - local.get $1 - f32.add - br $~lib/util/math/exp2f_lut|inlined.0 - end - local.get $1 - f32.const 0 - f32.gt - if - local.get $1 - f32.const 1701411834604692317316873e14 - f32.mul - br $~lib/util/math/exp2f_lut|inlined.0 - end - local.get $1 - f32.const -150 - f32.le - if - f32.const 0 - br $~lib/util/math/exp2f_lut|inlined.0 - end - end - local.get $2 - f64.const 211106232532992 - f64.add - local.set $5 - local.get $5 - i64.reinterpret_f64 - local.set $6 - local.get $2 - local.get $5 - f64.const 211106232532992 - f64.sub - f64.sub - local.set $7 - i32.const 6800 - local.get $6 - i32.wrap_i64 - i32.const 31 - i32.and - i32.const 3 - i32.shl - i32.add - i64.load - local.set $8 - local.get $8 - local.get $6 - i64.const 52 - i64.const 5 - i64.sub - i64.shl - i64.add - local.set $8 - local.get $8 - f64.reinterpret_i64 - local.set $10 - f64.const 0.6931471806916203 - local.get $7 - f64.mul - f64.const 1 - f64.add - local.set $9 - local.get $9 - f64.const 0.05550361559341535 - local.get $7 - f64.mul - f64.const 0.2402284522445722 - f64.add - local.get $7 - local.get $7 - f64.mul - f64.mul - f64.add - local.set $9 - local.get $9 - local.get $10 - f64.mul - local.set $9 - local.get $9 - f32.demote_f64 - end - ) - (func $std/math/test_exp2f (; 104 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.exp2 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_floor (; 105 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - local.get $0 - local.set $4 - local.get $4 - f64.floor - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/floor - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_floorf (; 106 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - local.get $0 - local.set $4 - local.get $4 - f32.floor - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.hypot (; 107 ;) (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $1 - i64.reinterpret_f64 - local.set $3 - local.get $2 - i64.const 9223372036854775807 - i64.and - local.set $2 - local.get $3 - i64.const 9223372036854775807 - i64.and - local.set $3 - local.get $2 - local.get $3 - i64.lt_u - if - local.get $2 - local.set $4 - local.get $3 - local.set $2 - local.get $4 - local.set $3 - end - local.get $2 - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $5 - local.get $3 - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $6 - local.get $3 - f64.reinterpret_i64 - local.set $1 - local.get $6 - i32.const 2047 - i32.eq - if - local.get $1 - return - end - local.get $2 - f64.reinterpret_i64 - local.set $0 - local.get $5 - i32.const 2047 - i32.eq - if (result i32) - i32.const 1 - else - local.get $3 - i64.const 0 - i64.eq - end - if - local.get $0 - return - end - local.get $5 - local.get $6 - i32.sub - i32.const 64 - i32.gt_s - if - local.get $0 - local.get $1 - f64.add - return - end - f64.const 1 - local.set $7 - local.get $5 - i32.const 1533 - i32.gt_s - if - f64.const 5260135901548373507240989e186 - local.set $7 - local.get $0 - f64.const 1.90109156629516e-211 - f64.mul - local.set $0 - local.get $1 - f64.const 1.90109156629516e-211 - f64.mul - local.set $1 - else - local.get $6 - i32.const 573 - i32.lt_s - if - f64.const 1.90109156629516e-211 - local.set $7 - local.get $0 - f64.const 5260135901548373507240989e186 - f64.mul - local.set $0 - local.get $1 - f64.const 5260135901548373507240989e186 - f64.mul - local.set $1 - end - end - local.get $0 - f64.const 134217729 - f64.mul - local.set $8 - local.get $0 - local.get $8 - f64.sub - local.get $8 - f64.add - local.set $9 - local.get $0 - local.get $9 - f64.sub - local.set $10 - local.get $0 - local.get $0 - f64.mul - local.set $11 - local.get $9 - local.get $9 - f64.mul - local.get $11 - f64.sub - f64.const 2 - local.get $9 - f64.mul - local.get $10 - f64.add - local.get $10 - f64.mul - f64.add - local.set $12 - local.get $1 - f64.const 134217729 - f64.mul - local.set $8 - local.get $1 - local.get $8 - f64.sub - local.get $8 - f64.add - local.set $9 - local.get $1 - local.get $9 - f64.sub - local.set $10 - local.get $1 - local.get $1 - f64.mul - local.set $13 - local.get $9 - local.get $9 - f64.mul - local.get $13 - f64.sub - f64.const 2 - local.get $9 - f64.mul - local.get $10 - f64.add - local.get $10 - f64.mul - f64.add - local.set $14 - local.get $7 - local.get $14 - local.get $12 - f64.add - local.get $13 - f64.add - local.get $11 - f64.add - f64.sqrt - f64.mul - ) - (func $std/math/test_hypot (; 108 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.hypot - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $~lib/math/NativeMathf.hypot (; 109 ;) (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - 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 $2 - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 - local.get $2 - local.get $3 - i32.lt_u - if - local.get $2 - local.set $4 - local.get $3 - local.set $2 - local.get $4 - local.set $3 - end - local.get $2 - f32.reinterpret_i32 - local.set $0 - local.get $3 - f32.reinterpret_i32 - local.set $1 - local.get $3 - i32.const 2139095040 - i32.eq - if - local.get $1 - return - end - local.get $2 - i32.const 2139095040 - i32.ge_u - if (result i32) - i32.const 1 - else - local.get $3 - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $2 - local.get $3 - i32.sub - i32.const 209715200 - i32.ge_u - end - if - local.get $0 - local.get $1 - f32.add - return - end - f32.const 1 - local.set $5 - local.get $2 - i32.const 1568669696 - i32.ge_u - if - f32.const 1237940039285380274899124e3 - local.set $5 - local.get $0 - f32.const 8.077935669463161e-28 - f32.mul - local.set $0 - local.get $1 - f32.const 8.077935669463161e-28 - f32.mul - local.set $1 - else - local.get $3 - i32.const 562036736 - i32.lt_u - if - f32.const 8.077935669463161e-28 - local.set $5 - local.get $0 - f32.const 1237940039285380274899124e3 - f32.mul - local.set $0 - local.get $1 - f32.const 1237940039285380274899124e3 - f32.mul - local.set $1 - end - end - local.get $5 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.mul - local.get $1 - f64.promote_f32 - local.get $1 - f64.promote_f32 - f64.mul - f64.add - f32.demote_f64 - f32.sqrt - f32.mul - ) - (func $std/math/test_hypotf (; 110 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.hypot - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $std/math/test_log (; 111 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/log - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_logf (; 112 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.log10 (; 113 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - (local $16 f64) - (local $17 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - i32.const 0 - local.set $3 - local.get $2 - i32.const 1048576 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $0 - local.get $0 - f64.mul - f64.div - return - end - local.get $2 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - local.get $3 - i32.const 54 - i32.sub - local.set $3 - local.get $0 - f64.const 18014398509481984 - f64.mul - local.set $0 - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - else - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - else - local.get $2 - i32.const 1072693248 - i32.eq - if (result i32) - local.get $1 - i64.const 32 - i64.shl - i64.const 0 - i64.eq - else - i32.const 0 - end - if - f64.const 0 - return - end - end - end - local.get $2 - i32.const 1072693248 - i32.const 1072079006 - i32.sub - i32.add - local.set $2 - local.get $3 - local.get $2 - i32.const 20 - i32.shr_u - i32.const 1023 - i32.sub - i32.add - local.set $3 - local.get $2 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - local.set $2 - local.get $2 - i64.extend_i32_u - i64.const 32 - i64.shl - local.get $1 - i64.const 4294967295 - i64.and - i64.or - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $0 - local.get $0 - f64.const 1 - f64.sub - local.set $4 - f64.const 0.5 - local.get $4 - f64.mul - local.get $4 - f64.mul - local.set $5 - local.get $4 - f64.const 2 - local.get $4 - f64.add - f64.div - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $8 - local.get $8 - f64.const 0.3999999999940942 - local.get $8 - f64.const 0.22222198432149784 - local.get $8 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $9 - local.get $7 - f64.const 0.6666666666666735 - local.get $8 - f64.const 0.2857142874366239 - local.get $8 - f64.const 0.1818357216161805 - local.get $8 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $10 - local.get $10 - local.get $9 - f64.add - local.set $11 - local.get $4 - local.get $5 - f64.sub - local.set $12 - local.get $12 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const -4294967296 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $12 - local.get $4 - local.get $12 - f64.sub - local.get $5 - f64.sub - local.get $6 - local.get $5 - local.get $11 - f64.add - f64.mul - f64.add - local.set $13 - local.get $12 - f64.const 0.4342944818781689 - f64.mul - local.set $14 - local.get $3 - f64.convert_i32_s - local.set $15 - local.get $15 - f64.const 0.30102999566361177 - f64.mul - local.set $16 - local.get $15 - f64.const 3.694239077158931e-13 - f64.mul - local.get $13 - local.get $12 - f64.add - f64.const 2.5082946711645275e-11 - f64.mul - f64.add - local.get $13 - f64.const 0.4342944818781689 - f64.mul - f64.add - local.set $17 - local.get $16 - local.get $14 - f64.add - local.set $8 - local.get $17 - local.get $16 - local.get $8 - f64.sub - local.get $14 - f64.add - f64.add - local.set $17 - local.get $17 - local.get $8 - f64.add - ) - (func $std/math/test_log10 (; 114 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log10 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/log10 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.log10 (; 115 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 f32) - (local $5 f32) - (local $6 f32) - (local $7 f32) - (local $8 f32) - (local $9 f32) - (local $10 f32) - (local $11 f32) - (local $12 f32) - (local $13 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - i32.const 0 - local.set $2 - local.get $1 - i32.const 8388608 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if - f32.const -1 - local.get $0 - local.get $0 - f32.mul - f32.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - local.get $2 - i32.const 25 - i32.sub - local.set $2 - local.get $0 - f32.const 33554432 - f32.mul - local.set $0 - local.get $0 - i32.reinterpret_f32 - local.set $1 - else - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - else - local.get $1 - i32.const 1065353216 - i32.eq - if - f32.const 0 - return - end - end - end - local.get $1 - i32.const 1065353216 - i32.const 1060439283 - i32.sub - i32.add - local.set $1 - local.get $2 - local.get $1 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - i32.add - local.set $2 - local.get $1 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $0 - local.get $0 - f32.const 1 - f32.sub - local.set $3 - local.get $3 - f32.const 2 - local.get $3 - f32.add - f32.div - local.set $4 - local.get $4 - local.get $4 - f32.mul - local.set $5 - local.get $5 - local.get $5 - f32.mul - local.set $6 - local.get $6 - f32.const 0.40000972151756287 - local.get $6 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - local.set $7 - local.get $5 - f32.const 0.6666666269302368 - local.get $6 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.set $8 - local.get $8 - local.get $7 - f32.add - local.set $9 - f32.const 0.5 - local.get $3 - f32.mul - local.get $3 - f32.mul - local.set $10 - local.get $3 - local.get $10 - f32.sub - local.set $11 - local.get $11 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const -4096 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $11 - local.get $3 - local.get $11 - f32.sub - local.get $10 - f32.sub - local.get $4 - local.get $10 - local.get $9 - f32.add - f32.mul - f32.add - local.set $12 - local.get $2 - f32.convert_i32_s - local.set $13 - local.get $13 - f32.const 7.903415166765626e-07 - f32.mul - local.get $12 - local.get $11 - f32.add - f32.const -3.168997136526741e-05 - f32.mul - f32.add - local.get $12 - f32.const 0.434326171875 - f32.mul - f32.add - local.get $11 - f32.const 0.434326171875 - f32.mul - f32.add - local.get $13 - f32.const 0.3010292053222656 - f32.mul - f32.add - ) - (func $std/math/test_log10f (; 116 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log10 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_log1p (; 117 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log1p - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/log1p - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_log1pf (; 118 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log1p - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.log2 (; 119 ;) (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i64) - (local $16 i64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - (local $22 f64) - (local $23 f64) - block $~lib/util/math/log2_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 4606800540372828160 - i64.sub - i64.const 581272283906048 - i64.lt_u - if - local.get $1 - f64.const 1 - f64.sub - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $4 - local.get $3 - local.get $4 - f64.sub - local.set $5 - local.get $4 - f64.const 1.4426950407214463 - f64.mul - local.set $6 - local.get $5 - f64.const 1.4426950407214463 - f64.mul - local.get $3 - f64.const 1.6751713164886512e-10 - f64.mul - f64.add - local.set $7 - local.get $3 - local.get $3 - f64.mul - local.set $8 - local.get $8 - local.get $8 - f64.mul - local.set $9 - local.get $8 - f64.const -0.7213475204444817 - local.get $3 - f64.const 0.48089834696298744 - f64.mul - f64.add - f64.mul - local.set $10 - local.get $6 - local.get $10 - f64.add - local.set $11 - local.get $7 - local.get $6 - local.get $11 - f64.sub - local.get $10 - f64.add - f64.add - local.set $7 - local.get $7 - local.get $9 - f64.const -0.360673760222145 - local.get $3 - f64.const 0.2885390081805197 - f64.mul - f64.add - local.get $8 - f64.const -0.24044917405728863 - local.get $3 - f64.const 0.2060992861022954 - f64.mul - f64.add - f64.mul - f64.add - local.get $9 - f64.const -0.18033596705327856 - local.get $3 - f64.const 0.1603032746063156 - f64.mul - f64.add - local.get $8 - f64.const -0.14483316576701266 - local.get $3 - f64.const 0.13046826811283835 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $7 - local.get $11 - local.get $7 - f64.add - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $2 - i64.const 48 - i64.shr_u - i32.wrap_i64 - local.set $12 - local.get $12 - i32.const 16 - i32.sub - i32.const 32736 - i32.ge_u - if - local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $1 - local.get $1 - f64.mul - f64.div - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $2 - i64.const 9218868437227405312 - i64.eq - if - local.get $1 - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $12 - i32.const 32768 - i32.and - if (result i32) - i32.const 1 - else - local.get $12 - i32.const 32752 - i32.and - i32.const 32752 - i32.eq - end - if - local.get $1 - local.get $1 - f64.sub - local.get $1 - local.get $1 - f64.sub - f64.div - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $1 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $2 - end - local.get $2 - i64.const 4604367669032910848 - i64.sub - local.set $13 - local.get $13 - i64.const 52 - i64.const 6 - i64.sub - i64.shr_u - i64.const 63 - i64.and - i32.wrap_i64 - local.set $14 - local.get $13 - i64.const 52 - i64.shr_s - local.set $15 - local.get $2 - local.get $13 - i64.const -4503599627370496 - i64.and - i64.sub - local.set $16 - i32.const 7072 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $11 - i32.const 7072 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $10 - local.get $16 - f64.reinterpret_i64 - local.set $9 - local.get $15 - f64.convert_i64_s - local.set $8 - i32.const 8112 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $7 - i32.const 8112 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $6 - local.get $9 - local.get $7 - f64.sub - local.get $6 - f64.sub - local.get $11 - f64.mul - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $4 - local.get $5 - local.get $4 - f64.sub - local.set $3 - local.get $4 - f64.const 1.4426950407214463 - f64.mul - local.set $17 - local.get $3 - f64.const 1.4426950407214463 - f64.mul - local.get $5 - f64.const 1.6751713164886512e-10 - f64.mul - f64.add - local.set $18 - local.get $8 - local.get $10 - f64.add - local.set $19 - local.get $19 - local.get $17 - f64.add - local.set $20 - local.get $19 - local.get $20 - f64.sub - local.get $17 - f64.add - local.get $18 - f64.add - local.set $21 - local.get $5 - local.get $5 - f64.mul - local.set $22 - f64.const -0.7213475204444882 - local.get $5 - f64.const 0.4808983469629985 - f64.mul - f64.add - local.get $22 - f64.const -0.36067375954075914 - local.get $5 - f64.const 0.2885390073180969 - f64.mul - f64.add - f64.mul - f64.add - local.get $22 - local.get $22 - f64.mul - f64.const -0.2404693555628422 - local.get $5 - f64.const 0.2061202382173603 - f64.mul - f64.add - f64.mul - f64.add - local.set $23 - local.get $21 - local.get $22 - local.get $23 - f64.mul - f64.add - local.get $20 - f64.add - end - return - ) - (func $std/math/test_log2 (; 120 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log2 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/log2 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.log2 (; 121 ;) (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - block $~lib/util/math/log2f_lut|inlined.0 (result f32) - local.get $0 - local.set $1 - local.get $1 - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 8388608 - i32.sub - i32.const 2130706432 - i32.ge_u - if - local.get $2 - i32.const 2 - i32.mul - i32.const 0 - i32.eq - if - f32.const inf - f32.neg - br $~lib/util/math/log2f_lut|inlined.0 - end - local.get $2 - i32.const 2139095040 - i32.eq - if - local.get $1 - br $~lib/util/math/log2f_lut|inlined.0 - end - local.get $2 - i32.const 31 - i32.shr_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 2 - i32.mul - i32.const -16777216 - i32.ge_u - end - if - local.get $1 - local.get $1 - f32.sub - local.get $1 - local.get $1 - f32.sub - f32.div - br $~lib/util/math/log2f_lut|inlined.0 - end - local.get $1 - f32.const 8388608 - f32.mul - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 23 - i32.const 23 - i32.shl - i32.sub - local.set $2 - end - local.get $2 - i32.const 1060306944 - i32.sub - local.set $3 - local.get $3 - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $4 - local.get $3 - i32.const -8388608 - i32.and - local.set $5 - local.get $2 - local.get $5 - i32.sub - local.set $6 - local.get $3 - i32.const 23 - i32.shr_s - local.set $7 - i32.const 9152 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $8 - i32.const 9152 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $9 - local.get $6 - f32.reinterpret_i32 - f64.promote_f32 - local.set $10 - local.get $10 - local.get $8 - f64.mul - f64.const 1 - f64.sub - local.set $11 - local.get $9 - local.get $7 - f64.convert_i32_s - f64.add - local.set $12 - f64.const 0.4811247078767291 - local.get $11 - f64.mul - f64.const -0.7213476299867769 - f64.add - local.set $13 - f64.const 1.4426950186867042 - local.get $11 - f64.mul - local.get $12 - f64.add - local.set $14 - local.get $11 - local.get $11 - f64.mul - local.set $15 - local.get $13 - f64.const -0.36051725506874704 - local.get $15 - f64.mul - f64.add - local.set $13 - local.get $13 - local.get $15 - f64.mul - local.get $14 - f64.add - local.set $13 - local.get $13 - f32.demote_f64 - end - return - ) - (func $std/math/test_log2f (; 122 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log2 - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_max (; 123 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - (local $5 f64) - (local $6 f64) - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $6 - local.get $5 - f64.max - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - local.get $1 - call $~lib/bindings/Math/max - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_maxf (; 124 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - (local $5 f32) - (local $6 f32) - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $6 - local.get $5 - f32.max - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $std/math/test_min (; 125 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - (local $5 f64) - (local $6 f64) - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $6 - local.get $5 - f64.min - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - local.get $1 - call $~lib/bindings/Math/min - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_minf (; 126 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - (local $5 f32) - (local $6 f32) - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $6 - local.get $5 - f32.min - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $~lib/math/NativeMath.mod (; 127 ;) (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 f64) - (local $9 i64) - (local $10 i32) - (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 - if (result i32) - i32.const 1 - else - local.get $4 - i64.const 2047 - i64.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - local.get $1 - f64.ne - end - if - local.get $0 - local.get $1 - f64.mul - local.set $8 - local.get $8 - local.get $8 - f64.div - return - end - local.get $2 - i64.const 1 - i64.shl - local.set $9 - local.get $9 - local.get $7 - i64.le_u - if - local.get $9 - 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.const 0 - i64.ne - i32.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.const 0 - i64.ne - i32.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 - loop $while-continue|0 - local.get $4 - local.get $5 - i64.gt_s - local.set $10 - local.get $10 - if - 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 - br $while-continue|0 - 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 $std/math/test_mod (; 128 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.mod - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - local.get $1 - call $std/math/mod - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.mod (; 129 ;) (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 f32) - (local $9 i32) - (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 - if (result i32) - i32.const 1 - else - local.get $4 - i32.const 255 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - local.get $1 - f32.ne - end - if - local.get $0 - local.get $1 - f32.mul - local.set $8 - local.get $8 - local.get $8 - f32.div - return - end - local.get $2 - i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $7 - i32.le_u - if - local.get $9 - 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 - loop $while-continue|0 - local.get $4 - local.get $5 - i32.gt_s - local.set $10 - local.get $10 - if - 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 - br $while-continue|0 - 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 $std/math/test_modf (; 130 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.mod - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $~lib/math/NativeMath.pow (; 131 ;) (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 f64) - (local $11 i64) - (local $12 i32) - (local $13 i64) - (local $14 i64) - (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 f64) - (local $29 f64) - (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 i32) - (local $40 i32) - (local $41 i32) - (local $42 i32) - (local $43 i64) - (local $44 i64) - local.get $1 - f64.abs - f64.const 2 - f64.le - if - local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const inf - f64.neg - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - block $~lib/util/math/pow_lut|inlined.0 (result f64) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - i32.const 0 - local.set $4 - local.get $3 - i64.reinterpret_f64 - local.set $5 - local.get $2 - i64.reinterpret_f64 - local.set $6 - local.get $5 - i64.const 52 - i64.shr_u - local.set $7 - local.get $6 - i64.const 52 - i64.shr_u - local.set $8 - local.get $7 - i64.const 1 - i64.sub - i64.const 2046 - i64.ge_u - if (result i32) - i32.const 1 - else - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 128 - i64.ge_u - end - if - local.get $6 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740993 - i64.ge_u - if - local.get $6 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - if (result i32) - i32.const 1 - else - local.get $6 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - end - if - local.get $3 - local.get $2 - f64.add - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.lt_u - local.get $6 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.eqz - i32.eq - if - f64.const 0 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $2 - local.get $2 - f64.mul - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740993 - i64.ge_u - if - local.get $3 - local.get $3 - f64.mul - local.set $10 - local.get $5 - i64.const 63 - i64.shr_u - i32.wrap_i64 - if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 - end - local.get $11 - i64.const 1075 - i64.gt_u - if - i32.const 2 - br $~lib/util/math/checkint|inlined.0 - end - i64.const 1 - i64.const 1075 - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 - end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne - if - i32.const 1 - br $~lib/util/math/checkint|inlined.0 - end - i32.const 2 - end - i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $10 - f64.neg - local.set $10 - end - local.get $6 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if (result f64) - f64.const 1 - local.get $10 - f64.div - else - local.get $10 - end - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if - block $~lib/util/math/checkint|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u - if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 - end - local.get $11 - i64.const 1075 - i64.gt_u - if - i32.const 2 - br $~lib/util/math/checkint|inlined.1 - end - i64.const 1 - i64.const 1023 - i64.const 52 - i64.add - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 - end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne - if - i32.const 1 - br $~lib/util/math/checkint|inlined.1 - end - i32.const 2 - end - local.set $12 - local.get $12 - i32.const 0 - i32.eq - if - local.get $3 - local.get $3 - f64.sub - local.get $3 - local.get $3 - f64.sub - f64.div - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $12 - i32.const 1 - i32.eq - if - i32.const 262144 - local.set $4 - end - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $7 - i64.const 2047 - i64.and - local.set $7 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 128 - i64.ge_u - if - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.lt_u - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.gt_u - local.get $8 - i64.const 2048 - i64.lt_u - i32.eq - if (result f64) - f64.const inf - else - f64.const 0 - end - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $7 - i64.const 0 - i64.eq - if - local.get $3 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $5 - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $5 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $5 - end - end - local.get $5 - local.set $9 - local.get $9 - i64.const 4604531861337669632 - i64.sub - local.set $11 - local.get $11 - i64.const 52 - i64.const 7 - i64.sub - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - local.set $12 - local.get $11 - i64.const 52 - i64.shr_s - local.set $13 - local.get $9 - local.get $11 - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $14 - local.get $14 - f64.reinterpret_i64 - local.set $10 - local.get $13 - f64.convert_i64_s - local.set $15 - i32.const 9424 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $16 - i32.const 9424 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=16 - local.set $17 - i32.const 9424 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=24 - local.set $18 - local.get $14 - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $19 - local.get $10 - local.get $19 - f64.sub - local.set $20 - local.get $19 - local.get $16 - f64.mul - f64.const 1 - f64.sub - local.set $21 - local.get $20 - local.get $16 - f64.mul - local.set $22 - local.get $21 - local.get $22 - f64.add - local.set $23 - local.get $15 - f64.const 0.6931471805598903 - f64.mul - local.get $17 - f64.add - local.set $24 - local.get $24 - local.get $23 - f64.add - local.set $25 - local.get $15 - f64.const 5.497923018708371e-14 - f64.mul - local.get $18 - f64.add - local.set $26 - local.get $24 - local.get $25 - f64.sub - local.get $23 - f64.add - local.set $27 - f64.const -0.5 - local.get $23 - f64.mul - local.set $28 - local.get $23 - local.get $28 - f64.mul - local.set $29 - local.get $23 - local.get $29 - f64.mul - local.set $30 - f64.const -0.5 - local.get $21 - f64.mul - local.set $31 - local.get $21 - local.get $31 - f64.mul - local.set $32 - local.get $25 - local.get $32 - f64.add - local.set $33 - local.get $22 - local.get $28 - local.get $31 - f64.add - f64.mul - local.set $34 - local.get $25 - local.get $33 - f64.sub - local.get $32 - f64.add - local.set $35 - local.get $30 - f64.const -0.6666666666666679 - local.get $23 - f64.const 0.5000000000000007 - f64.mul - f64.add - local.get $29 - f64.const 0.7999999995323976 - local.get $23 - f64.const -0.6666666663487739 - f64.mul - f64.add - local.get $29 - f64.const -1.142909628459501 - local.get $23 - f64.const 1.0000415263675542 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $36 - local.get $26 - local.get $27 - f64.add - local.get $34 - f64.add - local.get $35 - f64.add - local.get $36 - f64.add - local.set $37 - local.get $33 - local.get $37 - f64.add - local.set $38 - local.get $33 - local.get $38 - f64.sub - local.get $37 - f64.add - global.set $~lib/util/math/log_tail - local.get $38 - local.set $38 - global.get $~lib/util/math/log_tail - local.set $37 - local.get $6 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $34 - local.get $2 - local.get $34 - f64.sub - local.set $33 - local.get $38 - i64.reinterpret_f64 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $32 - local.get $38 - local.get $32 - f64.sub - local.get $37 - f64.add - local.set $31 - local.get $34 - local.get $32 - f64.mul - local.set $36 - local.get $33 - local.get $32 - f64.mul - local.get $2 - local.get $31 - f64.mul - f64.add - local.set $35 - block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $36 - local.set $15 - local.get $35 - local.set $10 - local.get $4 - local.set $12 - local.get $15 - i64.reinterpret_f64 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i32.wrap_i64 - i32.const 2047 - i32.and - local.set $39 - local.get $39 - i32.const 969 - i32.sub - i32.const 63 - i32.ge_u - if - local.get $39 - i32.const 969 - i32.sub - i32.const -2147483648 - i32.ge_u - if - f64.const -1 - f64.const 1 - local.get $12 - select - br $~lib/util/math/exp_inline|inlined.0 - end - local.get $39 - i32.const 1033 - i32.ge_u - if - local.get $9 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if (result f64) - local.get $12 - local.set $41 - local.get $41 - local.set $42 - i64.const 1152921504606846976 - f64.reinterpret_i64 - local.set $16 - local.get $16 - f64.neg - local.get $16 - local.get $42 - select - local.get $16 - f64.mul - else - local.get $12 - local.set $42 - local.get $42 - local.set $41 - i64.const 8070450532247928832 - f64.reinterpret_i64 - local.set $17 - local.get $17 - f64.neg - local.get $17 - local.get $41 - select - local.get $17 - f64.mul - end - br $~lib/util/math/exp_inline|inlined.0 - end - i32.const 0 - local.set $39 - end - f64.const 184.6649652337873 - local.get $15 - f64.mul - local.set $29 - local.get $29 - f64.const 6755399441055744 - f64.add - local.set $30 - local.get $30 - i64.reinterpret_f64 - local.set $14 - local.get $30 - f64.const 6755399441055744 - f64.sub - local.set $30 - local.get $15 - local.get $30 - f64.const -0.005415212348111709 - f64.mul - f64.add - local.get $30 - f64.const -1.2864023111638346e-14 - f64.mul - f64.add - local.set $28 - local.get $28 - local.get $10 - f64.add - local.set $28 - local.get $14 - i64.const 127 - i64.and - i64.const 1 - i64.shl - i32.wrap_i64 - local.set $40 - local.get $14 - local.get $12 - i64.extend_i32_u - i64.add - i64.const 52 - i64.const 7 - i64.sub - i64.shl - local.set $13 - i32.const 4736 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $25 - i32.const 4736 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load offset=8 - local.get $13 - i64.add - local.set $11 - local.get $28 - local.get $28 - f64.mul - local.set $27 - local.get $25 - local.get $28 - f64.add - local.get $27 - f64.const 0.49999999999996786 - local.get $28 - f64.const 0.16666666666665886 - f64.mul - f64.add - f64.mul - f64.add - local.get $27 - local.get $27 - f64.mul - f64.const 0.0416666808410674 - local.get $28 - f64.const 0.008333335853059549 - f64.mul - f64.add - f64.mul - f64.add - local.set $24 - local.get $39 - i32.const 0 - i32.eq - if - block $~lib/util/math/specialcase|inlined.1 (result f64) - local.get $24 - local.set $18 - local.get $11 - local.set $44 - local.get $14 - local.set $43 - local.get $43 - i64.const 2147483648 - i64.and - i64.const 0 - i64.ne - i32.eqz - if - local.get $44 - i64.const 1009 - i64.const 52 - i64.shl - i64.sub - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - f64.const 5486124068793688683255936e279 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - f64.mul - br $~lib/util/math/specialcase|inlined.1 - end - local.get $44 - i64.const 1022 - i64.const 52 - i64.shl - i64.add - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $16 - local.get $16 - f64.abs - f64.const 1 - f64.lt - if - f64.const 1 - local.get $16 - f64.copysign - local.set $23 - local.get $17 - local.get $16 - f64.sub - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $22 - local.get $23 - local.get $16 - f64.add - local.set $21 - local.get $23 - local.get $21 - f64.sub - local.get $16 - f64.add - local.get $22 - f64.add - local.set $22 - local.get $21 - local.get $22 - f64.add - local.get $23 - f64.sub - local.set $16 - local.get $16 - f64.const 0 - f64.eq - if - local.get $44 - i64.const -9223372036854775808 - i64.and - f64.reinterpret_i64 - local.set $16 - end - end - local.get $16 - f64.const 2.2250738585072014e-308 - f64.mul - end - br $~lib/util/math/exp_inline|inlined.0 - end - local.get $11 - f64.reinterpret_i64 - local.set $26 - local.get $26 - local.get $26 - local.get $24 - f64.mul - f64.add - end - end - return - ) - (func $std/math/test_pow (; 132 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.pow - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - local.get $1 - call $~lib/bindings/Math/pow - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.pow (; 133 ;) (param $0 f32) (param $1 f32) (result f32) - (local $2 f32) - (local $3 f32) - (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 $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 i64) - (local $24 i64) - local.get $1 - f32.abs - f32.const 2 - f32.le - if - local.get $1 - f32.const 2 - f32.eq - if - local.get $0 - local.get $0 - f32.mul - return - end - local.get $1 - f32.const 0.5 - f32.eq - if - local.get $0 - f32.sqrt - f32.abs - f32.const inf - local.get $0 - f32.const inf - f32.neg - f32.ne - select - return - end - local.get $1 - f32.const -1 - f32.eq - if - f32.const 1 - local.get $0 - f32.div - return - end - local.get $1 - f32.const 1 - f32.eq - if - local.get $0 - return - end - local.get $1 - f32.const 0 - f32.eq - if - f32.const 1 - return - end - end - block $~lib/util/math/powf_lut|inlined.0 (result f32) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - i32.const 0 - local.set $4 - local.get $3 - i32.reinterpret_f32 - local.set $5 - local.get $2 - i32.reinterpret_f32 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - i32.const 8388608 - i32.sub - i32.const 2130706432 - i32.ge_u - local.get $6 - local.set $8 - local.get $8 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const -16777217 - i32.ge_u - i32.const 0 - i32.ne - local.tee $7 - i32.or - if - local.get $7 - if - local.get $6 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if - f32.const 1 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1065353216 - i32.eq - if - f32.const nan:0x400000 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1 - i32.shl - i32.const -16777216 - i32.gt_u - if (result i32) - i32.const 1 - else - local.get $6 - i32.const 1 - i32.shl - i32.const -16777216 - i32.gt_u - end - if - local.get $3 - local.get $2 - f32.add - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1 - i32.shl - i32.const 2130706432 - i32.eq - if - f32.const nan:0x400000 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1 - i32.shl - i32.const 2130706432 - i32.lt_u - local.get $6 - i32.const 31 - i32.shr_u - i32.eqz - i32.eq - if - f32.const 0 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $2 - local.get $2 - f32.mul - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - local.set $8 - local.get $8 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const -16777217 - i32.ge_u - if - local.get $3 - local.get $3 - f32.mul - local.set $9 - local.get $5 - i32.const 31 - i32.shr_u - if (result i32) - block $~lib/util/math/checkintf|inlined.0 (result i32) - local.get $6 - local.set $8 - local.get $8 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $10 - local.get $10 - i32.const 127 - i32.lt_u - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.0 - end - local.get $10 - i32.const 150 - i32.gt_u - if - i32.const 2 - br $~lib/util/math/checkintf|inlined.0 - end - i32.const 1 - i32.const 150 - local.get $10 - i32.sub - i32.shl - local.set $10 - local.get $8 - local.get $10 - i32.const 1 - i32.sub - i32.and - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.0 - end - local.get $8 - local.get $10 - i32.and - if - i32.const 1 - br $~lib/util/math/checkintf|inlined.0 - end - i32.const 2 - end - i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $9 - f32.neg - local.set $9 - end - local.get $6 - i32.const 31 - i32.shr_u - if (result f32) - f32.const 1 - local.get $9 - f32.div - else - local.get $9 - end - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 31 - i32.shr_u - if - block $~lib/util/math/checkintf|inlined.1 (result i32) - local.get $6 - local.set $8 - local.get $8 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $10 - local.get $10 - i32.const 127 - i32.lt_u - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.1 - end - local.get $10 - i32.const 150 - i32.gt_u - if - i32.const 2 - br $~lib/util/math/checkintf|inlined.1 - end - i32.const 1 - i32.const 127 - i32.const 23 - i32.add - local.get $10 - i32.sub - i32.shl - local.set $10 - local.get $8 - local.get $10 - i32.const 1 - i32.sub - i32.and - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.1 - end - local.get $8 - local.get $10 - i32.and - if - i32.const 1 - br $~lib/util/math/checkintf|inlined.1 - end - i32.const 2 - end - local.set $10 - local.get $10 - i32.const 0 - i32.eq - if - local.get $3 - local.get $3 - f32.sub - local.get $3 - local.get $3 - f32.sub - f32.div - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $10 - i32.const 1 - i32.eq - if - i32.const 65536 - local.set $4 - end - local.get $5 - i32.const 2147483647 - i32.and - local.set $5 - end - local.get $5 - i32.const 8388608 - i32.lt_u - if - local.get $3 - f32.const 8388608 - f32.mul - i32.reinterpret_f32 - local.set $5 - local.get $5 - i32.const 2147483647 - i32.and - local.set $5 - local.get $5 - i32.const 23 - i32.const 23 - i32.shl - i32.sub - local.set $5 - end - end - local.get $5 - local.set $8 - local.get $8 - i32.const 1060306944 - i32.sub - local.set $10 - local.get $10 - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $11 - local.get $10 - i32.const -8388608 - i32.and - local.set $12 - local.get $8 - local.get $12 - i32.sub - local.set $13 - local.get $12 - i32.const 23 - i32.shr_s - local.set $14 - i32.const 9152 - local.get $11 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $15 - i32.const 9152 - local.get $11 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $16 - local.get $13 - f32.reinterpret_i32 - f64.promote_f32 - local.set $17 - local.get $17 - local.get $15 - f64.mul - f64.const 1 - f64.sub - local.set $18 - local.get $16 - local.get $14 - f64.convert_i32_s - f64.add - local.set $19 - f64.const 0.288457581109214 - local.get $18 - f64.mul - f64.const -0.36092606229713164 - f64.add - local.set $20 - f64.const 0.480898481472577 - local.get $18 - f64.mul - f64.const -0.7213474675006291 - f64.add - local.set $21 - f64.const 1.4426950408774342 - local.get $18 - f64.mul - local.get $19 - f64.add - local.set $22 - local.get $18 - local.get $18 - f64.mul - local.set $18 - local.get $22 - local.get $21 - local.get $18 - f64.mul - f64.add - local.set $22 - local.get $20 - local.get $18 - local.get $18 - f64.mul - f64.mul - local.get $22 - f64.add - local.set $20 - local.get $20 - local.set $22 - local.get $2 - f64.promote_f32 - local.get $22 - f64.mul - local.set $21 - local.get $21 - i64.reinterpret_f64 - i64.const 47 - i64.shr_u - i64.const 65535 - i64.and - i64.const 32959 - i64.ge_u - if - local.get $21 - f64.const 127.99999995700433 - f64.gt - if - local.get $4 - local.set $8 - local.get $8 - local.set $10 - i32.const 1879048192 - f32.reinterpret_i32 - local.set $9 - local.get $9 - f32.neg - local.get $9 - local.get $10 - select - local.get $9 - f32.mul - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $21 - f64.const -150 - f64.le - if - local.get $4 - local.set $11 - local.get $11 - local.set $12 - i32.const 268435456 - f32.reinterpret_i32 - local.set $9 - local.get $9 - f32.neg - local.get $9 - local.get $12 - select - local.get $9 - f32.mul - br $~lib/util/math/powf_lut|inlined.0 - end - end - local.get $21 - local.set $15 - local.get $4 - local.set $13 - local.get $15 - f64.const 211106232532992 - f64.add - local.set $20 - local.get $20 - i64.reinterpret_f64 - local.set $23 - local.get $15 - local.get $20 - f64.const 211106232532992 - f64.sub - f64.sub - local.set $19 - i32.const 6800 - local.get $23 - i32.wrap_i64 - i32.const 31 - i32.and - i32.const 3 - i32.shl - i32.add - i64.load - local.set $24 - local.get $24 - local.get $23 - local.get $13 - i64.extend_i32_u - i64.add - i64.const 52 - i64.const 5 - i64.sub - i64.shl - i64.add - local.set $24 - local.get $24 - f64.reinterpret_i64 - local.set $16 - f64.const 0.05550361559341535 - local.get $19 - f64.mul - f64.const 0.2402284522445722 - f64.add - local.set $18 - f64.const 0.6931471806916203 - local.get $19 - f64.mul - f64.const 1 - f64.add - local.set $17 - local.get $17 - local.get $18 - local.get $19 - local.get $19 - f64.mul - f64.mul - f64.add - local.set $17 - local.get $17 - local.get $16 - f64.mul - local.set $17 - local.get $17 - f32.demote_f64 - end - ) - (func $std/math/test_powf (; 134 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.pow - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $~lib/math/murmurHash3 (; 135 ;) (param $0 i64) (result i64) - local.get $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - i64.const -49064778989728563 - i64.mul - local.set $0 - local.get $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - i64.const -4265267296055464877 - i64.mul - local.set $0 - local.get $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - ) - (func $~lib/math/splitMix32 (; 136 ;) (param $0 i32) (result i32) - local.get $0 - i32.const 1831565813 - i32.add - local.set $0 - local.get $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - local.get $0 - i32.const 1 - i32.or - i32.mul - local.set $0 - local.get $0 - local.get $0 - local.get $0 - local.get $0 - i32.const 7 - i32.shr_u - i32.xor - local.get $0 - i32.const 61 - i32.or - i32.mul - i32.add - i32.xor - local.set $0 - local.get $0 - local.get $0 - i32.const 14 - i32.shr_u - i32.xor - ) - (func $~lib/math/NativeMath.seedRandom (; 137 ;) (param $0 i64) - i32.const 1 - global.set $~lib/math/random_seeded - local.get $0 - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state0_64 - global.get $~lib/math/random_state0_64 - i64.const -1 - i64.xor - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state1_64 - local.get $0 - i32.wrap_i64 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state0_32 - global.get $~lib/math/random_state0_32 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state1_32 - global.get $~lib/math/random_state0_64 - i64.const 0 - i64.ne - if (result i32) - global.get $~lib/math/random_state1_64 - i64.const 0 - i64.ne - else - i32.const 0 - end - if (result i32) - global.get $~lib/math/random_state0_32 - i32.const 0 - i32.ne - else - i32.const 0 - end - if (result i32) - global.get $~lib/math/random_state1_32 - i32.const 0 - i32.ne - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 13536 - i32.const 1406 - i32.const 4 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/math/NativeMath.random (; 138 ;) (result f64) - (local $0 i64) - (local $1 i64) - (local $2 i64) - global.get $~lib/math/random_seeded - i32.eqz - if - i32.const 13584 - i32.const 13536 - i32.const 1413 - i32.const 24 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/random_state0_64 - local.set $0 - global.get $~lib/math/random_state1_64 - local.set $1 - local.get $1 - global.set $~lib/math/random_state0_64 - local.get $0 - local.get $0 - i64.const 23 - i64.shl - i64.xor - local.set $0 - local.get $0 - local.get $0 - i64.const 17 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - local.get $1 - i64.xor - local.set $0 - local.get $0 - local.get $1 - i64.const 26 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - global.set $~lib/math/random_state1_64 - local.get $1 - i64.const 12 - i64.shr_u - i64.const 4607182418800017408 - i64.or - local.set $2 - local.get $2 - f64.reinterpret_i64 - f64.const 1 - f64.sub - ) - (func $~lib/math/NativeMathf.random (; 139 ;) (result f32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/math/random_seeded - i32.eqz - if - i32.const 13584 - i32.const 13536 - i32.const 2606 - i32.const 24 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/random_state0_32 - local.set $0 - global.get $~lib/math/random_state1_32 - local.set $1 - local.get $0 - i32.const -1640531525 - i32.mul - i32.const 5 - i32.rotl - i32.const 5 - i32.mul - local.set $2 - local.get $1 - local.get $0 - i32.xor - local.set $1 - local.get $0 - i32.const 26 - i32.rotl - local.get $1 - i32.xor - local.get $1 - i32.const 9 - i32.shl - i32.xor - global.set $~lib/math/random_state0_32 - local.get $1 - i32.const 13 - i32.rotl - global.set $~lib/math/random_state1_32 - local.get $2 - i32.const 9 - i32.shr_u - i32.const 127 - i32.const 23 - i32.shl - i32.or - f32.reinterpret_i32 - f32.const 1 - f32.sub - ) - (func $std/math/test_round (; 140 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - local.get $0 - local.set $4 - local.get $4 - f64.const 0.5 - f64.add - f64.floor - local.get $4 - f64.copysign - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_roundf (; 141 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - local.get $0 - local.set $4 - local.get $4 - f32.const 0.5 - f32.add - f32.floor - local.get $4 - f32.copysign - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_sign (; 142 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - block $~lib/math/NativeMath.sign|inlined.0 (result f64) - local.get $0 - local.set $4 - local.get $4 - f64.const 0 - f64.gt - if (result f64) - f64.const 1 - else - local.get $4 - f64.const 0 - f64.lt - if (result f64) - f64.const -1 - else - local.get $4 - end - end - br $~lib/math/NativeMath.sign|inlined.0 - end - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/sign - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_signf (; 143 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - block $~lib/math/NativeMathf.sign|inlined.0 (result f32) - local.get $0 - local.set $4 - local.get $4 - f32.const 0 - f32.gt - if (result f32) - f32.const 1 - else - local.get $4 - f32.const 0 - f32.lt - if (result f32) - f32.const -1 - else - local.get $4 - end - end - br $~lib/math/NativeMathf.sign|inlined.0 - end - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.rem (; 144 ;) (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i32) - (local $7 f64) - (local $8 i64) - (local $9 i32) - (local $10 i32) - (local $11 i64) - (local $12 f64) - 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 - i32.wrap_i64 - local.set $6 - local.get $3 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if (result i32) - i32.const 1 - else - local.get $4 - i64.const 2047 - i64.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - local.get $1 - f64.ne - end - if - local.get $0 - local.get $1 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.div - return - end - local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - local.get $0 - return - end - local.get $2 - local.set $8 - local.get $4 - i64.const 0 - i64.ne - i32.eqz - if - local.get $4 - local.get $8 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.set $4 - local.get $8 - i64.const 0 - local.get $4 - i64.sub - i64.const 1 - i64.add - i64.shl - local.set $8 - else - local.get $8 - i64.const -1 - i64.const 12 - i64.shr_u - i64.and - local.set $8 - local.get $8 - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $8 - end - local.get $5 - i64.const 0 - i64.ne - i32.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 - i32.const 0 - local.set $9 - block $do-break|0 - loop $do-continue|0 - local.get $4 - local.get $5 - i64.lt_s - if - local.get $4 - i64.const 1 - i64.add - local.get $5 - i64.eq - if - br $do-break|0 - end - local.get $0 - return - end - loop $while-continue|1 - local.get $4 - local.get $5 - i64.gt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $3 - i64.ge_u - if - local.get $8 - local.get $3 - i64.sub - local.set $8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - end - local.get $8 - i64.const 1 - i64.shl - local.set $8 - local.get $9 - i32.const 1 - i32.shl - local.set $9 - local.get $4 - i64.const 1 - i64.sub - local.set $4 - br $while-continue|1 - end - end - local.get $8 - local.get $3 - i64.ge_u - if - local.get $8 - local.get $3 - i64.sub - local.set $8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - end - local.get $8 - i64.const 0 - i64.eq - if - i64.const -60 - local.set $4 - else - local.get $8 - i64.const 11 - i64.shl - i64.clz - local.set $11 - local.get $4 - local.get $11 - i64.sub - local.set $4 - local.get $8 - local.get $11 - i64.shl - local.set $8 - end - br $do-break|0 - end - unreachable - end - local.get $4 - i64.const 0 - i64.gt_s - if - local.get $8 - i64.const 1 - i64.const 52 - i64.shl - i64.sub - local.set $8 - local.get $8 - local.get $4 - i64.const 52 - i64.shl - i64.or - local.set $8 - else - local.get $8 - i64.const 0 - local.get $4 - i64.sub - i64.const 1 - i64.add - i64.shr_u - local.set $8 - end - local.get $8 - f64.reinterpret_i64 - local.set $0 - local.get $1 - f64.abs - local.set $1 - local.get $0 - local.get $0 - f64.add - local.set $12 - local.get $4 - local.get $5 - i64.eq - if (result i32) - i32.const 1 - else - local.get $4 - i64.const 1 - i64.add - local.get $5 - i64.eq - if (result i32) - local.get $12 - local.get $1 - f64.gt - if (result i32) - i32.const 1 - else - local.get $12 - local.get $1 - f64.eq - if (result i32) - local.get $9 - i32.const 1 - i32.and - else - i32.const 0 - end - end - else - i32.const 0 - end - end - if - local.get $0 - local.get $1 - f64.sub - local.set $0 - end - local.get $6 - if (result f64) - local.get $0 - f64.neg - else - local.get $0 - end - ) - (func $std/math/test_rem (; 145 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.rem - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $~lib/math/NativeMathf.rem (; 146 ;) (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.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 31 - i32.shr_u - local.set $6 - local.get $2 - local.set $7 - local.get $3 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $4 - i32.const 255 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - local.get $1 - f32.ne - end - if - local.get $0 - local.get $1 - f32.mul - local.get $0 - local.get $1 - f32.mul - f32.div - return - end - local.get $2 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if - local.get $0 - return - end - local.get $4 - i32.eqz - if - local.get $4 - local.get $7 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.set $4 - local.get $7 - i32.const 0 - local.get $4 - i32.sub - i32.const 1 - i32.add - i32.shl - local.set $7 - else - local.get $7 - i32.const -1 - i32.const 9 - i32.shr_u - i32.and - local.set $7 - local.get $7 - i32.const 1 - i32.const 23 - i32.shl - i32.or - local.set $7 - 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 - i32.const 0 - local.set $8 - block $do-break|0 - loop $do-continue|0 - local.get $4 - local.get $5 - i32.lt_s - if - local.get $4 - i32.const 1 - i32.add - local.get $5 - i32.eq - if - br $do-break|0 - end - local.get $0 - return - end - loop $while-continue|1 - local.get $4 - local.get $5 - i32.gt_s - local.set $9 - local.get $9 - if - local.get $7 - local.get $3 - i32.ge_u - if - local.get $7 - local.get $3 - i32.sub - local.set $7 - local.get $8 - i32.const 1 - i32.add - local.set $8 - end - local.get $7 - i32.const 1 - i32.shl - local.set $7 - local.get $8 - i32.const 1 - i32.shl - local.set $8 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $while-continue|1 - end - end - local.get $7 - local.get $3 - i32.ge_u - if - local.get $7 - local.get $3 - i32.sub - local.set $7 - local.get $8 - i32.const 1 - i32.add - local.set $8 - end - local.get $7 - i32.const 0 - i32.eq - if - i32.const -30 - local.set $4 - else - local.get $7 - i32.const 8 - i32.shl - i32.clz - local.set $9 - local.get $4 - local.get $9 - i32.sub - local.set $4 - local.get $7 - local.get $9 - i32.shl - local.set $7 - end - br $do-break|0 - end - unreachable - end - local.get $4 - i32.const 0 - i32.gt_s - if - local.get $7 - i32.const 1 - i32.const 23 - i32.shl - i32.sub - local.set $7 - local.get $7 - local.get $4 - i32.const 23 - i32.shl - i32.or - local.set $7 - else - local.get $7 - i32.const 0 - local.get $4 - i32.sub - i32.const 1 - i32.add - i32.shr_u - local.set $7 - end - local.get $7 - f32.reinterpret_i32 - local.set $0 - local.get $1 - f32.abs - local.set $1 - local.get $0 - local.get $0 - f32.add - local.set $10 - local.get $4 - local.get $5 - i32.eq - if (result i32) - i32.const 1 - else - local.get $4 - i32.const 1 - i32.add - local.get $5 - i32.eq - if (result i32) - local.get $10 - local.get $1 - f32.gt - if (result i32) - i32.const 1 - else - local.get $10 - local.get $1 - f32.eq - if (result i32) - local.get $8 - i32.const 1 - i32.and - else - i32.const 0 - end - end - else - i32.const 0 - end - end - if - local.get $0 - local.get $1 - f32.sub - local.set $0 - end - local.get $6 - if (result f32) - local.get $0 - f32.neg - else - local.get $0 - end - ) - (func $std/math/test_remf (; 147 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.rem - local.get $2 - local.get $3 - local.get $4 - call $std/math/check - ) - (func $~lib/math/NativeMath.sin (; 148 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 i64) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 f64) - (local $17 i32) - (local $18 f64) - (local $19 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072243195 - i32.le_u - if - local.get $2 - i32.const 1045430272 - i32.lt_u - if - local.get $0 - return - end - block $~lib/math/sin_kern|inlined.1 (result f64) - local.get $0 - local.set $6 - f64.const 0 - local.set $5 - i32.const 0 - local.set $4 - local.get $6 - local.get $6 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $8 - f64.const 0.00833333333332249 - local.get $7 - f64.const -1.984126982985795e-04 - local.get $7 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $8 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $7 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $7 - local.get $6 - f64.mul - local.set $10 - local.get $4 - i32.eqz - if - local.get $6 - local.get $10 - f64.const -0.16666666666666632 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.1 - else - local.get $6 - local.get $7 - f64.const 0.5 - local.get $5 - f64.mul - local.get $10 - local.get $9 - f64.mul - f64.sub - f64.mul - local.get $5 - f64.sub - local.get $10 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.1 - end - unreachable - end - return - end - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.1 (result i32) - local.get $0 - local.set $5 - local.get $1 - local.set $11 - local.get $3 - local.set $4 - local.get $11 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $12 - local.get $12 - i32.const 1073928572 - i32.lt_u - if - i32.const 1 - local.set $13 - local.get $4 - i32.eqz - if - local.get $5 - f64.const 1.5707963267341256 - f64.sub - local.set $10 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $10 - f64.const 6.077100506506192e-11 - f64.sub - local.set $9 - local.get $10 - local.get $9 - f64.sub - f64.const 6.077100506506192e-11 - f64.sub - local.set $8 - else - local.get $10 - f64.const 6.077100506303966e-11 - f64.sub - local.set $10 - local.get $10 - f64.const 2.0222662487959506e-21 - f64.sub - local.set $9 - local.get $10 - local.get $9 - f64.sub - f64.const 2.0222662487959506e-21 - f64.sub - local.set $8 - end - else - local.get $5 - f64.const 1.5707963267341256 - f64.add - local.set $10 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $10 - f64.const 6.077100506506192e-11 - f64.add - local.set $9 - local.get $10 - local.get $9 - f64.sub - f64.const 6.077100506506192e-11 - f64.add - local.set $8 - else - local.get $10 - f64.const 6.077100506303966e-11 - f64.add - local.set $10 - local.get $10 - f64.const 2.0222662487959506e-21 - f64.add - local.set $9 - local.get $10 - local.get $9 - f64.sub - f64.const 2.0222662487959506e-21 - f64.add - local.set $8 - end - i32.const -1 - local.set $13 - end - local.get $9 - global.set $~lib/math/rempio2_y0 - local.get $8 - global.set $~lib/math/rempio2_y1 - local.get $13 - br $~lib/math/rempio2|inlined.1 - end - local.get $12 - i32.const 1094263291 - i32.lt_u - if - local.get $5 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $8 - local.get $5 - local.get $8 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.set $9 - local.get $8 - f64.const 6.077100506506192e-11 - f64.mul - local.set $10 - local.get $12 - i32.const 20 - i32.shr_u - local.set $13 - local.get $9 - local.get $10 - f64.sub - local.set $7 - local.get $7 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 16 - i32.gt_u - if - local.get $9 - local.set $6 - local.get $8 - f64.const 6.077100506303966e-11 - f64.mul - local.set $10 - local.get $6 - local.get $10 - f64.sub - local.set $9 - local.get $8 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $6 - local.get $9 - f64.sub - local.get $10 - f64.sub - f64.sub - local.set $10 - local.get $9 - local.get $10 - f64.sub - local.set $7 - local.get $7 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 49 - i32.gt_u - if - local.get $9 - local.set $16 - local.get $8 - f64.const 2.0222662487111665e-21 - f64.mul - local.set $10 - local.get $16 - local.get $10 - f64.sub - local.set $9 - local.get $8 - f64.const 8.4784276603689e-32 - f64.mul - local.get $16 - local.get $9 - f64.sub - local.get $10 - f64.sub - f64.sub - local.set $10 - local.get $9 - local.get $10 - f64.sub - local.set $7 - end - end - local.get $9 - local.get $7 - f64.sub - local.get $10 - f64.sub - local.set $6 - local.get $7 - global.set $~lib/math/rempio2_y0 - local.get $6 - global.set $~lib/math/rempio2_y1 - local.get $8 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.1 - end - local.get $5 - local.get $11 - call $~lib/math/pio2_large_quot - local.set $15 - i32.const 0 - local.get $15 - i32.sub - local.get $15 - local.get $4 - select - end - local.set $17 - global.get $~lib/math/rempio2_y0 - local.set $18 - global.get $~lib/math/rempio2_y1 - local.set $19 - local.get $17 - i32.const 1 - i32.and - if (result f64) - local.get $18 - local.set $8 - local.get $19 - local.set $16 - local.get $8 - local.get $8 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - local.get $5 - f64.const 0.0416666666666666 - local.get $5 - f64.const -0.001388888888887411 - local.get $5 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $6 - local.get $6 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $5 - f64.const 2.087572321298175e-09 - local.get $5 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $7 - f64.const 0.5 - local.get $5 - f64.mul - local.set $10 - f64.const 1 - local.get $10 - f64.sub - local.set $6 - local.get $6 - f64.const 1 - local.get $6 - f64.sub - local.get $10 - f64.sub - local.get $5 - local.get $7 - f64.mul - local.get $8 - local.get $16 - f64.mul - f64.sub - f64.add - f64.add - else - block $~lib/math/sin_kern|inlined.2 (result f64) - local.get $18 - local.set $16 - local.get $19 - local.set $9 - i32.const 1 - local.set $13 - local.get $16 - local.get $16 - f64.mul - local.set $10 - local.get $10 - local.get $10 - f64.mul - local.set $7 - f64.const 0.00833333333332249 - local.get $10 - f64.const -1.984126982985795e-04 - local.get $10 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $10 - local.get $7 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $10 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $10 - local.get $16 - f64.mul - local.set $5 - local.get $13 - i32.eqz - if - local.get $16 - local.get $5 - f64.const -0.16666666666666632 - local.get $10 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.2 - else - local.get $16 - local.get $10 - f64.const 0.5 - local.get $9 - f64.mul - local.get $5 - local.get $6 - f64.mul - f64.sub - f64.mul - local.get $9 - f64.sub - local.get $5 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.2 - end - unreachable - end - end - local.set $0 - local.get $17 - i32.const 2 - i32.and - if (result f64) - local.get $0 - f64.neg - else - local.get $0 - end - ) - (func $std/math/test_sin (; 149 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.sin - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/sin - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.sin (; 150 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 i32) - (local $10 f32) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 i64) - (local $15 i32) - (local $16 i64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 f64) - (local $26 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 31 - i32.shr_u - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1061752794 - i32.le_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $0 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $1 - i32.const 1081824209 - i32.le_u - if - local.get $1 - i32.const 1075235811 - i32.le_u - if - local.get $2 - if (result f32) - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -0.001388676377460993 - local.get $7 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $7 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $6 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - f32.neg - else - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.sub - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - f64.const -0.001388676377460993 - local.get $5 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $7 - f32.const 1 - f64.promote_f32 - local.get $5 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $6 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $6 - local.get $5 - f64.mul - local.get $7 - f64.mul - f64.add - f32.demote_f64 - end - return - end - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - f64.neg - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $7 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $7 - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $4 - f64.const -0.16666666641626524 - local.get $7 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $6 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $1 - i32.const 1088565717 - i32.le_u - if - local.get $1 - i32.const 1085271519 - i32.le_u - if - local.get $2 - if (result f32) - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.add - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - else - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $6 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $4 - f32.const 1 - f64.promote_f32 - local.get $6 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $6 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - f32.neg - end - return - end - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.1 (result i32) - local.get $0 - local.set $10 - local.get $1 - local.set $9 - local.get $2 - local.set $8 - local.get $9 - i32.const 1305022427 - i32.lt_u - if - local.get $10 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $7 - local.get $10 - f64.promote_f32 - local.get $7 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $7 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $7 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.1 - end - local.get $10 - local.set $12 - local.get $9 - local.set $11 - local.get $11 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $13 - local.get $13 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $14 - i32.const 4688 - local.get $13 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $15 - local.get $15 - i64.load - local.set $16 - local.get $15 - i64.load offset=8 - local.set $17 - local.get $14 - i64.const 32 - i64.gt_u - if - local.get $15 - i64.load offset=16 - local.set $19 - local.get $19 - i64.const 96 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - local.get $18 - local.get $17 - local.get $14 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $18 - else - local.get $17 - i64.const 32 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - end - local.get $17 - i64.const 64 - local.get $14 - i64.sub - i64.shr_u - local.get $16 - local.get $14 - i64.shl - i64.or - local.set $19 - local.get $11 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $20 - local.get $20 - local.get $19 - i64.mul - local.get $20 - local.get $18 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $21 - local.get $21 - i64.const 2 - i64.shl - local.set $22 - local.get $21 - i64.const 62 - i64.shr_u - local.get $22 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $23 - f64.const 8.515303950216386e-20 - local.get $12 - f64.promote_f32 - f64.copysign - local.get $22 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $23 - local.set $23 - i32.const 0 - local.get $23 - i32.sub - local.get $23 - local.get $8 - select - end - local.set $24 - global.get $~lib/math/rempio2f_y - local.set $25 - local.get $24 - i32.const 1 - i32.and - if (result f32) - local.get $25 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -0.001388676377460993 - local.get $7 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $7 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $6 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - else - local.get $25 - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $5 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $4 - f64.mul - local.set $3 - local.get $4 - local.get $3 - f64.const -0.16666666641626524 - local.get $5 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $6 - f64.mul - local.get $7 - f64.mul - f64.add - f32.demote_f64 - end - local.set $26 - local.get $24 - i32.const 2 - i32.and - if (result f32) - local.get $26 - f32.neg - else - local.get $26 - end - ) - (func $std/math/test_sinf (; 151 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.sin - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.sinh (; 152 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 f64) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $3 - f64.const 0.5 - local.get $0 - f64.copysign - local.set $5 - local.get $3 - i32.const 1082535490 - i32.lt_u - if - local.get $2 - call $~lib/math/NativeMath.expm1 - local.set $4 - local.get $3 - i32.const 1072693248 - i32.lt_u - if - local.get $3 - i32.const 1045430272 - i32.lt_u - if - local.get $0 - return - end - local.get $5 - f64.const 2 - local.get $4 - f64.mul - local.get $4 - local.get $4 - f64.mul - local.get $4 - f64.const 1 - f64.add - f64.div - f64.sub - f64.mul - return - end - local.get $5 - local.get $4 - local.get $4 - local.get $4 - f64.const 1 - f64.add - f64.div - f64.add - f64.mul - return - end - f64.const 2 - local.get $5 - f64.mul - local.get $2 - local.set $6 - i32.const 1023 - i32.const 2043 - i32.const 2 - i32.div_u - i32.add - i32.const 20 - i32.shl - i64.extend_i32_u - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $7 - local.get $6 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - local.get $7 - f64.mul - local.get $7 - f64.mul - f64.mul - local.set $4 - local.get $4 - ) - (func $std/math/test_sinh (; 153 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.sinh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/sinh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.sinh (; 154 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 f32) - (local $5 f32) - (local $6 f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $2 - f32.const 0.5 - local.get $0 - f32.copysign - local.set $4 - local.get $1 - i32.const 1118925335 - i32.lt_u - if - local.get $2 - call $~lib/math/NativeMathf.expm1 - local.set $3 - local.get $1 - i32.const 1065353216 - i32.lt_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $4 - f32.const 2 - local.get $3 - f32.mul - local.get $3 - local.get $3 - f32.mul - local.get $3 - f32.const 1 - f32.add - f32.div - f32.sub - f32.mul - return - end - local.get $4 - local.get $3 - local.get $3 - local.get $3 - f32.const 1 - f32.add - f32.div - f32.add - f32.mul - return - end - f32.const 2 - local.get $4 - f32.mul - local.get $2 - local.set $5 - i32.const 127 - i32.const 235 - i32.const 1 - i32.shr_u - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.set $6 - local.get $5 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - local.get $6 - f32.mul - local.get $6 - f32.mul - f32.mul - local.set $3 - local.get $3 - ) - (func $std/math/test_sinhf (; 155 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.sinh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_sqrt (; 156 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - local.get $0 - local.set $4 - local.get $4 - f64.sqrt - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/sqrt - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_sqrtf (; 157 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - local.get $0 - local.set $4 - local.get $4 - f32.sqrt - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/tan_kern (; 158 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $8 - local.get $8 - i32.const 2147483647 - i32.and - local.set $9 - local.get $9 - i32.const 1072010280 - i32.ge_s - local.set $10 - local.get $10 - if - local.get $8 - i32.const 0 - i32.lt_s - if - local.get $0 - f64.neg - local.set $0 - local.get $1 - f64.neg - local.set $1 - end - f64.const 0.7853981633974483 - local.get $0 - f64.sub - local.set $3 - f64.const 3.061616997868383e-17 - local.get $1 - f64.sub - local.set $6 - local.get $3 - local.get $6 - f64.add - local.set $0 - f64.const 0 - local.set $1 - end - local.get $0 - local.get $0 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $6 - f64.const 0.13333333333320124 - local.get $6 - f64.const 0.021869488294859542 - local.get $6 - f64.const 3.5920791075913124e-03 - local.get $6 - f64.const 5.880412408202641e-04 - local.get $6 - f64.const 7.817944429395571e-05 - local.get $6 - f64.const -1.8558637485527546e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $4 - local.get $3 - f64.const 0.05396825397622605 - local.get $6 - f64.const 0.0088632398235993 - local.get $6 - f64.const 1.4562094543252903e-03 - local.get $6 - f64.const 2.464631348184699e-04 - local.get $6 - f64.const 7.140724913826082e-05 - local.get $6 - f64.const 2.590730518636337e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $5 - local.get $3 - local.get $0 - f64.mul - local.set $7 - local.get $1 - local.get $3 - local.get $7 - local.get $4 - local.get $5 - f64.add - f64.mul - local.get $1 - f64.add - f64.mul - f64.add - local.set $4 - local.get $4 - f64.const 0.3333333333333341 - local.get $7 - f64.mul - f64.add - local.set $4 - local.get $0 - local.get $4 - f64.add - local.set $6 - local.get $10 - if - local.get $2 - f64.convert_i32_s - local.set $5 - f64.const 1 - local.get $8 - i32.const 30 - i32.shr_s - i32.const 2 - i32.and - f64.convert_i32_s - f64.sub - local.get $5 - f64.const 2 - local.get $0 - local.get $6 - local.get $6 - f64.mul - local.get $6 - local.get $5 - f64.add - f64.div - local.get $4 - f64.sub - f64.sub - f64.mul - f64.sub - f64.mul - return - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $6 - return - end - local.get $6 - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $3 - local.get $4 - local.get $3 - local.get $0 - f64.sub - f64.sub - local.set $5 - f64.const 1 - f64.neg - local.get $6 - f64.div - local.tee $11 - local.set $12 - local.get $12 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $12 - f64.const 1 - local.get $12 - local.get $3 - f64.mul - f64.add - local.set $7 - local.get $12 - local.get $11 - local.get $7 - local.get $12 - local.get $5 - f64.mul - f64.add - f64.mul - f64.add - ) - (func $~lib/math/NativeMath.tan (; 159 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 f64) - (local $7 i32) - (local $8 i32) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 i32) - (local $14 i32) - (local $15 f64) - (local $16 f64) - (local $17 i32) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072243195 - i32.le_s - if - local.get $2 - i32.const 1044381696 - i32.lt_s - if - local.get $0 - return - end - local.get $0 - f64.const 0 - i32.const 1 - call $~lib/math/tan_kern - return - end - local.get $2 - i32.const 2146435072 - i32.ge_s - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.2 (result i32) - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $3 - local.set $4 - local.get $5 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $7 - local.get $7 - i32.const 1073928572 - i32.lt_u - if - i32.const 1 - local.set $8 - local.get $4 - i32.eqz - if - local.get $6 - f64.const 1.5707963267341256 - f64.sub - local.set $9 - local.get $7 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.sub - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 6.077100506506192e-11 - f64.sub - local.set $11 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.sub - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.sub - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 2.0222662487959506e-21 - f64.sub - local.set $11 - end - else - local.get $6 - f64.const 1.5707963267341256 - f64.add - local.set $9 - local.get $7 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.add - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 6.077100506506192e-11 - f64.add - local.set $11 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.add - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.add - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 2.0222662487959506e-21 - f64.add - local.set $11 - end - i32.const -1 - local.set $8 - end - local.get $10 - global.set $~lib/math/rempio2_y0 - local.get $11 - global.set $~lib/math/rempio2_y1 - local.get $8 - br $~lib/math/rempio2|inlined.2 - end - local.get $7 - i32.const 1094263291 - i32.lt_u - if - local.get $6 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $11 - local.get $6 - local.get $11 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.set $10 - local.get $11 - f64.const 6.077100506506192e-11 - f64.mul - local.set $9 - local.get $7 - i32.const 20 - i32.shr_u - local.set $8 - local.get $10 - local.get $9 - f64.sub - local.set $12 - local.get $12 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $13 - local.get $8 - local.get $13 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $14 - local.get $14 - i32.const 16 - i32.gt_u - if - local.get $10 - local.set $15 - local.get $11 - f64.const 6.077100506303966e-11 - f64.mul - local.set $9 - local.get $15 - local.get $9 - f64.sub - local.set $10 - local.get $11 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $15 - local.get $10 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $10 - local.get $9 - f64.sub - local.set $12 - local.get $12 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $13 - local.get $8 - local.get $13 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $14 - local.get $14 - i32.const 49 - i32.gt_u - if - local.get $10 - local.set $16 - local.get $11 - f64.const 2.0222662487111665e-21 - f64.mul - local.set $9 - local.get $16 - local.get $9 - f64.sub - local.set $10 - local.get $11 - f64.const 8.4784276603689e-32 - f64.mul - local.get $16 - local.get $10 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $10 - local.get $9 - f64.sub - local.set $12 - end - end - local.get $10 - local.get $12 - f64.sub - local.get $9 - f64.sub - local.set $15 - local.get $12 - global.set $~lib/math/rempio2_y0 - local.get $15 - global.set $~lib/math/rempio2_y1 - local.get $11 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.2 - end - local.get $6 - local.get $5 - call $~lib/math/pio2_large_quot - local.set $14 - i32.const 0 - local.get $14 - i32.sub - local.get $14 - local.get $4 - select - end - local.set $17 - global.get $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 - i32.const 1 - local.get $17 - i32.const 1 - i32.and - i32.const 1 - i32.shl - i32.sub - call $~lib/math/tan_kern - ) - (func $std/math/test_tan (; 160 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.tan - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/tan - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.tan (; 161 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 f32) - (local $15 i32) - (local $16 i64) - (local $17 i32) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i32) - (local $26 i32) - (local $27 f64) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 31 - i32.shr_u - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1061752794 - i32.le_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $0 - f64.promote_f32 - local.set $4 - i32.const 0 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.002974357433599673 - local.get $5 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $6 - f64.const 0.05338123784456704 - local.get $5 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $5 - f64.mul - local.set $8 - local.get $5 - local.get $4 - f64.mul - local.set $9 - f64.const 0.3333313950307914 - local.get $5 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $10 - local.get $4 - local.get $9 - local.get $10 - f64.mul - f64.add - local.get $9 - local.get $8 - f64.mul - local.get $7 - local.get $8 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $6 - f64.div - else - local.get $6 - end - f32.demote_f64 - return - end - local.get $1 - i32.const 1081824209 - i32.le_u - if - local.get $1 - i32.const 1075235811 - i32.le_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.sub - end - local.set $4 - i32.const 1 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $10 - f64.const 0.002974357433599673 - local.get $10 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $9 - f64.const 0.05338123784456704 - local.get $10 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $8 - local.get $10 - local.get $10 - f64.mul - local.set $7 - local.get $10 - local.get $4 - f64.mul - local.set $6 - f64.const 0.3333313950307914 - local.get $10 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $5 - local.get $4 - local.get $6 - local.get $5 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $8 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $9 - f64.div - else - local.get $9 - end - f32.demote_f64 - return - else - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - local.set $4 - i32.const 0 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.002974357433599673 - local.get $5 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $6 - f64.const 0.05338123784456704 - local.get $5 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $5 - f64.mul - local.set $8 - local.get $5 - local.get $4 - f64.mul - local.set $9 - f64.const 0.3333313950307914 - local.get $5 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $10 - local.get $4 - local.get $9 - local.get $10 - f64.mul - f64.add - local.get $9 - local.get $8 - f64.mul - local.get $7 - local.get $8 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $6 - f64.div - else - local.get $6 - end - f32.demote_f64 - return - end - unreachable - end - local.get $1 - i32.const 1088565717 - i32.le_u - if - local.get $1 - i32.const 1085271519 - i32.le_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - end - local.set $4 - i32.const 1 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $10 - f64.const 0.002974357433599673 - local.get $10 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $9 - f64.const 0.05338123784456704 - local.get $10 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $8 - local.get $10 - local.get $10 - f64.mul - local.set $7 - local.get $10 - local.get $4 - f64.mul - local.set $6 - f64.const 0.3333313950307914 - local.get $10 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $5 - local.get $4 - local.get $6 - local.get $5 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $8 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $9 - f64.div - else - local.get $9 - end - f32.demote_f64 - return - else - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $4 - i32.const 0 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.002974357433599673 - local.get $5 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $6 - f64.const 0.05338123784456704 - local.get $5 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $5 - f64.mul - local.set $8 - local.get $5 - local.get $4 - f64.mul - local.set $9 - f64.const 0.3333313950307914 - local.get $5 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $10 - local.get $4 - local.get $9 - local.get $10 - f64.mul - f64.add - local.get $9 - local.get $8 - f64.mul - local.get $7 - local.get $8 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $6 - f64.div - else - local.get $6 - end - f32.demote_f64 - return - end - unreachable - end - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.2 (result i32) - local.get $0 - local.set $12 - local.get $1 - local.set $11 - local.get $2 - local.set $3 - local.get $11 - i32.const 1305022427 - i32.lt_u - if - local.get $12 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $10 - local.get $12 - f64.promote_f32 - local.get $10 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $10 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $10 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.2 - end - local.get $12 - local.set $14 - local.get $11 - local.set $13 - local.get $13 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $15 - local.get $15 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $16 - i32.const 4688 - local.get $15 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $17 - local.get $17 - i64.load - local.set $18 - local.get $17 - i64.load offset=8 - local.set $19 - local.get $16 - i64.const 32 - i64.gt_u - if - local.get $17 - i64.load offset=16 - local.set $21 - local.get $21 - i64.const 96 - local.get $16 - i64.sub - i64.shr_u - local.set $20 - local.get $20 - local.get $19 - local.get $16 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $20 - else - local.get $19 - i64.const 32 - local.get $16 - i64.sub - i64.shr_u - local.set $20 - end - local.get $19 - i64.const 64 - local.get $16 - i64.sub - i64.shr_u - local.get $18 - local.get $16 - i64.shl - i64.or - local.set $21 - local.get $13 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $22 - local.get $22 - local.get $21 - i64.mul - local.get $22 - local.get $20 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $23 - i64.const 2 - i64.shl - local.set $24 - local.get $23 - i64.const 62 - i64.shr_u - local.get $24 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $25 - f64.const 8.515303950216386e-20 - local.get $14 - f64.promote_f32 - f64.copysign - local.get $24 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $25 - local.set $25 - i32.const 0 - local.get $25 - i32.sub - local.get $25 - local.get $3 - select - end - local.set $26 - global.get $~lib/math/rempio2f_y - local.set $27 - local.get $27 - local.set $4 - local.get $26 - i32.const 1 - i32.and - local.set $13 - local.get $4 - local.get $4 - f64.mul - local.set $10 - f64.const 0.002974357433599673 - local.get $10 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $9 - f64.const 0.05338123784456704 - local.get $10 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $8 - local.get $10 - local.get $10 - f64.mul - local.set $7 - local.get $10 - local.get $4 - f64.mul - local.set $6 - f64.const 0.3333313950307914 - local.get $10 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $5 - local.get $4 - local.get $6 - local.get $5 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $8 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $13 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $9 - f64.div - else - local.get $9 - end - f32.demote_f64 - ) - (func $std/math/test_tanf (; 162 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.tan - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.tanh (; 163 ;) (param $0 f64) (result f64) - (local $1 i64) - (local $2 f64) - (local $3 i32) - (local $4 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 9223372036854775807 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $3 - local.get $3 - i32.const 1071748074 - i32.gt_u - if - local.get $3 - i32.const 1077149696 - i32.gt_u - if - f64.const 1 - f64.const 0 - local.get $2 - f64.div - f64.sub - local.set $4 - else - f64.const 2 - local.get $2 - f64.mul - call $~lib/math/NativeMath.expm1 - local.set $4 - f64.const 1 - f64.const 2 - local.get $4 - f64.const 2 - f64.add - f64.div - f64.sub - local.set $4 - end - else - local.get $3 - i32.const 1070618798 - i32.gt_u - if - f64.const 2 - local.get $2 - f64.mul - call $~lib/math/NativeMath.expm1 - local.set $4 - local.get $4 - local.get $4 - f64.const 2 - f64.add - f64.div - local.set $4 - else - local.get $3 - i32.const 1048576 - i32.ge_u - if - f64.const -2 - local.get $2 - f64.mul - call $~lib/math/NativeMath.expm1 - local.set $4 - local.get $4 - f64.neg - local.get $4 - f64.const 2 - f64.add - f64.div - local.set $4 - else - local.get $2 - local.set $4 - end - end - end - local.get $4 - local.get $0 - f64.copysign - ) - (func $std/math/test_tanh (; 164 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.tanh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/tanh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.tanh (; 165 ;) (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $2 - local.get $1 - i32.const 1057791828 - i32.gt_u - if - local.get $1 - i32.const 1092616192 - i32.gt_u - if - f32.const 1 - f32.const 0 - local.get $2 - f32.div - f32.add - local.set $3 - else - f32.const 2 - local.get $2 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.set $3 - f32.const 1 - f32.const 2 - local.get $3 - f32.const 2 - f32.add - f32.div - f32.sub - local.set $3 - end - else - local.get $1 - i32.const 1048757624 - i32.gt_u - if - f32.const 2 - local.get $2 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.set $3 - local.get $3 - local.get $3 - f32.const 2 - f32.add - f32.div - local.set $3 - else - local.get $1 - i32.const 8388608 - i32.ge_u - if - f32.const -2 - local.get $2 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.set $3 - local.get $3 - f32.neg - local.get $3 - f32.const 2 - f32.add - f32.div - local.set $3 - else - local.get $2 - local.set $3 - end - end - end - local.get $3 - local.get $0 - f32.copysign - ) - (func $std/math/test_tanhf (; 166 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.tanh - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $std/math/test_trunc (; 167 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - (local $4 f64) - local.get $0 - local.set $4 - local.get $4 - f64.trunc - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - if (result i32) - global.get $std/math/js - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - call $~lib/bindings/Math/trunc - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - end - else - i32.const 0 - end - ) - (func $std/math/test_truncf (; 168 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - (local $4 f32) - local.get $0 - local.set $4 - local.get $4 - f32.trunc - local.get $1 - local.get $2 - local.get $3 - call $std/math/check - ) - (func $~lib/math/NativeMath.sincos (; 169 ;) (param $0 f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 i64) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 f64) - (local $17 i32) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - (local $22 f64) - (local $23 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072243195 - i32.le_u - if - local.get $2 - i32.const 1044816030 - i32.lt_u - if - local.get $0 - global.set $~lib/math/NativeMath.sincos_sin - f64.const 1 - global.set $~lib/math/NativeMath.sincos_cos - return - end - block $~lib/math/sin_kern|inlined.3 (result f64) - local.get $0 - local.set $6 - f64.const 0 - local.set $5 - i32.const 0 - local.set $4 - local.get $6 - local.get $6 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $8 - f64.const 0.00833333333332249 - local.get $7 - f64.const -1.984126982985795e-04 - local.get $7 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $8 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $7 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $7 - local.get $6 - f64.mul - local.set $10 - local.get $4 - i32.eqz - if - local.get $6 - local.get $10 - f64.const -0.16666666666666632 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.3 - else - local.get $6 - local.get $7 - f64.const 0.5 - local.get $5 - f64.mul - local.get $10 - local.get $9 - f64.mul - f64.sub - f64.mul - local.get $5 - f64.sub - local.get $10 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.3 - end - unreachable - end - global.set $~lib/math/NativeMath.sincos_sin - local.get $0 - local.set $6 - f64.const 0 - local.set $5 - local.get $6 - local.get $6 - f64.mul - local.set $10 - local.get $10 - local.get $10 - f64.mul - local.set $9 - local.get $10 - f64.const 0.0416666666666666 - local.get $10 - f64.const -0.001388888888887411 - local.get $10 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $9 - local.get $9 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $10 - f64.const 2.087572321298175e-09 - local.get $10 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $8 - f64.const 0.5 - local.get $10 - f64.mul - local.set $7 - f64.const 1 - local.get $7 - f64.sub - local.set $9 - local.get $9 - f64.const 1 - local.get $9 - f64.sub - local.get $7 - f64.sub - local.get $10 - local.get $8 - f64.mul - local.get $6 - local.get $5 - f64.mul - f64.sub - f64.add - f64.add - global.set $~lib/math/NativeMath.sincos_cos - return - end - local.get $2 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f64.sub - local.set $7 - local.get $7 - global.set $~lib/math/NativeMath.sincos_sin - local.get $7 - global.set $~lib/math/NativeMath.sincos_cos - return - end - block $~lib/math/rempio2|inlined.3 (result i32) - local.get $0 - local.set $5 - local.get $1 - local.set $11 - local.get $3 - local.set $4 - local.get $11 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $12 - local.get $12 - i32.const 1073928572 - i32.lt_u - if - i32.const 1 - local.set $13 - local.get $4 - i32.eqz - if - local.get $5 - f64.const 1.5707963267341256 - f64.sub - local.set $7 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $7 - f64.const 6.077100506506192e-11 - f64.sub - local.set $8 - local.get $7 - local.get $8 - f64.sub - f64.const 6.077100506506192e-11 - f64.sub - local.set $9 - else - local.get $7 - f64.const 6.077100506303966e-11 - f64.sub - local.set $7 - local.get $7 - f64.const 2.0222662487959506e-21 - f64.sub - local.set $8 - local.get $7 - local.get $8 - f64.sub - f64.const 2.0222662487959506e-21 - f64.sub - local.set $9 - end - else - local.get $5 - f64.const 1.5707963267341256 - f64.add - local.set $7 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $7 - f64.const 6.077100506506192e-11 - f64.add - local.set $8 - local.get $7 - local.get $8 - f64.sub - f64.const 6.077100506506192e-11 - f64.add - local.set $9 - else - local.get $7 - f64.const 6.077100506303966e-11 - f64.add - local.set $7 - local.get $7 - f64.const 2.0222662487959506e-21 - f64.add - local.set $8 - local.get $7 - local.get $8 - f64.sub - f64.const 2.0222662487959506e-21 - f64.add - local.set $9 - end - i32.const -1 - local.set $13 - end - local.get $8 - global.set $~lib/math/rempio2_y0 - local.get $9 - global.set $~lib/math/rempio2_y1 - local.get $13 - br $~lib/math/rempio2|inlined.3 - end - local.get $12 - i32.const 1094263291 - i32.lt_u - if - local.get $5 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $9 - local.get $5 - local.get $9 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.set $8 - local.get $9 - f64.const 6.077100506506192e-11 - f64.mul - local.set $7 - local.get $12 - i32.const 20 - i32.shr_u - local.set $13 - local.get $8 - local.get $7 - f64.sub - local.set $10 - local.get $10 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 16 - i32.gt_u - if - local.get $8 - local.set $6 - local.get $9 - f64.const 6.077100506303966e-11 - f64.mul - local.set $7 - local.get $6 - local.get $7 - f64.sub - local.set $8 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $6 - local.get $8 - f64.sub - local.get $7 - f64.sub - f64.sub - local.set $7 - local.get $8 - local.get $7 - f64.sub - local.set $10 - local.get $10 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 49 - i32.gt_u - if - local.get $8 - local.set $16 - local.get $9 - f64.const 2.0222662487111665e-21 - f64.mul - local.set $7 - local.get $16 - local.get $7 - f64.sub - local.set $8 - local.get $9 - f64.const 8.4784276603689e-32 - f64.mul - local.get $16 - local.get $8 - f64.sub - local.get $7 - f64.sub - f64.sub - local.set $7 - local.get $8 - local.get $7 - f64.sub - local.set $10 - end - end - local.get $8 - local.get $10 - f64.sub - local.get $7 - f64.sub - local.set $6 - local.get $10 - global.set $~lib/math/rempio2_y0 - local.get $6 - global.set $~lib/math/rempio2_y1 - local.get $9 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.3 - end - local.get $5 - local.get $11 - call $~lib/math/pio2_large_quot - local.set $15 - i32.const 0 - local.get $15 - i32.sub - local.get $15 - local.get $4 - select - end - local.set $17 - global.get $~lib/math/rempio2_y0 - local.set $18 - global.get $~lib/math/rempio2_y1 - local.set $19 - block $~lib/math/sin_kern|inlined.4 (result f64) - local.get $18 - local.set $9 - local.get $19 - local.set $16 - i32.const 1 - local.set $13 - local.get $9 - local.get $9 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - f64.const 0.00833333333332249 - local.get $5 - f64.const -1.984126982985795e-04 - local.get $5 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $5 - local.get $6 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $5 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $10 - local.get $5 - local.get $9 - f64.mul - local.set $7 - local.get $13 - i32.eqz - if - local.get $9 - local.get $7 - f64.const -0.16666666666666632 - local.get $5 - local.get $10 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.4 - else - local.get $9 - local.get $5 - f64.const 0.5 - local.get $16 - f64.mul - local.get $7 - local.get $10 - f64.mul - f64.sub - f64.mul - local.get $16 - f64.sub - local.get $7 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.4 - end - unreachable - end - local.set $20 - local.get $18 - local.set $16 - local.get $19 - local.set $8 - local.get $16 - local.get $16 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $10 - local.get $7 - f64.const 0.0416666666666666 - local.get $7 - f64.const -0.001388888888887411 - local.get $7 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $10 - local.get $10 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $7 - f64.const 2.087572321298175e-09 - local.get $7 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - f64.const 0.5 - local.get $7 - f64.mul - local.set $5 - f64.const 1 - local.get $5 - f64.sub - local.set $10 - local.get $10 - f64.const 1 - local.get $10 - f64.sub - local.get $5 - f64.sub - local.get $7 - local.get $6 - f64.mul - local.get $16 - local.get $8 - f64.mul - f64.sub - f64.add - f64.add - local.set $21 - local.get $20 - local.set $22 - local.get $21 - local.set $23 - local.get $17 - i32.const 1 - i32.and - if - local.get $21 - local.set $22 - local.get $20 - f64.neg - local.set $23 - end - local.get $17 - i32.const 2 - i32.and - if - local.get $22 - f64.neg - local.set $22 - local.get $23 - f64.neg - local.set $23 - end - local.get $22 - global.set $~lib/math/NativeMath.sincos_sin - local.get $23 - global.set $~lib/math/NativeMath.sincos_cos - ) - (func $std/math/test_sincos (; 170 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i32) (result i32) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - local.get $0 - f64.reinterpret_i64 - local.set $6 - local.get $1 - f64.reinterpret_i64 - local.set $7 - local.get $3 - f64.reinterpret_i64 - local.set $8 - local.get $2 - f64.reinterpret_i64 - local.set $9 - local.get $4 - f64.reinterpret_i64 - local.set $10 - local.get $6 - call $~lib/math/NativeMath.sincos - global.get $~lib/math/NativeMath.sincos_sin - local.get $7 - local.get $9 - local.get $5 - call $std/math/check - if (result i32) - global.get $~lib/math/NativeMath.sincos_cos - local.get $8 - local.get $10 - local.get $5 - call $std/math/check - else - i32.const 0 - end - ) - (func $~lib/math/dtoi32 (; 171 ;) (param $0 f64) (result i32) - (local $1 i32) - (local $2 i64) - (local $3 i64) - (local $4 i64) - i32.const 0 - local.set $1 - local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $3 - local.get $3 - i64.const 1053 - i64.le_u - if - local.get $0 - i32.trunc_f64_s - local.set $1 - else - local.get $3 - i64.const 1106 - i64.le_u - if - local.get $2 - i64.const 1 - i64.const 52 - i64.shl - i64.const 1 - i64.sub - i64.and - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $4 - local.get $4 - local.get $3 - i64.const 1023 - i64.sub - i64.const 52 - i64.sub - i64.const 32 - i64.add - i64.shl - local.set $4 - local.get $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - i32.const 0 - local.get $1 - i32.sub - local.get $1 - local.get $2 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - select - local.set $1 - end - end - local.get $1 - return - ) - (func $~lib/math/NativeMath.imul (; 172 ;) (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - local.get $0 - local.get $1 - f64.add - local.tee $2 - local.get $2 - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - f64.const 0 - return - end - local.get $0 - call $~lib/math/dtoi32 - local.get $1 - call $~lib/math/dtoi32 - i32.mul - f64.convert_i32_s - ) - (func $~lib/math/NativeMath.clz32 (; 173 ;) (param $0 f64) (result f64) - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - f64.const 32 - return - end - local.get $0 - call $~lib/math/dtoi32 - i32.clz - f64.convert_i32_s - ) - (func $~lib/math/ipow64 (; 174 ;) (param $0 i64) (param $1 i32) (result i64) - (local $2 i64) - (local $3 i32) - (local $4 i32) - i64.const 1 - local.set $2 - local.get $1 - i32.const 0 - i32.lt_s - if - i64.const 0 - return - end - block $break|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $1 - local.set $3 - local.get $3 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case2|0 - br $break|0 - end - i64.const 1 - return - end - local.get $0 - return - end - local.get $0 - local.get $0 - i64.mul - return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - local.get $3 - i32.const 6 - i32.le_s - if - block $break|1 - block $case5|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $3 - local.set $4 - local.get $4 - i32.const 6 - i32.eq - br_if $case0|1 - local.get $4 - i32.const 5 - i32.eq - br_if $case1|1 - local.get $4 - i32.const 4 - i32.eq - br_if $case2|1 - local.get $4 - i32.const 3 - i32.eq - br_if $case3|1 - local.get $4 - i32.const 2 - i32.eq - br_if $case4|1 - local.get $4 - i32.const 1 - i32.eq - br_if $case5|1 - br $break|1 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - end - local.get $2 - return - end - loop $while-continue|2 - local.get $1 - i32.const 0 - i32.gt_s - local.set $3 - local.get $3 - if - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - br $while-continue|2 - end - end - local.get $2 - ) - (func $~lib/math/ipow32f (; 175 ;) (param $0 f32) (param $1 i32) (result f32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.set $2 - local.get $1 - local.get $2 - i32.add - local.get $2 - i32.xor - local.set $1 - f32.const 1 - local.set $3 - loop $while-continue|0 - local.get $1 - local.set $4 - local.get $4 - if - local.get $3 - local.get $0 - f32.const 1 - local.get $1 - i32.const 1 - i32.and - select - f32.mul - local.set $3 - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - f32.mul - local.set $0 - br $while-continue|0 - end - end - local.get $2 - if (result f32) - f32.const 1 - local.get $3 - f32.div - else - local.get $3 - end - ) - (func $~lib/math/ipow64f (; 176 ;) (param $0 f64) (param $1 i32) (result f64) - (local $2 i32) - (local $3 f64) - (local $4 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.set $2 - local.get $1 - local.get $2 - i32.add - local.get $2 - i32.xor - local.set $1 - f64.const 1 - local.set $3 - loop $while-continue|0 - local.get $1 - local.set $4 - local.get $4 - if - local.get $3 - local.get $0 - f64.const 1 - local.get $1 - i32.const 1 - i32.and - select - f64.mul - local.set $3 - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - f64.mul - local.set $0 - br $while-continue|0 - end - end - local.get $2 - if (result f64) - f64.const 1 - local.get $3 - f64.div - else - local.get $3 - end - ) - (func $start:std/math (; 177 ;) - (local $0 f64) - (local $1 i32) - (local $2 i32) - (local $3 i64) - (local $4 f32) - f64.const 2.718281828459045 - global.get $~lib/bindings/Math/E - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6931471805599453 - global.get $~lib/bindings/Math/LN2 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.302585092994046 - global.get $~lib/bindings/Math/LN10 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.4426950408889634 - global.get $~lib/bindings/Math/LOG2E - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.141592653589793 - global.get $~lib/bindings/Math/PI - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7071067811865476 - global.get $~lib/bindings/Math/SQRT1_2 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 116 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.4142135623730951 - global.get $~lib/bindings/Math/SQRT2 - f64.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.7182817459106445 - global.get $~lib/bindings/Math/E - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 119 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6931471824645996 - global.get $~lib/bindings/Math/LN2 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3025851249694824 - global.get $~lib/bindings/Math/LN10 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4426950216293335 - global.get $~lib/bindings/Math/LOG2E - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3.1415927410125732 - global.get $~lib/bindings/Math/PI - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7071067690849304 - global.get $~lib/bindings/Math/SQRT1_2 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4142135381698608 - global.get $~lib/bindings/Math/SQRT2 - f32.demote_f64 - f32.const 0 - i32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - i32.const -2 - f64.const -2.01671209764492 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - i32.const -1 - f64.const 2.1726199246691524 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - i32.const 0 - f64.const -8.38143342755525 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - i32.const 1 - f64.const -13.063347163826968 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - i32.const 2 - f64.const 37.06822786789034 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - i32.const 3 - f64.const 5.295887184796036 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - i32.const 4 - f64.const -6.505662758165685 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - i32.const 5 - f64.const 17.97631187906317 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - i32.const 6 - f64.const 49.545746981843436 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - i32.const 7 - f64.const -86.88175393784351 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - i32.const 2147483647 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 148 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - i32.const -2147483647 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 149 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - i32.const 2147483647 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 0 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 0 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 1 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 2147483647 - f64.const inf - f64.const 0 - i32.const 17 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 2147483647 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const -2147483647 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 160 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 2147483647 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 161 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311579538646525e283 - i32.const -2097 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 162 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - i32.const 2097 - f64.const 8988465674311579538646525e283 - f64.const 0 - i32.const 0 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.000244140625 - i32.const -1074 - f64.const 5e-324 - f64.const 0 - i32.const 9 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 164 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7499999999999999 - i32.const -1073 - f64.const 5e-324 - f64.const 0 - i32.const 9 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 165 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5000000000000012 - i32.const -1024 - f64.const 2.781342323134007e-309 - f64.const 0 - i32.const 9 - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 166 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - i32.const -2 - f32.const -2.016712188720703 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 175 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - i32.const -1 - f32.const 2.1726198196411133 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 176 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - i32.const 0 - f32.const -8.381433486938477 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 177 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - i32.const 1 - f32.const -13.063346862792969 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 178 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - i32.const 2 - f32.const 37.06822967529297 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 179 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - i32.const 3 - f32.const 5.295886993408203 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 180 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - i32.const 4 - f32.const -6.50566291809082 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - i32.const 5 - f32.const 17.9763126373291 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 182 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - i32.const 6 - f32.const 49.545745849609375 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 183 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - i32.const 7 - f32.const -86.88175201416016 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - i32.const 2147483647 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - i32.const -2147483647 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 188 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - i32.const 2147483647 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 0 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 191 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 0 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 1 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 2147483647 - f32.const inf - f32.const 0 - i32.const 17 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 2147483647 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 198 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const -2147483647 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 199 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 2147483647 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 200 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1701411834604692317316873e14 - i32.const -276 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 201 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - i32.const 276 - f32.const 1701411834604692317316873e14 - f32.const 0 - i32.const 0 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 202 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.000244140625 - i32.const -149 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 9 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 203 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7499999403953552 - i32.const -148 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 9 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 204 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5000006556510925 - i32.const -128 - f32.const 1.4693693398263237e-39 - f32.const 0 - i32.const 9 - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 205 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 8.06684839057968 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 217 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 218 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 8.38143342755525 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 219 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 6.531673581913484 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 220 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9.267056966972586 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 221 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.6619858980995045 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 222 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 0.4066039223853553 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 223 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5617597462207241 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 224 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.7741522965913037 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 225 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 0.6787637026394024 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 226 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 229 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 230 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 231 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 232 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 233 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 234 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_abs - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 235 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 8.066848754882812 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 8.381433486938477 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 6.531673431396484 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9.267057418823242 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6619858741760254 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 249 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 0.40660393238067627 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 250 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5617597699165344 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 251 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.7741522789001465 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 0.6787636876106262 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 253 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 256 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 257 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_absf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 262 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 275 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 276 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 277 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 278 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8473310828433507 - f64.const -0.41553276777267456 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 279 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 1.989530071088669 - f64.const 0.4973946213722229 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 280 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.9742849645674904 - f64.const -0.4428897500038147 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 281 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6854215158636222 - f64.const -0.12589527666568756 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 282 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 2.316874138205964 - f64.const -0.17284949123859406 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 291 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 293 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5309227209592985 - f64.const 2.1304853799705463 - f64.const 0.1391008496284485 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.4939556746399746 - f64.const 1.0541629875851946 - f64.const 0.22054767608642578 - i32.const 1 - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 306 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 307 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 308 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.8473311066627502 - f32.const -0.13588131964206696 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 309 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 1.989530086517334 - f32.const 0.03764917701482773 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 310 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.9742849469184875 - f32.const 0.18443739414215088 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.6854215264320374 - f32.const -0.29158344864845276 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 2.3168740272521973 - f32.const -0.3795364499092102 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 313 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 316 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 317 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 318 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 319 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 320 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 322 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 323 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.49965065717697144 - f32.const 1.0476008653640747 - f32.const -0.21161814033985138 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 324 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5051405429840088 - f32.const 2.1003410816192627 - f32.const -0.20852705836296082 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 325 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5189794898033142 - f32.const 2.116452932357788 - f32.const -0.14600826799869537 - i32.const 1 - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 326 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 338 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.1487163980597503 - f64.const -0.291634738445282 - i32.const 1 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 339 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 340 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 341 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.91668914109908 - f64.const -0.24191908538341522 - i32.const 1 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 342 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 343 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 344 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 345 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 346 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 347 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 350 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 351 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 352 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 353 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 354 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 355 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 356 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1060831199926429 - f64.const 0.4566373404384803 - f64.const -0.29381608963012695 - i32.const 1 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 372 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1089809557628658 - f64.const 0.4627246859959428 - f64.const -0.3990095555782318 - i32.const 1 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 374 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1169429159875521 - f64.const 0.47902433134075284 - f64.const -0.321674108505249 - i32.const 1 - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 375 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 384 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.148716449737549 - f32.const 0.4251045286655426 - i32.const 1 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 385 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 386 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 387 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.916689157485962 - f32.const -0.1369788944721222 - i32.const 1 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 388 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 389 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 390 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 391 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 392 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 393 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 396 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 397 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 398 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 399 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 400 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 401 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 402 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1125899906842624 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_acoshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 403 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 415 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 416 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 417 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 418 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 419 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7234652439515459 - f64.const -0.13599912822246552 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 420 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.41873374429377225 - f64.const -0.09264230728149414 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 421 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5965113622274062 - f64.const -0.10864213854074478 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 422 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.8853748109312743 - f64.const -0.4256366193294525 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 423 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.7460778114110673 - f64.const 0.13986606895923615 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 424 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 427 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 428 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 429 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 430 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 431 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000000000000002 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 432 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 433 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 434 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 435 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5073043929119148 - f64.const 0.5320538997772349 - f64.const -0.16157317161560059 - i32.const 1 - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 436 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 445 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 446 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 447 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 448 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 449 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7234652042388916 - f32.const -0.1307632476091385 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 450 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.41873374581336975 - f32.const 0.3161141574382782 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 451 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5965113639831543 - f32.const -0.4510819613933563 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 452 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.8853747844696045 - f32.const 0.02493886835873127 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 453 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.7460777759552002 - f32.const 0.2515012323856354 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 458 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 459 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 460 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 461 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 462 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 463 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 464 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 465 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5004770159721375 - f32.const 0.5241496562957764 - f32.const -0.29427099227905273 - i32.const 1 - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 466 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -2.784729878387861 - f64.const -0.4762189984321594 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 478 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.175213389013164 - f64.const -0.02728751301765442 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 479 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.822706083697696 - f64.const 0.20985257625579834 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 480 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -2.575619446591922 - f64.const 0.3113134205341339 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 481 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.9225114951048674 - f64.const 0.4991756081581116 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 482 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.6212462762707166 - f64.const -0.4697347581386566 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 483 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.39615990393192035 - f64.const -0.40814438462257385 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 484 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5357588870255474 - f64.const 0.3520713150501251 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 485 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.7123571263197349 - f64.const 0.13371451199054718 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 486 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.635182348903198 - f64.const 0.04749670997262001 - i32.const 1 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 487 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 490 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 491 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 492 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 493 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 494 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -2.7847299575805664 - f32.const -0.14418013393878937 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 523 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.17521333694458 - f32.const -0.020796965807676315 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 524 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.8227059841156006 - f32.const 0.44718533754348755 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -2.5756194591522217 - f32.const -0.14822272956371307 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.922511577606201 - f32.const 0.14270681142807007 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6212462782859802 - f32.const 0.3684912919998169 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 528 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.39615991711616516 - f32.const -0.13170306384563446 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 529 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.535758912563324 - f32.const 0.08184859901666641 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 530 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.7123571038246155 - f32.const -0.14270737767219543 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 531 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.6351823210716248 - f32.const 0.2583143711090088 - i32.const 1 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 535 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 536 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 537 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 538 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 539 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -1.4474613762633468 - f64.const 0.14857111871242523 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 551 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.344597927114538 - f64.const -0.08170335739850998 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 552 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -1.4520463463295539 - f64.const -0.07505480200052261 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 553 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -1.4188758658752532 - f64.const -0.057633496820926666 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 554 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 1.463303145448706 - f64.const 0.1606956422328949 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 555 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.5847550670238325 - f64.const 0.4582556486129761 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 556 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.3861864177552131 - f64.const -0.2574281692504883 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 557 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5118269531628881 - f64.const -0.11444277316331863 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 558 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6587802431653822 - f64.const -0.11286488175392151 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 559 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.5963307826973472 - f64.const -0.2182842344045639 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 560 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 563 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 564 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.7853981633974483 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 565 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0.7853981633974483 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 566 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 567 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 568 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 569 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6929821535674624 - f64.const 0.6060004555152562 - f64.const -0.17075790464878082 - i32.const 1 - call $std/math/test_atan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 570 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -1.4474613666534424 - f32.const 0.12686480581760406 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 579 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 1.3445979356765747 - f32.const 0.16045434772968292 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 580 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -1.4520463943481445 - f32.const -0.39581751823425293 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 581 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -1.418875813484192 - f32.const 0.410570353269577 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 582 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 1.4633032083511353 - f32.const 0.48403501510620117 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 583 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.5847550630569458 - f32.const 0.2125193476676941 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 584 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.386186420917511 - f32.const 0.18169628083705902 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 585 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5118269920349121 - f32.const 0.3499770760536194 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 586 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.6587802171707153 - f32.const -0.2505330741405487 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 587 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.5963307619094849 - f32.const 0.17614826560020447 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 588 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 591 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 592 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0.7853981852531433 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 593 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0.7853981852531433 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 594 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 595 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 596 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_atanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 597 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 609 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 610 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 611 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 612 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 613 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7963404371347943 - f64.const 0.21338365972042084 - i32.const 1 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 614 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.43153570730602897 - f64.const -0.4325666129589081 - i32.const 1 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 615 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.6354006111644578 - f64.const -0.06527865678071976 - i32.const 1 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 616 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1.0306085575277995 - f64.const 0.14632052183151245 - i32.const 1 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 617 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.8268179645205255 - f64.const 0.1397128701210022 - i32.const 1 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 618 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 621 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 622 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 623 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 624 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 625 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 626 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 627 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.3552527156068805e-20 - f64.const 1.3552527156068805e-20 - f64.const 0 - i32.const 1 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 630 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.332636185032189e-302 - f64.const 9.332636185032189e-302 - f64.const 0 - i32.const 1 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 631 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.562684646268003e-309 - f64.const 5.562684646268003e-309 - f64.const 0 - i32.const 9 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 632 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5.562684646268003e-309 - f64.const -5.562684646268003e-309 - f64.const 0 - i32.const 9 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 633 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311579538646525e283 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_atanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 634 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 643 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 644 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 645 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 646 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 647 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7963404059410095 - f32.const 0.19112196564674377 - i32.const 1 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 648 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.4315357208251953 - f32.const -0.05180925130844116 - i32.const 1 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 649 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.635400652885437 - f32.const 0.11911056190729141 - i32.const 1 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 650 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1.0306085348129272 - f32.const 0.1798270344734192 - i32.const 1 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 651 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.8268179297447205 - f32.const 0.11588983237743378 - i32.const 1 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 652 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 657 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 658 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 661 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 662 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.3552527156068805e-20 - f32.const 1.3552527156068805e-20 - f32.const 0 - i32.const 1 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 7.888609052210118e-31 - f32.const 0 - i32.const 1 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - i32.const 9 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 666 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - i32.const 9 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 667 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1701411834604692317316873e14 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_atanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 668 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const -1.0585895402489023 - f64.const 0.09766263514757156 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 680 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 2.6868734126013067 - f64.const 0.35833948850631714 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 681 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -1.889300091849528 - f64.const -0.46235957741737366 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 682 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -0.9605469021111489 - f64.const -0.21524477005004883 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 683 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 1.0919123946142109 - f64.const 0.3894443213939667 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 684 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const -1.468508500616424 - f64.const -0.448591411113739 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 685 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 1.5641600512601268 - f64.const 0.3784842789173126 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 686 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.10281658910678508 - f64.const -0.13993260264396667 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 687 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.29697974004493516 - f64.const 0.44753071665763855 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 688 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -1.5131612053303916 - f64.const 0.39708876609802246 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 689 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 692 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 693 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 695 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 696 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 697 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 698 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 699 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 700 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 701 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 702 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 703 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 704 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 705 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 706 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 707 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 708 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 709 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 710 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 711 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 712 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 713 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0.7853981633974483 - f64.const -0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 714 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - f64.const 2.356194490192345 - f64.const -0.20682445168495178 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 715 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const -0.7853981633974483 - f64.const 0.27576595544815063 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 716 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const -2.356194490192345 - f64.const 0.20682445168495178 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 717 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1125369292536007e-308 - f64.const 1 - f64.const 1.1125369292536007e-308 - f64.const 0 - i32.const 9 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 718 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 8988465674311579538646525e283 - f64.const 1.1125369292536007e-308 - f64.const 0 - i32.const 9 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 719 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 8988465674311579538646525e283 - f64.const 1.668805393880401e-308 - f64.const 0 - i32.const 9 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 720 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -8988465674311579538646525e283 - f64.const 3.141592653589793 - f64.const 0 - i32.const 1 - call $std/math/test_atan2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 721 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -1.0585895776748657 - f32.const -0.22352588176727295 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 730 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 2.686873435974121 - f32.const 0.09464472532272339 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 731 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -1.8893001079559326 - f32.const -0.21941901743412018 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 732 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -0.9605468511581421 - f32.const 0.46015575528144836 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 733 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 1.0919123888015747 - f32.const -0.05708503723144531 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 734 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -1.4685084819793701 - f32.const 0.19611206650733948 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 735 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 1.5641601085662842 - f32.const 0.48143187165260315 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 736 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.10281659662723541 - f32.const -0.4216274917125702 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 737 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.29697975516319275 - f32.const 0.2322007566690445 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 738 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -1.5131611824035645 - f32.const 0.16620726883411407 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 739 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 742 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 743 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 748 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 749 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 750 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 751 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 752 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 753 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 754 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 755 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 756 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 757 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 758 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 761 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 762 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 763 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0.7853981852531433 - f32.const 0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 764 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -inf - f32.const 2.356194496154785 - f32.const 0.02500828728079796 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 765 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const -0.7853981852531433 - f32.const -0.3666777014732361 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 766 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const -2.356194496154785 - f32.const -0.02500828728079796 - i32.const 1 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 767 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 1 - f32.const 5.877471754111438e-39 - f32.const 0 - i32.const 9 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 768 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1701411834604692317316873e14 - f32.const 5.877471754111438e-39 - f32.const 0 - i32.const 9 - call $std/math/test_atan2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 769 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -2.0055552545020245 - f64.const 0.46667951345443726 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.6318162410515635 - f64.const -0.08160271495580673 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.031293910673361 - f64.const -0.048101816326379776 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -1.8692820012204925 - f64.const 0.08624018728733063 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 784 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.100457720859702 - f64.const -0.2722989022731781 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 785 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8715311470455973 - f64.const 0.4414918124675751 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 786 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.740839030300223 - f64.const 0.016453813761472702 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 787 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.8251195400559286 - f64.const 0.30680638551712036 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 788 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.9182102478959914 - f64.const 0.06543998420238495 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 789 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.8788326906580094 - f64.const -0.2016713172197342 - i32.const 1 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 790 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 793 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 794 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 795 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 796 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 797 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.313225746154785e-10 - f64.const 0.0009765625 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 798 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -9.313225746154785e-10 - f64.const -0.0009765625 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 799 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 800 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 801 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_cbrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 802 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -2.0055553913116455 - f32.const -0.44719240069389343 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 811 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 1.6318162679672241 - f32.const 0.44636252522468567 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 812 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.0312938690185547 - f32.const 0.19483426213264465 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -1.8692820072174072 - f32.const -0.17075514793395996 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.1004576683044434 - f32.const -0.36362043023109436 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.8715311288833618 - f32.const -0.12857209146022797 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.7408390641212463 - f32.const -0.4655757546424866 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 817 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.8251195549964905 - f32.const 0.05601907894015312 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 818 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.9182102680206299 - f32.const 0.45498204231262207 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 819 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.8788326978683472 - f32.const -0.22978967428207397 - i32.const 1 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 820 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 823 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 824 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 825 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 826 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 827 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.313225746154785e-10 - f32.const 0.0009765625 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 828 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -9.313225746154785e-10 - f32.const -0.0009765625 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 829 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 830 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 831 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 8 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_cbrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 832 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -8 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 844 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 5 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 845 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 846 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -6 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 847 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 10 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 848 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 849 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 850 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 851 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 852 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 853 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 856 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 857 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 858 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 859 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 860 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 861 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 862 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 863 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 864 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 2 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 865 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 866 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 867 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 868 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 869 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 870 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 871 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 873 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 874 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 875 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 879 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 2 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 880 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 881 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 882 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 883 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 884 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 885 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 886 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 887 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 888 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 889 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 892 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 893 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 894 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 2 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 896 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 897 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 898 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 899 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 900 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 909 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 5 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 910 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 911 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -6 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 912 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 10 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 913 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 914 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 915 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 916 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 917 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 918 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 921 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 922 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 923 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 924 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 925 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 926 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 927 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 928 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 929 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 930 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 931 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 932 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 933 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 936 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 937 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 938 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 939 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 940 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 941 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 944 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 945 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 947 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 948 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 949 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 950 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 951 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 957 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 958 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 959 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 960 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 961 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 962 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 963 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 964 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_ceilf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 965 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -0.21126281599887137 - f64.const -0.10962469130754471 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 976 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -0.35895602297578955 - f64.const -0.10759828239679337 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 977 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -0.503333091765516 - f64.const -0.021430473774671555 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 978 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 0.9692853212503283 - f64.const -0.4787876307964325 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 979 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const -0.9875878064788627 - f64.const 0.4880668818950653 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 980 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7887730869248576 - f64.const 0.12708666920661926 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 981 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 0.9184692397007294 - f64.const -0.26120713353157043 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 982 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.8463190467415896 - f64.const -0.302586168050766 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 983 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.7150139289952383 - f64.const -0.08537746220827103 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 984 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 0.7783494994757447 - f64.const 0.30890750885009766 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 985 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 988 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 989 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 990 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 991 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 992 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.5403023058681398 - f64.const 0.4288286566734314 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 993 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const -0.4161468365471424 - f64.const -0.35859397053718567 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 994 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3 - f64.const -0.9899924966004454 - f64.const 0.3788451552391052 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 995 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const -0.6536436208636119 - f64.const -0.23280560970306396 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 996 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5 - f64.const 0.28366218546322625 - f64.const -0.3277357816696167 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 997 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.1 - f64.const 0.9950041652780258 - f64.const 0.49558526277542114 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 998 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.2 - f64.const 0.9800665778412416 - f64.const -0.02407640963792801 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 999 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.3 - f64.const 0.955336489125606 - f64.const -0.37772229313850403 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1000 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.4 - f64.const 0.9210609940028851 - f64.const 0.25818485021591187 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1001 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 0.8775825618903728 - f64.const 0.3839152157306671 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1002 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3641409746639015e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1003 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1820704873319507e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1004 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1005 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1006 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -3.14 - f64.const -0.9999987317275395 - f64.const 0.3855516016483307 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1007 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311579538646525e283 - f64.const -0.826369834614148 - f64.const -0.3695965111255646 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1008 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const -0.9999876894265599 - f64.const 0.23448343575000763 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1009 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8988465674311579538646525e283 - f64.const -0.826369834614148 - f64.const -0.3695965111255646 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1010 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.14 - f64.const -0.9999987317275395 - f64.const 0.3855516016483307 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1011 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.1415 - f64.const -0.9999999957076562 - f64.const -0.30608975887298584 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1012 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.141592 - f64.const -0.9999999999997864 - f64.const 0.15403328835964203 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1013 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.14159265 - f64.const -1 - f64.const -0.02901807427406311 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1014 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.1415926535 - f64.const -1 - f64.const -1.8155848010792397e-05 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1015 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.141592653589 - f64.const -1 - f64.const -1.4169914130945926e-09 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1016 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.14159265358979 - f64.const -1 - f64.const -2.350864897985184e-14 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1017 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.141592653589793 - f64.const -1 - f64.const -3.377158741883318e-17 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1018 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.57 - f64.const 7.963267107332633e-04 - f64.const 0.2968159317970276 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1019 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.570796 - f64.const 3.2679489653813835e-07 - f64.const -0.32570895552635193 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1020 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5707963267 - f64.const 9.489659630678013e-11 - f64.const -0.27245646715164185 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1021 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.57079632679489 - f64.const 6.722570487708307e-15 - f64.const -0.10747683793306351 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1022 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5707963267948966 - f64.const 6.123233995736766e-17 - f64.const 0.12148229777812958 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1023 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6700635199486106 - f64.const 0.7837822193016158 - f64.const -0.07278502732515335 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1024 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5343890189437553 - f64.const 0.8605799719039517 - f64.const -0.48434028029441833 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1025 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.43999702754890085 - f64.const 0.9047529293001976 - f64.const 0.029777472838759422 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1026 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9902840844687313 - f64.const 0.5484523364480768 - f64.const 0.19765280187129974 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1027 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.45381447534338915 - f64.const 0.8987813902263783 - f64.const -0.017724866047501564 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1028 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.4609888813583589 - f64.const 0.8956130474713057 - f64.const 0.36449819803237915 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1029 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9285434097956422 - f64.const 0.5990009794292984 - f64.const -0.2899416387081146 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1030 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9109092124488352 - f64.const 0.6130276692774378 - f64.const -0.49353134632110596 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1031 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.8328600650359556 - f64.const 0.6727624710046357 - f64.const -0.36606088280677795 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1032 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9536201252203433 - f64.const 0.5787346183487084 - f64.const -0.17089833319187164 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1033 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.8726590065457699 - f64.const 0.6427919144259047 - f64.const -0.2744986116886139 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1034 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.18100447535968447 - f64.const 0.9836633656884893 - f64.const 3.0195272993296385e-03 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1035 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.356194490349839 - f64.const -0.7071067812979126 - f64.const -0.48278746008872986 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1036 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.356194490372272 - f64.const -0.7071067813137752 - f64.const -0.4866050183773041 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1037 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3561944902251115 - f64.const -0.707106781209717 - f64.const -0.3533952236175537 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1038 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3561944903149996 - f64.const -0.7071067812732775 - f64.const -0.41911986470222473 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1039 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3561944903603527 - f64.const -0.707106781305347 - f64.const -0.4706200063228607 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1040 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3561944903826197 - f64.const -0.7071067813210922 - f64.const -0.30618351697921753 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1041 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.356194490371803 - f64.const -0.7071067813134436 - f64.const -0.30564820766448975 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1042 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.356194490399931 - f64.const -0.7071067813333329 - f64.const -0.38845571875572205 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1043 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.356194490260191 - f64.const -0.707106781234522 - f64.const -0.23796851933002472 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1044 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3561944904043153 - f64.const -0.7071067813364332 - f64.const -0.3274589478969574 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1045 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0943951024759446 - f64.const -0.5000000000716629 - f64.const -0.41711342334747314 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1046 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.09439510243324 - f64.const -0.5000000000346797 - f64.const -0.3566164970397949 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1047 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0943951025133885 - f64.const -0.5000000001040902 - f64.const -0.2253485918045044 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1048 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0943951025466707 - f64.const -0.5000000001329135 - f64.const -0.12982259690761566 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1049 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.094395102413896 - f64.const -0.5000000000179272 - f64.const -0.15886764228343964 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1050 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0943951024223404 - f64.const -0.5000000000252403 - f64.const -0.266656756401062 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1051 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0943951024960477 - f64.const -0.5000000000890726 - f64.const -0.4652077853679657 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1052 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0943951025173315 - f64.const -0.500000000107505 - f64.const -0.46710994839668274 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1053 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.094395102405924 - f64.const -0.5000000000110234 - f64.const -0.2469603717327118 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1054 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.094395102428558 - f64.const -0.500000000030625 - f64.const -0.3799441158771515 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1055 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.513210770864056 - f64.const -0.6125076939987759 - f64.const 0.4989966154098511 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1056 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 6.802886129801017 - f64.const 0.8679677961345452 - f64.const 0.4972165524959564 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1057 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.171925393086408 - f64.const -0.9682027440424544 - f64.const -0.49827584624290466 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1058 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.854690112888573 - f64.const -0.8418535663818527 - f64.const 0.4974979758262634 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1059 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.213510813859608 - f64.const -0.9777659802838506 - f64.const -0.4995604455471039 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1060 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.782449081542151 - f64.const 0.07147156381293339 - f64.const 0.49858126044273376 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1061 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.500261332273616 - f64.const 0.34639017633458113 - f64.const -0.4996210038661957 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1062 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.121739418731588 - f64.const -0.9544341297541811 - f64.const 0.4982815086841583 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1063 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 6.784954020476316 - f64.const 0.8767332233166646 - f64.const -0.4988083839416504 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1064 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.770846542666664 - f64.const -0.7936984117400705 - f64.const 0.4999682903289795 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1065 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.313225746154785e-10 - f64.const 1 - f64.const 0.001953125 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1068 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -9.313225746154785e-10 - f64.const 1 - f64.const 0.001953125 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1069 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1070 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072014e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1071 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1072 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1073 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1074 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1075 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1076 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.4e-323 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1077 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.562684646268003e-309 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1078 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1125369292536007e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1079 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072004e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1080 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1081 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507202e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1082 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072024e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1083 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.4501477170144003e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1084 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.450147717014403e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1085 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.450147717014406e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1086 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.900295434028806e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1087 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.450580596923828e-09 - f64.const 1 - f64.const 0.125 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1088 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.4901161193847656e-08 - f64.const 0.9999999999999999 - f64.const -1.850372590034581e-17 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1089 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.470348358154297e-08 - f64.const 0.999999999999999 - f64.const -1.4988010832439613e-15 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1090 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-323 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1091 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.4e-323 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1092 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5.562684646268003e-309 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1093 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.1125369292536007e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1094 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072004e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1095 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507201e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1096 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507202e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1097 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072024e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1098 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.4501477170144003e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1099 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.450147717014403e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.450147717014406e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.900295434028806e-308 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.450580596923828e-09 - f64.const 1 - f64.const 0.125 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.4901161193847656e-08 - f64.const 0.9999999999999999 - f64.const -1.850372590034581e-17 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.470348358154297e-08 - f64.const 0.999999999999999 - f64.const -1.4988010832439613e-15 - i32.const 1 - call $std/math/test_cos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5707963267948966 - call $~lib/math/NativeMath.cos - f64.const 1.5707963267948966 - call $~lib/bindings/Math/cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1107 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.141592653589793 - call $~lib/math/NativeMath.cos - f64.const 3.141592653589793 - call $~lib/bindings/Math/cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1108 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3141592653589793231804887e66 - call $~lib/math/NativeMath.cos - f64.const 3141592653589793231804887e66 - call $~lib/bindings/Math/cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.cos - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.cos - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.15707963267948966 - call $~lib/math/NativeMath.cos - f64.const 0.9876883405951378 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7812504768371582 - call $~lib/math/NativeMath.cos - f64.const 0.7100335477927638 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1119 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.78125 - call $~lib/math/NativeMath.cos - f64.const 0.7100338835660797 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9238795325112867 - f64.const 0.39269908169872414 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9238795325112867 - f64.const -0.39269908169872414 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.725290298461914e-09 - call $~lib/math/NativeMath.cos - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9689124217106447 - f64.const 0.25 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1130 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.8775825618903728 - f64.const 0.5 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1131 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7073882691671998 - f64.const 0.785 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1132 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 6.123233995736766e-17 - f64.const 1.5707963267948966 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7071067811865474 - f64.const 5.497787143782138 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7071067811865477 - f64.const 7.0685834705770345 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.7071067811865467 - f64.const 8.63937979737193 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.7071067811865471 - f64.const 10.210176124166829 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9367521275331447 - f64.const 1e6 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -3.435757038074824e-12 - f64.const 1647097.7583689587 - call $~lib/math/NativeMath.cos - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.21126316487789154 - f32.const 0.48328569531440735 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -0.3589562177658081 - f32.const 0.042505208402872086 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.5033331513404846 - f32.const -0.1386195719242096 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 0.9692853689193726 - f32.const 0.1786951720714569 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const -0.9875878691673279 - f32.const 0.1389600932598114 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7887731194496155 - f32.const 0.2989593744277954 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 0.918469250202179 - f32.const 0.24250665307044983 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.8463190197944641 - f32.const -0.24033240973949432 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.7150139212608337 - f32.const -0.3372635245323181 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 0.7783495187759399 - f32.const 0.16550153493881226 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1162 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1164 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1165 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1166 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1 - f32.const 1.4551915228366852e-11 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1169 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const 1 - f32.const 1.4551915228366852e-11 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1170 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1171 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1172 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1173 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1174 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1175 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1176 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1177 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1178 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1179 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1180 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1182 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1183 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1186 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.450580596923828e-09 - f32.const 1 - f32.const 2.3283064365386963e-10 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 1 - f32.const 0.25 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1188 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.00048828125 - f32.const 0.9999998807907104 - f32.const -3.973643103449831e-08 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.0009765625 - f32.const 0.9999995231628418 - f32.const -6.357828397085541e-07 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1191 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1198 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1199 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.350988701644575e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1200 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1201 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1202 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.450580596923828e-09 - f32.const 1 - f32.const 2.3283064365386963e-10 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1203 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const 1 - f32.const 0.25 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1204 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.00048828125 - f32.const 0.9999998807907104 - f32.const -3.973643103449831e-08 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1205 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.0009765625 - f32.const 0.9999995231628418 - f32.const -6.357828397085541e-07 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1206 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 255.99993896484375 - f32.const -0.03985174745321274 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1209 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5033165 - f32.const 0.8471871614456177 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1210 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 421657440 - f32.const 0.6728929281234741 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1211 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2147483392 - f32.const 0.9610780477523804 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1212 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 68719476736 - f32.const 0.1694190502166748 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1213 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 549755813888 - f32.const 0.20735950767993927 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1214 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const 0.8530210256576538 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1215 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -255.99993896484375 - f32.const -0.03985174745321274 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1216 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5033165 - f32.const 0.8471871614456177 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1217 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -421657440 - f32.const 0.6728929281234741 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1218 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2147483392 - f32.const 0.9610780477523804 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1219 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -68719476736 - f32.const 0.1694190502166748 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1220 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -549755813888 - f32.const 0.20735950767993927 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1221 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3402823466385288598117041e14 - f32.const 0.8530210256576538 - f32.const 0 - i32.const 1 - call $std/math/test_cosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1222 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 1593.5209938862329 - f64.const -0.38098856806755066 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1233 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 38.56174928426729 - f64.const -0.2712278366088867 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1234 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 2182.630979595893 - f64.const 0.0817827582359314 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1235 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 343.273849250879 - f64.const -0.429940402507782 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1236 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 5291.779170005587 - f64.const -0.1592995822429657 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1237 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1.2272321957342842 - f64.const 0.23280741274356842 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1238 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 1.083808541871197 - f64.const -0.3960916996002197 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1239 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1.1619803583175077 - f64.const 0.37748390436172485 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1240 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1.3149236876276706 - f64.const 0.43587008118629456 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1241 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 1.2393413245934533 - f64.const 0.10201606154441833 - i32.const 1 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1242 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_cosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1249 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 1593.5216064453125 - f32.const 0.26242581009864807 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 38.56174087524414 - f32.const -0.08168885856866837 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 2182.631103515625 - f32.const -0.02331414446234703 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 343.2738037109375 - f32.const 0.20081493258476257 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 5291.78173828125 - f32.const 0.36286723613739014 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1262 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1.2272322177886963 - f32.const 0.32777416706085205 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1263 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 1.0838085412979126 - f32.const -0.039848703891038895 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1264 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1.161980390548706 - f32.const 0.15274477005004883 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1265 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1.314923644065857 - f32.const -0.2387111485004425 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 1.2393412590026855 - f32.const -0.45791932940483093 - i32.const 1 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1267 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1270 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1271 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1272 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_coshf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 3.137706068161745e-04 - f64.const -0.2599197328090668 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 77.11053017112141 - f64.const -0.02792675793170929 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 2.290813384916323e-04 - f64.const -0.24974334239959717 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 1.4565661260931588e-03 - f64.const -0.4816822409629822 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 10583.558245524993 - f64.const 0.17696762084960938 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1.9386384525571998 - f64.const -0.4964246451854706 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1291 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 0.6659078892838025 - f64.const -0.10608318448066711 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1.7537559518626311 - f64.const -0.39162111282348633 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1293 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 2.1687528885129246 - f64.const -0.2996125817298889 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 0.5072437089402843 - f64.const 0.47261738777160645 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1298 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1299 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 2.718281828459045 - f64.const -0.3255307376384735 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1300 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0.36787944117144233 - f64.const 0.22389651834964752 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1301 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1302 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1303 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0397214889526365 - f64.const 2.828429155876411 - f64.const 0.18803080916404724 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0397214889526365 - f64.const 0.35355313670217847 - f64.const 0.2527272403240204 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1306 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0397210121154785 - f64.const 2.8284278071766122 - f64.const -0.4184139370918274 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1307 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0397214889526367 - f64.const 2.8284291558764116 - f64.const -0.22618377208709717 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1308 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 709.782712893384 - f64.const 1797693134862273196746681e284 - f64.const -0.10568465292453766 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1314 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 709.7827128933841 - f64.const inf - f64.const 0 - i32.const 17 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -745.1332191019411 - f64.const 5e-324 - f64.const 0.5 - i32.const 9 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1322 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -745.1332191019412 - f64.const 0 - f64.const -0.5 - i32.const 9 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1329 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -708.3964185322641 - f64.const 2.2250738585072626e-308 - f64.const 0.26172348856925964 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1336 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -708.3964185322642 - f64.const 2.2250738585070097e-308 - f64.const 2.2250738585070097e-308 - i32.const 9 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1343 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5006933289508785 - f64.const 1.6498647732549399 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1350 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.628493326460252 - f64.const 1.8747837631658781 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1357 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.837522455340574 - f64.const 2.3106351774748006 - f64.const -0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1364 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.8504909932810999 - f64.const 2.3407958848710777 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1370 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.6270060846924657 - f64.const 5.088617001442459 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1376 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.6744336219614115 - f64.const 5.335772228886831 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1382 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 6.657914718791208 - f64.const 778.924964819056 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1389 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 11.022872793631722 - f64.const 61259.41271820104 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1396 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 11.411195701885317 - f64.const 90327.36165653409 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1403 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 11.794490387560606 - f64.const 132520.20290772576 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1410 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 412.83872756953286 - f64.const 1965989977109266413433084e155 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1417 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 510.87569028483415 - f64.const 7421526272656495968225491e197 - f64.const -0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1424 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.6589841439772853e-14 - f64.const 0.9999999999999735 - f64.const 0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1431 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.7144952952085447e-14 - f64.const 0.9999999999999728 - f64.const -0.5 - i32.const 1 - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1438 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 3.1377049162983894e-04 - f32.const -0.030193336308002472 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1452 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 77.11051177978516 - f32.const -0.2875460684299469 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1453 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 2.2908132814336568e-04 - f32.const 0.2237040400505066 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 1.4565663877874613e-03 - f32.const 0.36469703912734985 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1455 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 10583.5634765625 - f32.const 0.45962104201316833 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1456 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1.93863844871521 - f32.const 0.3568260967731476 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 0.6659078598022461 - f32.const -0.38294991850852966 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1458 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1.753756046295166 - f32.const 0.44355490803718567 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1459 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 2.168752908706665 - f32.const 0.24562469124794006 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1460 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 0.5072436928749084 - f32.const -0.3974292278289795 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1461 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1464 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1465 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 2.7182817459106445 - f32.const -0.3462330996990204 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1466 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0.3678794503211975 - f32.const 0.3070148527622223 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1467 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1468 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1469 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1470 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 88.72283172607422 - f32.const 340279851902147610656242e15 - f32.const -0.09067153930664062 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1471 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 88.72283935546875 - f32.const inf - f32.const 0 - i32.const 17 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1472 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -103.97207641601562 - f32.const 1.401298464324817e-45 - f32.const 0.49999967217445374 - i32.const 9 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1473 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -103.97208404541016 - f32.const 0 - f32.const -0.49999651312828064 - i32.const 9 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1474 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.3465735614299774 - f32.const 1.4142135381698608 - f32.const 0.13922421634197235 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1475 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.3465735912322998 - f32.const 1.4142135381698608 - f32.const -0.21432916820049286 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1476 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.3465736210346222 - f32.const 1.4142136573791504 - f32.const 0.43211743235588074 - i32.const 1 - call $std/math/test_expf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1477 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -0.9996862293931839 - f64.const -0.2760058343410492 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1489 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 76.11053017112141 - f64.const -0.02792675793170929 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1490 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -0.9997709186615084 - f64.const 0.10052496194839478 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1491 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -0.9985434338739069 - f64.const -0.27437829971313477 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1492 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 10582.558245524993 - f64.const 0.17696762084960938 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1493 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.9386384525571999 - f64.const 0.007150684483349323 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1494 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.3340921107161975 - f64.const -0.21216636896133423 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1495 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.7537559518626312 - f64.const 0.21675777435302734 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1496 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1.1687528885129248 - f64.const 0.4007748067378998 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1497 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.4927562910597158 - f64.const -0.05476519837975502 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1498 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1501 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1502 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1.7182818284590453 - f64.const 0.348938524723053 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1503 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0.6321205588285577 - f64.const 0.11194825917482376 - i32.const 1 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1504 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1505 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1506 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1507 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const 2.225073858507201e-308 - f64.const 0 - i32.const 9 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1508 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507201e-308 - f64.const -2.225073858507201e-308 - f64.const 0 - i32.const 9 - call $std/math/test_expm1 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1509 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.9996862411499023 - f32.const -0.19532723724842072 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1518 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 76.11051177978516 - f32.const -0.2875460684299469 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1519 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.9997709393501282 - f32.const -0.34686920046806335 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1520 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.9985434412956238 - f32.const -0.1281939446926117 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1521 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 10582.5634765625 - f32.const 0.45962104201316833 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1522 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.9386383891105652 - f32.const -0.28634780645370483 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1523 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.3340921103954315 - f32.const 0.23410017788410187 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1524 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.7537559866905212 - f32.const -0.11289017647504807 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1.168752908706665 - f32.const 0.4912493824958801 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.49275627732276917 - f32.const 0.20514154434204102 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1530 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1531 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1.718281865119934 - f32.const 0.3075338304042816 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0.6321205496788025 - f32.const 0.15350742638111115 - i32.const 1 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1533 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1534 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1535 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1536 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 0.003729380227666592 - f64.const 0.1281578093767166 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1548 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 20.32579462123892 - f64.const 0.03073759749531746 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1549 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 2.9987283924334954e-03 - f64.const -0.31000515818595886 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1550 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 0.010808622025681005 - f64.const -0.28607869148254395 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1551 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 616.1154770730207 - f64.const -0.08883064985275269 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1552 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1.5822591361986904 - f64.const -0.1258980929851532 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1553 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 0.7543971221632684 - f64.const -0.24229088425636292 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1554 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1.4760685736993149 - f64.const 0.27173060178756714 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1555 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1.710184880131433 - f64.const -0.0205493476241827 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1556 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 0.6247003734030933 - f64.const -0.31195688247680664 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1557 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1560 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1561 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1562 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1563 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1564 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1565 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1566 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.998046875 - f64.const 3.9945884515638808 - f64.const 0.1476455181837082 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1567 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1021.9 - f64.const 2.384775113731291e-308 - f64.const -0.2217157781124115 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1568 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1022 - f64.const 2.2250738585072014e-308 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1569 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1022.1 - f64.const 2.0760673185932884e-308 - f64.const 0.198451966047287 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1570 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1023 - f64.const 1.1125369292536007e-308 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1571 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1023.9 - f64.const 1677307003485741635311718e284 - f64.const 0.396903932094574 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1572 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1024 - f64.const inf - f64.const 0 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1573 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1024.1 - f64.const inf - f64.const 0 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1574 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.14 - f64.const 8.815240927012887 - f64.const 0.39309585094451904 - i32.const 1 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1575 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1022.5 - f64.const 1.5733648139913585e-308 - f64.const -0.28231191635131836 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1576 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1023 - f64.const 1.1125369292536007e-308 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1577 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1023.5 - f64.const 7.866824069956793e-309 - f64.const -0.14115595817565918 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1578 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1024 - f64.const 5.562684646268003e-309 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1579 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1025 - f64.const 2.781342323134e-309 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1580 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1074 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1581 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1074.5 - f64.const 5e-324 - f64.const 0.2928932309150696 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1582 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1075 - f64.const 0 - f64.const -0.5 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1583 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2048 - f64.const 0 - f64.const 0 - i32.const 9 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1584 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 3.7293792702257633e-03 - f32.const -0.0674908235669136 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1595 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 20.32579231262207 - f32.const 0.34121403098106384 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1596 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 2.9987283051013947e-03 - f32.const 0.15504619479179382 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1597 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 0.010808623395860195 - f32.const 0.2603940963745117 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1598 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 616.1156616210938 - f32.const -0.1379322111606598 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1599 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1.5822590589523315 - f32.const -0.427890807390213 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1600 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const 0.7543970942497253 - f32.const -0.38062313199043274 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1601 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1.4760686159133911 - f32.const 0.1507442593574524 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1602 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1.7101848125457764 - f32.const -0.39102980494499207 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1603 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const 0.6247003674507141 - f32.const -0.20904375612735748 - i32.const 1 - call $std/math/test_exp2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1604 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -9 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1616 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1617 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -9 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1618 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -7 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1619 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1620 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1621 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1622 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1623 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1624 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1625 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1630 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1631 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1632 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1633 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1634 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1635 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1636 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1637 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -2 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1638 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1639 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1640 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1641 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_floor - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1642 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -9 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1651 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1652 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -9 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1653 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -7 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1654 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1657 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1658 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1666 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1667 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1668 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1669 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1670 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1671 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1672 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -2 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1673 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1674 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1675 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1676 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_floorf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1677 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 9.25452742288464 - f64.const -0.31188681721687317 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1691 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 9.893305808328252 - f64.const 0.4593673348426819 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1692 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const 8.825301797432132 - f64.const -0.1701754331588745 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1693 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const 7.970265885519092 - f64.const -0.3176782727241516 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 10.441639651824575 - f64.const -0.2693633437156677 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1695 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 6.483936052542593 - f64.const 0.35618898272514343 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1696 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 7.859063309581766 - f64.const 0.08044655621051788 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1697 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const 7.717156764899584 - f64.const 0.05178084969520569 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1698 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 2.104006123874314 - f64.const -0.0918039008975029 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1699 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const 0.5596880129062913 - f64.const 0.1383407711982727 - i32.const 1 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1700 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3 - f64.const 4 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1703 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -3 - f64.const 4 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1704 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const 3 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1705 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const -3 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1706 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -3 - f64.const -4 - f64.const 5 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1707 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 0 - f64.const 1797693134862315708145274e284 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1708 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const -0 - f64.const 1797693134862315708145274e284 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1709 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 0 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1710 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const -0 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1711 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1712 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1713 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1714 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1715 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1716 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1717 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1718 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1719 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1720 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1721 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1722 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_hypot - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1723 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 9.254528045654297 - f32.const 0.2735958993434906 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1732 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 9.893305778503418 - f32.const 0.4530770778656006 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1733 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const 8.825302124023438 - f32.const 0.30755728483200073 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1734 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const 7.970265865325928 - f32.const 0.06785223633050919 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1735 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 10.44163990020752 - f32.const -0.26776307821273804 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1736 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 6.483936309814453 - f32.const 0.48381292819976807 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1737 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 7.859063148498535 - f32.const 0.07413065433502197 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1738 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const 7.717156887054443 - f32.const 0.4940592646598816 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1739 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 2.104006052017212 - f32.const -0.287089467048645 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1740 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const 0.5596880316734314 - f32.const 0.4191940724849701 - i32.const 1 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1741 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3 - f32.const 4 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3 - f32.const 4 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4 - f32.const 3 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4 - f32.const -3 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3 - f32.const -4 - f32.const 5 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1748 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const 0 - f32.const 3402823466385288598117041e14 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1749 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const -0 - f32.const 3402823466385288598117041e14 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1750 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 0 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1751 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const -0 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1752 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1753 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1754 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1755 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1756 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1757 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1758 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1761 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_hypotf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1762 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1774 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.4690809584224322 - f64.const -0.3412533402442932 - i32.const 1 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1775 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1776 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1777 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.2264658498795615 - f64.const 0.3638114035129547 - i32.const 1 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1778 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const -0.4125110252365137 - f64.const -0.29108747839927673 - i32.const 1 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1779 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1780 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const -0.5766810183195862 - f64.const -0.10983199626207352 - i32.const 1 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const -0.2559866591263865 - f64.const -0.057990044355392456 - i32.const 1 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1786 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1787 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1788 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1789 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1790 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1791 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1792 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1793 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1802 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1803 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1804 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1805 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1806 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1807 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1808 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1809 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1812 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1817 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1818 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_logf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1819 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1831 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 0.6380137537120029 - f64.const -0.2088824063539505 - i32.const 1 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1832 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1833 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1834 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 0.9669418327487274 - f64.const -0.06120431795716286 - i32.const 1 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1835 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const -0.17915126198447093 - f64.const 0.39090874791145325 - i32.const 1 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1836 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1837 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const -0.25044938407454437 - f64.const -0.3046841621398926 - i32.const 1 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1838 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const -0.11117359349943837 - f64.const -0.31503361463546753 - i32.const 1 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1839 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1840 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1843 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1844 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1845 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1846 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1847 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1848 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1849 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log10 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1850 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1859 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 0.6380137205123901 - f32.const -0.20476758480072021 - i32.const 1 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1860 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1861 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1862 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 0.9669418334960938 - f32.const -0.34273025393486023 - i32.const 1 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1863 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const -0.1791512817144394 - f32.const -0.27078554034233093 - i32.const 1 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1864 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1865 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const -0.25044935941696167 - f32.const 0.2126826047897339 - i32.const 1 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1866 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const -0.1111735999584198 - f32.const 0.46515095233917236 - i32.const 1 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1867 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1868 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1871 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1873 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1874 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1875 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_log10f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 1.6762064170601734 - f64.const 0.46188199520111084 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1892 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1893 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 2.3289404168523826 - f64.const -0.411114901304245 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1894 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.5080132114992477 - f64.const -0.29306045174598694 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.5218931811663979 - f64.const -0.25825726985931396 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1896 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.4458132279488102 - f64.const -0.13274887204170227 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1897 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.5733227294648414 - f64.const 0.02716583013534546 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1898 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -1.1355782978128564 - f64.const 0.2713092863559723 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1899 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1902 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1903 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -7.888609052210118e-31 - f64.const 1.7763568394002505e-15 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1904 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.6931471805599453 - f64.const -0.2088811695575714 - i32.const 1 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1905 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1906 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1907 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1908 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log1p - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1909 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1918 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 1.676206350326538 - f32.const -0.23014859855175018 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1919 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1920 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1921 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.3289403915405273 - f32.const -0.29075589776039124 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1922 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.5080131888389587 - f32.const -0.1386766880750656 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1923 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.5218932032585144 - f32.const -0.08804433047771454 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1924 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.44581323862075806 - f32.const -0.15101368725299835 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1925 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.5733227133750916 - f32.const -0.10264533013105392 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1926 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1.1355782747268677 - f32.const -0.19879481196403503 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1927 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1930 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1931 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -7.888609052210118e-31 - f32.const 3.308722450212111e-24 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1932 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0.6931471824645996 - f32.const 0.031954795122146606 - i32.const 1 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1933 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1936 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1937 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 4.930380657631324e-32 - i32.const 9 - call $std/math/test_log1pf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1938 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1950 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.1194358133804485 - f64.const -0.10164877772331238 - i32.const 1 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1951 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 3.2121112403298744 - f64.const -0.15739446878433228 - i32.const 1 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const -0.5951276104207402 - f64.const 0.3321485221385956 - i32.const 1 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const -0.8319748453044644 - f64.const 0.057555437088012695 - i32.const 1 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1957 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const -0.36931068365537134 - f64.const -0.19838279485702515 - i32.const 1 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1958 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1959 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1962 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1963 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1964 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1965 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1966 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1967 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1968 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_log2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1969 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1978 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.1194357872009277 - f32.const 0.18271538615226746 - i32.const 1 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1979 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1980 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1981 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 3.212111234664917 - f32.const -0.3188050389289856 - i32.const 1 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1982 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const -0.5951276421546936 - f32.const 0.34231460094451904 - i32.const 1 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1983 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1984 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const -0.8319748044013977 - f32.const -0.33473604917526245 - i32.const 1 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1985 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const -0.3693107068538666 - f32.const 0.3278401792049408 - i32.const 1 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1986 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1987 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1990 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1991 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1992 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1993 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1994 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1995 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1996 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_log2f - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1997 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 4.535662560676869 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2009 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2010 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -2.763607337379588 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2011 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const 4.567535276842744 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2012 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 9.267056966972586 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2013 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 0.6620717923376739 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2014 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 7.858890253041697 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2015 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const 7.67640268511754 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2016 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 2.0119025790324803 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2017 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const 0.03223983060263804 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2018 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2021 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2022 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2023 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2024 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2025 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2026 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2027 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2028 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2029 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2030 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2031 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2032 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2033 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2034 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2035 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2036 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2037 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2038 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2039 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2040 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2041 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2042 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2043 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2044 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2045 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2046 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2047 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2048 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2049 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2050 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2051 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2052 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2053 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2054 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2055 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2056 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2057 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2058 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2059 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2060 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2061 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2062 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2063 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2064 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2065 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2066 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2067 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2068 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2069 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2070 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2071 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2072 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2073 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2074 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const 1.75 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2075 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2076 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const 1.75 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2077 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2078 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 4.535662651062012 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2087 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2088 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -2.7636072635650635 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2089 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const 4.567535400390625 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2090 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 9.267057418823242 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2091 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 0.6620717644691467 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2092 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 7.858890056610107 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2093 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const 7.676402568817139 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2094 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 2.0119025707244873 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2095 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const 0.03223983198404312 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2096 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2099 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2106 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2107 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2108 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2110 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2116 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2118 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2119 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2126 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2127 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2129 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2130 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2131 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2132 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2133 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2135 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 2 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2146 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2147 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2148 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2149 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const 1.75 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const 1.75 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const -8.06684839057968 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2168 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const -8.88799136300345 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2169 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -8.38143342755525 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2170 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -6.531673581913484 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2171 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 4.811392084359796 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2172 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const -6.450045556060236 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2173 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 0.05215452675006225 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2174 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2175 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2176 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.5587586823609152 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2177 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2180 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2181 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2182 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2183 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2184 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2185 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2186 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2188 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2191 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2196 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2197 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2198 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2199 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2200 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2201 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2202 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2203 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2204 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2205 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2206 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2207 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2208 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2209 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2210 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2211 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2212 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2213 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2214 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2215 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2216 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2217 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2218 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2219 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2220 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0.5 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2221 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2222 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2223 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2224 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2225 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2226 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2227 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2228 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2229 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2230 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2231 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2232 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2233 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2234 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const -1.75 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2235 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2236 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const -1.75 - f64.const 0 - i32.const 0 - call $std/math/test_min - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2237 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -8.066848754882812 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2246 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const -8.887990951538086 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2247 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -8.381433486938477 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -6.531673431396484 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2249 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 4.811392307281494 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2250 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -6.450045585632324 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2251 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 0.052154526114463806 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2253 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2254 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.5587586760520935 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2255 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2259 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2262 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2263 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2264 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2265 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2267 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2268 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2269 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2270 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2271 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2272 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2273 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2274 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2275 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2276 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2277 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2278 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2279 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2280 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2281 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2282 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2285 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2290 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2291 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2293 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2296 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2297 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 2 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2298 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0.5 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2299 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2300 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2301 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2302 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2303 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2306 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2307 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2308 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2309 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2310 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const -1.75 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2313 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2314 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const -1.75 - f32.const 0 - i32.const 0 - call $std/math/test_minf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2315 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const -3.531185829902812 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2329 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2330 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -0.09061141541648476 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2331 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -1.9641383050707404 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2332 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 4.45566488261279 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2333 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const -0.4913994250211714 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2334 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 0.035711240532359426 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2335 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2336 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2337 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.0106815621160685 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2338 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2341 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2342 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2343 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2344 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2345 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2346 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2347 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2348 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2349 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2350 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2351 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2352 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2353 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2354 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2355 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2356 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2357 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2358 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2359 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2360 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2361 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2362 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2363 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2364 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2365 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2366 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2367 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2368 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2369 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2370 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2371 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2372 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2373 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2374 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2375 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2376 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2377 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2378 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2379 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2380 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2381 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2382 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2383 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2384 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2385 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2386 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2387 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2388 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2389 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2390 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2391 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2392 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2393 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2394 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2395 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2396 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2397 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2398 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2399 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2400 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2401 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2402 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2403 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2404 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2405 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2406 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const 2.2250738585072014e-308 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2409 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const -2.2250738585072014e-308 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2410 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072014e-308 - f64.const 2.2250738585072014e-308 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2411 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072014e-308 - f64.const -2.2250738585072014e-308 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2412 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 1797693134862315708145274e284 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2413 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const -1797693134862315708145274e284 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2414 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const 1797693134862315708145274e284 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2415 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const -1797693134862315708145274e284 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2416 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 2.2250738585072014e-308 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2419 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1797693134862315708145274e284 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2420 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -2.2250738585072014e-308 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2421 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1797693134862315708145274e284 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2422 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 2.2250738585072014e-308 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2423 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1797693134862315708145274e284 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2424 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -2.2250738585072014e-308 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2425 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1797693134862315708145274e284 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2426 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 1797693134862315508561243e284 - f64.const 1995840309534719811656372e268 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2429 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const 1797693134862315508561243e284 - f64.const -1995840309534719811656372e268 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2430 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const -8988465674311579538646525e283 - f64.const 8988465674311577542806216e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2432 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const -8988465674311579538646525e283 - f64.const -8988465674311577542806216e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2433 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 8988465674311578540726371e283 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2435 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const 8988465674311578540726371e283 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2436 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const -8988465674311577542806216e283 - f64.const 1995840309534719811656372e268 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2438 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const -8988465674311577542806216e283 - f64.const -1995840309534719811656372e268 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2439 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311579538646525e283 - f64.const 1797693134862315708145274e284 - f64.const 8988465674311579538646525e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2441 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8988465674311579538646525e283 - f64.const 1797693134862315708145274e284 - f64.const -8988465674311579538646525e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2442 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311578540726371e283 - f64.const -1797693134862315708145274e284 - f64.const 8988465674311578540726371e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2444 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8988465674311578540726371e283 - f64.const -1797693134862315708145274e284 - f64.const -8988465674311578540726371e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2445 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8988465674311577542806216e283 - f64.const 1797693134862315708145274e284 - f64.const 8988465674311577542806216e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2447 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8988465674311577542806216e283 - f64.const 1797693134862315708145274e284 - f64.const -8988465674311577542806216e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2448 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315508561243e284 - f64.const -1797693134862315708145274e284 - f64.const 1797693134862315508561243e284 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2450 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315508561243e284 - f64.const -1797693134862315708145274e284 - f64.const -1797693134862315508561243e284 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2451 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315508561243e284 - f64.const 8988465674311578540726371e283 - f64.const 8988465674311576544886061e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2453 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315508561243e284 - f64.const 8988465674311578540726371e283 - f64.const -8988465674311576544886061e283 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2456 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 6.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2458 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2459 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2460 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2461 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2462 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2463 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585071994e-308 - f64.const 2.2250738585072004e-308 - f64.const 2.2250738585071994e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2465 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585071994e-308 - f64.const -2.2250738585072004e-308 - f64.const 2.2250738585071994e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2466 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const 1.5e-323 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2467 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const 4.4501477170144023e-308 - f64.const 2.225073858507201e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2468 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const inf - f64.const 2.225073858507201e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2469 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const -1.5e-323 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2470 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const 1.5e-323 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2471 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const 2.2250738585072004e-308 - f64.const 1e-323 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2472 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const 4.4501477170144023e-308 - f64.const 2.2250738585072014e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2473 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const -1.5e-323 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2474 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507202e-308 - f64.const 2.2250738585072004e-308 - f64.const 1.5e-323 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2475 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072024e-308 - f64.const 1.5e-323 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2476 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072024e-308 - f64.const -1.5e-323 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2477 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507203e-308 - f64.const 1.5e-323 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2478 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507203e-308 - f64.const 2.225073858507204e-308 - f64.const 2.225073858507203e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2479 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507203e-308 - f64.const -1.5e-323 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2480 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072034e-308 - f64.const 2.225073858507204e-308 - f64.const 2.2250738585072034e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2481 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072043e-308 - f64.const 2.225073858507204e-308 - f64.const 5e-324 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2482 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.4501477170144023e-308 - f64.const 4.450147717014403e-308 - f64.const 4.4501477170144023e-308 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2483 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.139237815555687e-305 - f64.const 5.696189077778436e-306 - f64.const 5.696189077778434e-306 - f64.const 0 - i32.const 0 - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2484 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -3.531186103820801 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2493 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2494 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -0.09061169624328613 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2495 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -1.9641380310058594 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2496 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 4.455665111541748 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2497 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -0.49139970541000366 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2498 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 0.0357111394405365 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2499 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2500 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2501 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.010681532323360443 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2502 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2505 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2506 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2507 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2508 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2509 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2510 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2511 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2512 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2513 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2514 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2515 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2516 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2517 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2518 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2519 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2520 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2521 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2522 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2523 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2524 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2528 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2529 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2530 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2531 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2533 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2534 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2535 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2536 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2537 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2538 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2539 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2540 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2541 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2542 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2543 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2544 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2545 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2546 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2547 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2548 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2549 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2550 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2551 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2552 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2553 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2554 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2555 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2556 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2557 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2558 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2559 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2560 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2561 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2562 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2563 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2564 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2565 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2566 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2567 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2568 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2569 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_modf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2570 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2582 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 2.1347118825587285e-06 - f64.const 0.3250160217285156 - i32.const 1 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2583 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2584 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2585 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 44909.29941512966 - f64.const -0.26659080386161804 - i32.const 1 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2586 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2587 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 1.1135177413458652 - f64.const -0.37168607115745544 - i32.const 1 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2588 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2589 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.37690773521380183 - f64.const 0.32473301887512207 - i32.const 1 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2590 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2591 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2594 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2595 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 3 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2596 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2597 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2598 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2599 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2600 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2601 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0.5 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2602 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2603 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -2 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2604 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -3 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2605 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -4 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2606 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2607 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2608 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2609 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 3 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2610 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2611 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2612 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2613 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2614 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2615 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0.5 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2616 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2617 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -2 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2618 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -3 - f64.const -inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2619 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -4 - f64.const inf - f64.const 0 - i32.const 4 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2620 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2621 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2622 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2623 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2624 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2625 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2626 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2627 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2630 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2631 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2632 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2633 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2634 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2635 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2636 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 2 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2637 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2638 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -2 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2639 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -3 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2640 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0.5 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2641 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2642 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2643 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2644 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 3 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2645 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.5 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2646 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -0.5 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2647 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -3 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2648 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 0.5 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2649 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1.5 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2650 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 2 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2651 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 3 - f64.const -0.125 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2652 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2653 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2654 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2657 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2658 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2661 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2662 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 3 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2666 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2667 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0.5 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2668 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2669 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2670 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2671 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2672 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2673 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2674 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 3 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2675 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2676 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2677 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0.5 - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2678 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0.5 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2679 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2680 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2681 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2682 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2683 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - f64.const -2 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2684 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_pow - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2685 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2688 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2689 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2690 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2691 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2692 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2693 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2695 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2697 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const -0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2698 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const -1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2699 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2700 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const -inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2701 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2702 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2704 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const -inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2705 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const -1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2706 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const 2 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2707 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2708 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2709 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const -0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2710 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2711 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2713 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2714 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2715 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 0.25 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2716 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2717 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2718 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2719 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 2 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2720 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2722 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2723 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0.5 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2724 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 2 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2725 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2726 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2727 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2728 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0.5 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2729 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2738 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 2.134714122803416e-06 - f32.const 0.1436440795660019 - i32.const 1 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2739 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2740 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2741 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 44909.33203125 - f32.const -0.05356409028172493 - i32.const 1 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2742 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2743 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 1.1135177612304688 - f32.const 0.19122089445590973 - i32.const 1 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.3769077658653259 - f32.const 0.337149053812027 - i32.const 1 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2750 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2751 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 3 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2752 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2753 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2754 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2755 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2756 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2757 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0.5 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2758 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -2 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -3 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2761 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -4 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2762 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2763 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2764 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2765 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 3 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2766 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2767 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2768 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2769 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2770 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2771 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0.5 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2772 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2773 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -2 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2774 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -3 - f32.const -inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2775 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -4 - f32.const inf - f32.const 0 - i32.const 4 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2776 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2777 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2778 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2779 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2780 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2784 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2785 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2786 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2787 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2788 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2789 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2790 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2791 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2792 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 2 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2793 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2794 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -2 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2795 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -3 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2796 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0.5 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2797 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2798 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2799 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2800 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 3 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2801 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0.5 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2802 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -0.5 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2803 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -3 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2804 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 0.5 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2805 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1.5 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2806 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 2 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2807 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 3 - f32.const -0.125 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2808 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2809 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2810 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2811 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2812 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const -inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2817 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2818 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2819 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2820 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 3 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2821 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2822 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2823 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0.5 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2824 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2825 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2826 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2827 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2828 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2829 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2830 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 3 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2831 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 2 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2832 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2833 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0.5 - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2834 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0.5 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2835 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2836 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -2 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2837 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2838 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2839 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - f32.const -2 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2840 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2841 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - call $~lib/bindings/Math/random - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom - i32.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - f64.convert_i32_s - f64.const 1e6 - f64.lt - local.set $2 - local.get $2 - if - call $~lib/math/NativeMath.random - local.set $0 - local.get $0 - f64.const 0 - f64.ge - if (result i32) - local.get $0 - f64.const 1 - f64.lt - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2850 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - call $~lib/bindings/Math/random - i64.reinterpret_f64 - local.set $3 - local.get $3 - call $~lib/math/NativeMath.seedRandom - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - f64.convert_i32_s - f64.const 1e6 - f64.lt - local.set $2 - local.get $2 - if - call $~lib/math/NativeMathf.random - local.set $4 - local.get $4 - f32.const 0 - f32.ge - if (result i32) - local.get $4 - f32.const 1 - f32.lt - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2858 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - f64.const -8.06684839057968 - f64.const -8 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2873 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2874 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -7 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2875 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2879 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2880 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2881 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2884 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2885 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2886 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2887 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2888 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2889 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2892 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 2 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2893 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2894 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2896 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2897 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2898 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2899 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2900 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2909 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2910 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2911 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -7 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2912 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2913 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2914 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2915 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2916 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2917 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2918 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2921 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2922 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2923 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2924 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2925 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2926 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2927 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2928 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2929 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 2 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2930 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2931 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2932 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2933 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2936 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2937 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2948 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2949 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2950 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2951 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2964 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2965 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2966 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2967 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2968 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2969 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2970 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2971 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2972 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2978 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2979 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2980 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2981 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2982 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -nan:0x8000000000000 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2983 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2984 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $0 - local.get $0 - f64.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2985 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2991 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2992 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2993 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2994 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2995 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -nan:0x400000 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2996 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2997 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - local.get $4 - local.get $4 - f32.eq - i32.and - i32.const 0 - i32.ne - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2998 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 1.0044767307740567 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3009 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3010 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -0.09061141541648476 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3011 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -1.9641383050707404 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3012 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const -0.35572720174700656 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3013 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 0.17067236731650248 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3014 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const -0.016443286217702822 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3015 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3016 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3017 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.0106815621160685 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3018 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3021 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3022 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3023 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3024 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3025 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3026 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3027 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const 1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3028 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3029 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3030 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3031 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3032 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3033 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3034 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3035 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3036 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3037 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3038 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3039 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -1 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3040 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - f64.const 0.5 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3041 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const -1 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3042 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3043 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3044 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3045 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3046 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3047 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3048 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3049 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3050 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3051 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3052 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3053 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3054 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3055 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3056 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3057 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3058 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3059 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3060 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3061 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3062 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3063 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3064 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3065 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3066 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3067 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3068 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3069 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3070 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3071 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3072 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3073 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3074 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3075 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3076 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3077 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3078 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3079 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3080 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3081 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3082 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3083 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3084 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - f64.const -0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3085 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - f64.const 0.25 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3086 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8e-323 - f64.const inf - f64.const 8e-323 - f64.const 0 - i32.const 0 - call $std/math/test_rem - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3087 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 1.004476547241211 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3096 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3097 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -0.09061169624328613 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3098 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -1.9641380310058594 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3099 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const -0.3557271957397461 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3100 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 0.17067205905914307 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3101 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const -0.016443386673927307 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3102 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3103 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3104 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.010681532323360443 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3105 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3108 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3109 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3110 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3111 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3112 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3113 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const 1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3114 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const 1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3115 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3116 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3117 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3118 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3119 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3120 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3121 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3122 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3123 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3124 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3125 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3126 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const -1 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3127 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const -1 - f32.const 0.5 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3128 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const -1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3129 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3130 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3131 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3132 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3133 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3134 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3135 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3136 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3137 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3138 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3139 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3140 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3141 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -inf - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3142 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3143 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3144 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3145 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3146 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3147 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3148 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3149 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3150 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3151 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3152 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3153 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3154 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3155 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3156 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3157 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3158 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3159 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3160 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3161 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3162 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3163 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3164 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3165 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3166 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3167 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3168 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3169 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const 0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3170 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const 0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3171 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.75 - f32.const -0.5 - f32.const -0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3172 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.75 - f32.const -0.5 - f32.const 0.25 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3173 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const inf - f32.const 5.877471754111438e-39 - f32.const 0 - i32.const 0 - call $std/math/test_remf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3174 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -0.9774292928781227 - f64.const -0.14564912021160126 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3186 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -0.9333544736965718 - f64.const -0.08813747018575668 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3187 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -0.8640924711706304 - f64.const -0.11743883043527603 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3188 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -0.24593894772615374 - f64.const -0.12697851657867432 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3189 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 0.15706789772028007 - f64.const -0.029550159350037575 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3190 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.6146844860113447 - f64.const -0.09976737946271896 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3191 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.39549242182823696 - f64.const -0.3668774962425232 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3192 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5326763286672376 - f64.const -0.3550407588481903 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3193 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6991102068649779 - f64.const -0.427672415971756 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3194 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.6278312326301215 - f64.const -0.3828115463256836 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3195 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.313225746154785e-10 - f64.const 9.313225746154785e-10 - f64.const 6.510416860692203e-04 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3198 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -9.313225746154785e-10 - f64.const -9.313225746154785e-10 - f64.const -6.510416860692203e-04 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3199 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const 2.2250738585072014e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3200 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072014e-308 - f64.const -2.2250738585072014e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3201 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 5e-324 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3202 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const -5e-324 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3203 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3204 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3205 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507202e-308 - f64.const 2.225073858507202e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3206 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072024e-308 - f64.const 2.2250738585072024e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3207 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.4501477170144003e-308 - f64.const 4.4501477170144003e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3208 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.450147717014403e-308 - f64.const 4.450147717014403e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3209 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.450147717014406e-308 - f64.const 4.450147717014406e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3210 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.900295434028806e-308 - f64.const 8.900295434028806e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3211 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1175870895385742e-08 - f64.const 1.1175870895385742e-08 - f64.const 0.140625 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3212 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.4901161193847656e-08 - f64.const 1.4901161193847656e-08 - f64.const 0.1666666716337204 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3213 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507202e-308 - f64.const -2.225073858507202e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3214 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072024e-308 - f64.const -2.2250738585072024e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3215 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.4501477170144003e-308 - f64.const -4.4501477170144003e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3216 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.450147717014403e-308 - f64.const -4.450147717014403e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3217 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.450147717014406e-308 - f64.const -4.450147717014406e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3218 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.900295434028806e-308 - f64.const -8.900295434028806e-308 - f64.const 0 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3219 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.1175870895385742e-08 - f64.const -1.1175870895385742e-08 - f64.const -0.140625 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3220 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.4901161193847656e-08 - f64.const -1.4901161193847656e-08 - f64.const -0.1666666716337204 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3221 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.4901161193847656e-08 - f64.const -1.4901161193847656e-08 - f64.const -0.1666666716337204 - i32.const 1 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3222 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - f64.const 1e-323 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3223 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.4e-323 - f64.const 4.4e-323 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3224 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.562684646268003e-309 - f64.const 5.562684646268003e-309 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3225 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1125369292536007e-308 - f64.const 1.1125369292536007e-308 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3226 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072004e-308 - f64.const 2.2250738585072004e-308 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3227 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const 2.225073858507201e-308 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3228 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-323 - f64.const -1e-323 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3229 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.4e-323 - f64.const -4.4e-323 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3230 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5.562684646268003e-309 - f64.const -5.562684646268003e-309 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3231 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.1125369292536007e-308 - f64.const -1.1125369292536007e-308 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3232 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072004e-308 - f64.const -2.2250738585072004e-308 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3233 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507201e-308 - f64.const -2.225073858507201e-308 - f64.const 0 - i32.const 9 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3234 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3237 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3238 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3239 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3240 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_sin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3241 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5707963267948966 - call $~lib/math/NativeMath.sin - f64.const 1.5707963267948966 - call $~lib/bindings/Math/sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3244 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.141592653589793 - call $~lib/math/NativeMath.sin - f64.const 3.141592653589793 - call $~lib/bindings/Math/sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3245 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3283064365386963e-10 - f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3248 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.3283064365386963e-10 - f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3249 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.3826834323650898 - f64.const 0.39269908169872414 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3251 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.3826834323650898 - f64.const -0.39269908169872414 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3252 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.479425538604203 - f64.const 0.5 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3255 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.479425538604203 - f64.const -0.5 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3256 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1.5707963267948966 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3257 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1.5707963267948966 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3258 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.2246467991473532e-16 - f64.const 3.141592653589793 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3260 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.047032979958965e-14 - f64.const 6911.503837897545 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3261 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.7071067811865477 - f64.const 5.497787143782138 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3263 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7071067811865474 - f64.const 7.0685834705770345 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3264 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7071067811865483 - f64.const 8.63937979737193 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3265 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.7071067811865479 - f64.const 10.210176124166829 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3266 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -3.2103381051568376e-11 - f64.const 823549.6645826427 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3267 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.377820109360752 - f64.const 1329227995784915872903807e12 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3270 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.377820109360752 - f64.const -1329227995784915872903807e12 - call $~lib/math/NativeMath.sin - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3271 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.977429211139679 - f32.const 0.0801057294011116 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3280 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -0.933354377746582 - f32.const 0.34475627541542053 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3281 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.8640924692153931 - f32.const -0.468659907579422 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3282 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.24593880772590637 - f32.const -0.3955177664756775 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3283 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 0.1570674479007721 - f32.const -0.24006809294223785 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3284 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6146844625473022 - f32.const -0.07707194238901138 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3285 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.39549243450164795 - f32.const -0.11720617115497589 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3286 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5326763391494751 - f32.const -0.16059114038944244 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3287 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.699110209941864 - f32.const 0.26384368538856506 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3288 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.627831220626831 - f32.const 0.005127954296767712 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3289 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3292 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3293 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3294 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3295 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3296 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1.862645149230957e-09 - f32.const 4.850638554015907e-12 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3299 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const -1.862645149230957e-09 - f32.const -4.850638554015907e-12 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3300 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1.1754943508222875e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3301 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const -1.1754943508222875e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3302 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3303 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const -1.401298464324817e-45 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3304 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1.175494490952134e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3305 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1.1754946310819804e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3306 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 2.3509880009953429e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3307 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3308 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 2.3509895424236536e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3309 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 4.70197740328915e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3310 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1175870895385742e-08 - f32.const 1.1175870895385742e-08 - f32.const 2.6193447411060333e-10 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3311 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4901161193847656e-08 - f32.const 1.4901161193847656e-08 - f32.const 3.1044086745701804e-10 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3312 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 0.000244140625 - f32.const 0.0833333358168602 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3313 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.0003662109375 - f32.const 0.0003662109375 - f32.const 0.28125 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3314 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const -1.175494490952134e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3315 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const -1.1754946310819804e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3316 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const -2.3509880009953429e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3317 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.350988701644575e-38 - f32.const -2.350988701644575e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3318 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const -2.3509895424236536e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3319 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const -4.70197740328915e-38 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3320 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1175870895385742e-08 - f32.const -1.1175870895385742e-08 - f32.const -2.6193447411060333e-10 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3321 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.4901161193847656e-08 - f32.const -1.4901161193847656e-08 - f32.const -3.1044086745701804e-10 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3322 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const -0.000244140625 - f32.const -0.0833333358168602 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3323 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.0003662109375 - f32.const -0.0003662109375 - f32.const -0.28125 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3324 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 2.802596928649634e-45 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3325 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1.2611686178923354e-44 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3326 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3327 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 5.877471754111438e-39 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3328 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1.1754940705625946e-38 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3329 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1.1754942106924411e-38 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3330 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const -2.802596928649634e-45 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3331 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const -1.2611686178923354e-44 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3332 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3333 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const -5.877471754111438e-39 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3334 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const -1.1754940705625946e-38 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3335 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 0 - i32.const 9 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3336 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 255.99993896484375 - f32.const -0.9992055892944336 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3339 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5033165 - f32.const 0.5312945246696472 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3340 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 421657440 - f32.const -0.7397398948669434 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3341 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2147483392 - f32.const 0.2762770354747772 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3342 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 68719476736 - f32.const 0.9855440855026245 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3343 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 549755813888 - f32.const -0.9782648086547852 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3344 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const -0.5218765139579773 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3345 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -255.99993896484375 - f32.const 0.9992055892944336 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3346 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5033165 - f32.const -0.5312945246696472 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3347 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -421657440 - f32.const 0.7397398948669434 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3348 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2147483392 - f32.const -0.2762770354747772 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3349 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -68719476736 - f32.const -0.9855440855026245 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3350 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -549755813888 - f32.const 0.9782648086547852 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3351 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3402823466385288598117041e14 - f32.const 0.5218765139579773 - f32.const 0 - i32.const 1 - call $std/math/test_sinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3352 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -1593.5206801156262 - f64.const -0.2138727605342865 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3364 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 38.54878088685412 - f64.const 0.21537430584430695 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3365 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2182.6307505145546 - f64.const 0.16213826835155487 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3366 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -343.2723926847529 - f64.const 0.20479513704776764 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3367 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 5291.7790755194055 - f64.const -0.48676517605781555 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3368 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7114062568229157 - f64.const -0.4584641456604004 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3369 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.41790065258739445 - f64.const 0.37220045924186707 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3370 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5917755935451237 - f64.const 0.46178996562957764 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3371 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.8538292008852542 - f64.const -0.07019051909446716 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3372 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.732097615653169 - f64.const 0.26858529448509216 - i32.const 1 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3373 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3376 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3377 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3378 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3379 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_sinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3380 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -1593.521240234375 - f32.const 0.1671663224697113 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3389 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 38.548770904541016 - f32.const -0.49340328574180603 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3390 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2182.630859375 - f32.const 0.0849970355629921 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3391 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -343.2723388671875 - f32.const 0.0704190656542778 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3392 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 5291.78125 - f32.const -0.44362515211105347 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3393 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7114062309265137 - f32.const 0.058103885501623154 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3394 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.4179006516933441 - f32.const 0.39349499344825745 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3395 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5917755961418152 - f32.const -0.4183797240257263 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3396 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.8538292050361633 - f32.const 0.45992106199264526 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3397 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.7320976257324219 - f32.const -0.48159059882164 - i32.const 1 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3398 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3401 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3402 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3403 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3404 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_sinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3405 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3417 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.0845238903256313 - f64.const -0.07180261611938477 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3418 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3419 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3420 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 3.0441841217266385 - f64.const -0.01546262577176094 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3421 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8136251582267503 - f64.const -0.08618157356977463 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3422 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3423 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.7495063350104014 - f64.const -0.0981396734714508 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3424 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.879859248170583 - f64.const -0.37124353647232056 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3425 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3426 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3429 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3430 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3431 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3432 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3433 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3434 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3435 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3436 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - f64.const 3.1434555694052576e-162 - f64.const 0.43537619709968567 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3437 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5e-323 - f64.const 3.849931087076416e-162 - f64.const -0.45194002985954285 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3438 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 2.2227587494850775e-162 - f64.const 0 - i32.const 0 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3439 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3440 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - f64.const 0.9999999999999999 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3441 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.9999999999999998 - f64.const 1.414213562373095 - f64.const -0.21107041835784912 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3442 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const 1 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3443 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.0000000000000004 - f64.const 1.4142135623730951 - f64.const -0.27173060178756714 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3444 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000000000000002 - f64.const 1 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3445 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - f64.const 0.9999999999999999 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3446 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3447 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 1340780792994259561100831e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3448 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 179769313486231490980915e285 - f64.const 134078079299425926338769e131 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3449 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862314111473026e284 - f64.const 1340780792994258965674548e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3450 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862313313136902e284 - f64.const 1340780792994258667961407e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3451 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862312514800778e284 - f64.const 1340780792994258370248265e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3452 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862311716464655e284 - f64.const 1340780792994258072535124e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3453 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862310918128531e284 - f64.const 1340780792994257774821982e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3454 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862310119792407e284 - f64.const 1340780792994257477108841e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3455 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862309321456283e284 - f64.const 1340780792994257179395699e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3456 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862308523120159e284 - f64.const 1340780792994256881682558e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3457 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862307724784036e284 - f64.const 1340780792994256583969417e130 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3458 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507203e-308 - f64.const 1.4916681462400417e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3459 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507205e-308 - f64.const 1.4916681462400423e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3460 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507207e-308 - f64.const 1.491668146240043e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3461 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507209e-308 - f64.const 1.4916681462400437e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3462 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507211e-308 - f64.const 1.4916681462400443e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3463 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072127e-308 - f64.const 1.491668146240045e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3464 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072147e-308 - f64.const 1.4916681462400457e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3465 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072167e-308 - f64.const 1.4916681462400463e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3466 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072187e-308 - f64.const 1.491668146240047e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3467 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072207e-308 - f64.const 1.4916681462400476e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3468 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072226e-308 - f64.const 1.4916681462400483e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3469 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072246e-308 - f64.const 1.491668146240049e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3470 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072266e-308 - f64.const 1.4916681462400496e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3471 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072286e-308 - f64.const 1.4916681462400503e-154 - f64.const -0.5 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3472 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 92.35130391890645 - f64.const 9.609958580499006 - f64.const 0.4998137056827545 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3473 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 93.3599596388916 - f64.const 9.662295774757238 - f64.const -0.49979978799819946 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3474 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 95.42049628886124 - f64.const 9.76834153215689 - f64.const -0.49997270107269287 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3475 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 95.87916941885449 - f64.const 9.791790919890728 - f64.const 0.4998766779899597 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3476 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 96.84804174884022 - f64.const 9.841140266698785 - f64.const 0.499801903963089 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3477 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.43639050883155 - f64.const 9.87098731175517 - f64.const 0.4997696280479431 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3478 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.50957979883047 - f64.const 9.874693909120955 - f64.const 0.49999818205833435 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3479 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 97.80496893882612 - f64.const 9.88963947466368 - f64.const -0.4999580681324005 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3480 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 98.2751822888192 - f64.const 9.913383997849534 - f64.const 0.49979931116104126 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3481 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 99.47293564880155 - f64.const 9.973611966023219 - f64.const -0.4999540448188782 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3482 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.57047130878539 - f64.const 10.028483001370914 - f64.const -0.49996453523635864 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3483 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.60954608878481 - f64.const 10.030431002144665 - f64.const 0.49975672364234924 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3484 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 100.67909109878379 - f64.const 10.033897104255344 - f64.const -0.4997771382331848 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3485 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 101.12268095877725 - f64.const 10.055977374615422 - f64.const 0.49988678097724915 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3486 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 101.3027691287746 - f64.const 10.064927676281366 - f64.const 0.4999105632305145 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3487 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.45932313565507e-307 - f64.const 4.9591563149945874e-154 - f64.const -0.4998999834060669 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3488 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.610957305180409e-307 - f64.const 7.490632353266584e-154 - f64.const -0.4999343752861023 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3489 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.8073887977408524e-307 - f64.const 7.62062254526548e-154 - f64.const -0.49989569187164307 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3490 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.026137080471427e-307 - f64.const 8.382205605013174e-154 - f64.const 0.49980640411376953 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3491 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.438697769194972e-307 - f64.const 9.186238495268328e-154 - f64.const -0.4999065697193146 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3492 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1607792515836795e-306 - f64.const 1.0773946591586944e-153 - f64.const -0.49997684359550476 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3493 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.2827413827423193e-306 - f64.const 1.1325817333606962e-153 - f64.const -0.4999513030052185 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3494 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.7116604596087457e-306 - f64.const 1.3083044216117078e-153 - f64.const -0.49986395239830017 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3495 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.038173251686994e-306 - f64.const 1.4276460526639628e-153 - f64.const 0.4998403787612915 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3496 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.171572060856931e-306 - f64.const 1.4736254818836879e-153 - f64.const 0.4999290406703949 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3497 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.4681399631804094e-306 - f64.const 1.5710314965589996e-153 - f64.const 0.49989044666290283 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3498 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.5175533964200588e-306 - f64.const 1.5866799918131124e-153 - f64.const -0.4997701048851013 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3499 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.6461505468829625e-306 - f64.const 1.6266992797941982e-153 - f64.const 0.4998672902584076 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3500 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.8167076367720413e-306 - f64.const 1.9536395872248397e-153 - f64.const 0.49983471632003784 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3501 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.5743220778562766e-306 - f64.const 2.1387664851161936e-153 - f64.const 0.49985939264297485 - i32.const 1 - call $std/math/test_sqrt - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3502 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3511 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.084523916244507 - f32.const 0.3200402557849884 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3512 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3513 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3514 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 3.0441842079162598 - f32.const 0.05022354796528816 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3515 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.813625156879425 - f32.const 0.2240506112575531 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3516 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3517 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.7495063543319702 - f32.const 0.05895441770553589 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3518 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.879859209060669 - f32.const -0.4874873757362366 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3519 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3520 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3523 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3524 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3525 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3526 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3527 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3528 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3529 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4 - f32.const 2 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3530 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 5.293955920339377e-23 - f32.const 0 - i32.const 0 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3531 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.203895392974451e-45 - f32.const 6.483745598763743e-23 - f32.const 0.37388554215431213 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3532 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 3.743392066509216e-23 - f32.const -0.20303145051002502 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3533 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3534 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - f32.const 18446742974197923840 - f32.const -0.5 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3535 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -3402823466385288598117041e14 - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3536 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999998807907104 - f32.const 0.9999999403953552 - f32.const 2.980232594040899e-08 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3537 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999999403953552 - f32.const 0.9999999403953552 - f32.const -0.5 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3538 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.999999761581421 - f32.const 1.4142134189605713 - f32.const -0.4959246516227722 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3539 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.9999998807907104 - f32.const 1.4142135381698608 - f32.const 0.15052194893360138 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3540 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000001192092896 - f32.const 1 - f32.const -0.5 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3541 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.000000238418579 - f32.const 1.0000001192092896 - f32.const 5.960463766996327e-08 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3542 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.000000238418579 - f32.const 1.4142136573791504 - f32.const 0.08986179530620575 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3543 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.000000476837158 - f32.const 1.41421377658844 - f32.const 0.3827550709247589 - i32.const 1 - call $std/math/test_sqrtf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3544 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.626603542401633 - f64.const -0.2727603316307068 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3556 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.600191705822202 - f64.const 0.2651003301143646 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3557 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const 1.7167408328741052 - f64.const -0.24687519669532776 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3558 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -0.2537322523453725 - f64.const -0.4679703712463379 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3559 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const -0.15904195727191958 - f64.const -0.06704077869653702 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3560 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.7792919106910434 - f64.const -0.038056135177612305 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3561 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.43059952879543656 - f64.const -0.09242714196443558 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3562 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.62940368731874 - f64.const -0.321913480758667 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3563 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.9777574652949645 - f64.const -0.1966651827096939 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3564 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.8066186630209123 - f64.const -0.067665696144104 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3565 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.313225746154785e-10 - f64.const 9.313225746154785e-10 - f64.const -1.3020833721384406e-03 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3568 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -9.313225746154785e-10 - f64.const -9.313225746154785e-10 - f64.const 1.3020833721384406e-03 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3569 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - f64.const 2.2250738585072014e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3570 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072014e-308 - f64.const -2.2250738585072014e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3571 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - f64.const 5e-324 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3572 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5e-324 - f64.const -5e-324 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3573 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3574 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3575 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7853981633974483 - f64.const 0.9999999999999999 - f64.const -0.4484681189060211 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3576 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.7853981633974483 - f64.const -0.9999999999999999 - f64.const 0.4484681189060211 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3577 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507202e-308 - f64.const 2.225073858507202e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3578 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072024e-308 - f64.const 2.2250738585072024e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3579 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.4501477170144003e-308 - f64.const 4.4501477170144003e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3580 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.450147717014403e-308 - f64.const 4.450147717014403e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3581 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.450147717014406e-308 - f64.const 4.450147717014406e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3582 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 8.900295434028806e-308 - f64.const 8.900295434028806e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3583 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1175870895385742e-08 - f64.const 1.1175870895385742e-08 - f64.const -0.28125 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3584 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.4901161193847656e-08 - f64.const 1.4901161193847656e-08 - f64.const -0.3333333432674408 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3585 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507202e-308 - f64.const -2.225073858507202e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3586 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072024e-308 - f64.const -2.2250738585072024e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3587 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.4501477170144003e-308 - f64.const -4.4501477170144003e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3588 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.450147717014403e-308 - f64.const -4.450147717014403e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3589 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.450147717014406e-308 - f64.const -4.450147717014406e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3590 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.900295434028806e-308 - f64.const -8.900295434028806e-308 - f64.const 0 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3591 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.1175870895385742e-08 - f64.const -1.1175870895385742e-08 - f64.const 0.28125 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3592 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.4901161193847656e-08 - f64.const -1.4901161193847656e-08 - f64.const 0.3333333432674408 - i32.const 1 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3593 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - f64.const 1e-323 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3594 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.4e-323 - f64.const 4.4e-323 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3595 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.562684646268003e-309 - f64.const 5.562684646268003e-309 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3596 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1125369292536007e-308 - f64.const 1.1125369292536007e-308 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3597 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072004e-308 - f64.const 2.2250738585072004e-308 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3598 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.225073858507201e-308 - f64.const 2.225073858507201e-308 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3599 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-323 - f64.const -1e-323 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3600 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -4.4e-323 - f64.const -4.4e-323 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3601 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -5.562684646268003e-309 - f64.const -5.562684646268003e-309 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3602 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.1125369292536007e-308 - f64.const -1.1125369292536007e-308 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3603 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.2250738585072004e-308 - f64.const -2.2250738585072004e-308 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3604 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.225073858507201e-308 - f64.const -2.225073858507201e-308 - f64.const 0 - i32.const 9 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3605 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.tan - f64.const 2.3283064365386963e-10 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3608 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.tan - f64.const -2.3283064365386963e-10 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3609 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6875 - call $~lib/math/NativeMath.tan - f64.const 0.6875 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3610 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6875 - call $~lib/math/NativeMath.tan - f64.const -0.6875 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3611 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.39269908169872414 - call $~lib/math/NativeMath.tan - f64.const 0.39269908169872414 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3612 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6743358 - call $~lib/math/NativeMath.tan - f64.const 0.6743358 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3613 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 3.725290298461914e-09 - call $~lib/math/NativeMath.tan - f64.const 3.725290298461914e-09 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3614 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5707963267948966 - call $~lib/math/NativeMath.tan - f64.const 1.5707963267948966 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3615 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - call $~lib/math/NativeMath.tan - f64.const 0.5 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3617 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.107148717794091 - call $~lib/math/NativeMath.tan - f64.const 1.107148717794091 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3618 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5.497787143782138 - call $~lib/math/NativeMath.tan - f64.const 5.497787143782138 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3619 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.0685834705770345 - call $~lib/math/NativeMath.tan - f64.const 7.0685834705770345 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3620 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1647099.3291652855 - call $~lib/math/NativeMath.tan - f64.const 1647099.3291652855 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3621 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1647097.7583689587 - call $~lib/math/NativeMath.tan - f64.const 1647097.7583689587 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3622 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1329227995784915872903807e12 - call $~lib/math/NativeMath.tan - f64.const 1329227995784915872903807e12 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3623 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1329227995784915872903807e12 - call $~lib/math/NativeMath.tan - f64.const -1329227995784915872903807e12 - call $~lib/bindings/Math/tan - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3624 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3627 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3628 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3629 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 2 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3630 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_tan - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3631 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.626595497131348 - f32.const 0.2455666959285736 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3640 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.6001901626586914 - f32.const 0.3652407228946686 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3641 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const 1.716740608215332 - f32.const 0.08169349282979965 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3642 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.2537320852279663 - f32.const 0.23186513781547546 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3643 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const -0.15904149413108826 - f32.const -0.009332014247775078 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3644 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.7792918682098389 - f32.const -0.06759700924158096 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3645 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.43059954047203064 - f32.const 0.005771996453404427 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3646 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.6294037103652954 - f32.const -0.16838163137435913 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3647 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.977757453918457 - f32.const 0.38969388604164124 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3648 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.8066186308860779 - f32.const 0.12294059991836548 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3649 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3652 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3653 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3654 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const nan:0x400000 - f32.const 0 - i32.const 2 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3655 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3656 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.862645149230957e-09 - f32.const 1.862645149230957e-09 - f32.const -9.701277108031814e-12 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3659 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.862645149230957e-09 - f32.const -1.862645149230957e-09 - f32.const 9.701277108031814e-12 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3660 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754943508222875e-38 - f32.const 1.1754943508222875e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3661 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754943508222875e-38 - f32.const -1.1754943508222875e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3662 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - f32.const 1.401298464324817e-45 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3663 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.401298464324817e-45 - f32.const -1.401298464324817e-45 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3664 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.175494490952134e-38 - f32.const 1.175494490952134e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3665 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754946310819804e-38 - f32.const 1.1754946310819804e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3666 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509880009953429e-38 - f32.const 2.3509880009953429e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3667 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3668 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3509895424236536e-38 - f32.const 2.3509895424236536e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3669 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.70197740328915e-38 - f32.const 4.70197740328915e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3670 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1175870895385742e-08 - f32.const 1.1175870895385742e-08 - f32.const -5.238689482212067e-10 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3671 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4901161193847656e-08 - f32.const 1.4901161193847656e-08 - f32.const -6.208817349140361e-10 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3672 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.000244140625 - f32.const 0.000244140625 - f32.const -0.1666666716337204 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3673 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.175494490952134e-38 - f32.const -1.175494490952134e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3674 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754946310819804e-38 - f32.const -1.1754946310819804e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3675 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509880009953429e-38 - f32.const -2.3509880009953429e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3676 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.350988701644575e-38 - f32.const 2.350988701644575e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3677 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.3509895424236536e-38 - f32.const -2.3509895424236536e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3678 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -4.70197740328915e-38 - f32.const -4.70197740328915e-38 - f32.const 0 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3679 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1175870895385742e-08 - f32.const -1.1175870895385742e-08 - f32.const 5.238689482212067e-10 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3680 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.4901161193847656e-08 - f32.const -1.4901161193847656e-08 - f32.const 6.208817349140361e-10 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3681 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.000244140625 - f32.const -0.000244140625 - f32.const 0.1666666716337204 - i32.const 1 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3682 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.802596928649634e-45 - f32.const 2.802596928649634e-45 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3683 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.2611686178923354e-44 - f32.const 1.2611686178923354e-44 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3684 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3685 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 5.877471754111438e-39 - f32.const 5.877471754111438e-39 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3686 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754940705625946e-38 - f32.const 1.1754940705625946e-38 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3687 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.1754942106924411e-38 - f32.const 1.1754942106924411e-38 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3688 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.802596928649634e-45 - f32.const -2.802596928649634e-45 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3689 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.2611686178923354e-44 - f32.const -1.2611686178923354e-44 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3690 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3691 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -5.877471754111438e-39 - f32.const -5.877471754111438e-39 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3692 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754940705625946e-38 - f32.const -1.1754940705625946e-38 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3693 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 0 - i32.const 9 - call $std/math/test_tanf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3694 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -0.999999803096032 - f64.const 0.012793331407010555 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3706 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 0.9996636978961307 - f64.const 0.1573508232831955 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3707 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -0.9999998950434862 - f64.const 0.27985066175460815 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3708 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -0.9999957568392429 - f64.const -0.44285574555397034 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3709 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 0.9999999821447234 - f64.const 0.4462755024433136 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3710 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.5796835018635275 - f64.const 0.4892043173313141 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3711 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0.3855853099901652 - f64.const 0.35993871092796326 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3712 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.5092819248700439 - f64.const -0.39436522126197815 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3713 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6493374550318555 - f64.const -0.4899396002292633 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3714 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.590715084799841 - f64.const -0.0145387789234519 - i32.const 1 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3715 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3718 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3719 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3720 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3721 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_tanh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3722 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -0.9999998211860657 - f32.const -0.3034979999065399 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3731 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 0.9996637105941772 - f32.const 0.2154078334569931 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3732 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -0.9999998807907104 - f32.const 0.23912210762500763 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3733 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -0.999995768070221 - f32.const -0.18844597041606903 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3734 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 1 - f32.const 0.1497807800769806 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3735 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.5796834826469421 - f32.const -0.05590476095676422 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3736 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0.38558530807495117 - f32.const 0.349787175655365 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3737 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0.5092819333076477 - f32.const -0.1528785079717636 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3738 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0.6493374705314636 - f32.const 0.4317026138305664 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3739 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0.5907150506973267 - f32.const 0.4079873859882355 - i32.const 1 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3740 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3743 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3744 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3745 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3746 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_tanhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3747 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const -8 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3759 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3760 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3761 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const -6 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3762 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3763 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3764 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3765 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3766 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3767 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3768 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3771 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3772 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3773 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3774 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3775 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3776 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3777 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3778 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3779 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3780 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3781 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3782 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3783 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3784 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - i32.const 1 - call $std/math/test_trunc - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3785 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3794 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3795 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3796 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -6 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3797 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3798 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3799 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3800 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3801 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3802 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3803 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3806 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3807 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3808 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3809 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3810 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3811 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3812 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3813 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3814 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3815 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3816 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3817 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3818 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3819 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - i32.const 1 - call $std/math/test_truncf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3820 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -4602641186874283791 - i64.const -4616392916911125550 - i64.const -4628956453976145920 - i64.const -4626592471448962314 - i64.const -4630808324688838656 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const 4616578323568966759 - i64.const -4616789907589610460 - i64.const -4632356642145435648 - i64.const -4623234040091605244 - i64.const -4630954342839484416 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const -4602464091242371353 - i64.const -4617413764247143988 - i64.const -4630245256623816704 - i64.const -4620663195860462557 - i64.const -4641537901929168896 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const -4604332007749985084 - i64.const -4625343132137557201 - i64.const -4629629133364658176 - i64.const 4606905765568473756 - i64.const -4621075345754292224 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const 4621406507342668262 - i64.const 4594826987695694788 - i64.const -4639197561901547520 - i64.const -4616301417154991689 - i64.const 4602463851227643904 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const 4604137858433287319 - i64.const 4603711805189578650 - i64.const -4631518618864058368 - i64.const 4605279855905985745 - i64.const 4593746800099196928 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const -4622375691843501615 - i64.const -4622575858842575876 - i64.const -4623091339515396096 - i64.const 4606448054996611351 - i64.const -4624994927539912704 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const 4603235101512779211 - i64.const 4602973141375866126 - i64.const -4623304571219869696 - i64.const 4605798183832360369 - i64.const -4624249509122146304 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const 4605148163534189634 - i64.const 4604472244479532466 - i64.const -4621996155604041728 - i64.const 4604615492473651755 - i64.const -4632555521679818752 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - i64.const -4619083057392940530 - i64.const -4619541816298850243 - i64.const -4622804297187328000 - i64.const 4605185968576882368 - i64.const 4599236402884902912 - global.get $std/math/INEXACT - call $std/math/test_sincos - drop - f64.const 2 - f64.const 4 - call $~lib/math/NativeMath.imul - f64.const 8 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3861 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 8 - call $~lib/math/NativeMath.imul - f64.const -8 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3862 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -2 - call $~lib/math/NativeMath.imul - f64.const 4 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3863 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295 - f64.const 5 - call $~lib/math/NativeMath.imul - f64.const -5 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3864 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967294 - f64.const 5 - call $~lib/math/NativeMath.imul - f64.const -10 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3865 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+60 - f64.const 1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3866 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+60 - f64.const -1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3867 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1.e+60 - f64.const -1.e+60 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3868 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+24 - f64.const 100 - call $~lib/math/NativeMath.imul - f64.const -2147483648 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3869 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3870 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3871 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - f64.const 1797693134862315708145274e284 - call $~lib/math/NativeMath.imul - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3872 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3876 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3877 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3878 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -128 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3879 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3880 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967295.5 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3881 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967296 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3882 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967297 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3883 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3884 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3885 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 9007199254740991 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3886 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -9007199254740991 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3887 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3888 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3889 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3890 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 2.220446049250313e-16 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3891 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3895 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 1 - call $~lib/math/ipow64 - i64.const 0 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3896 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 2 - call $~lib/math/ipow64 - i64.const 0 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3897 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 3 - call $~lib/math/ipow64 - i64.const 0 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3898 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3900 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 1 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3901 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 2 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3902 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 3 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3903 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3905 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 1 - call $~lib/math/ipow64 - i64.const 2 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3906 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 2 - call $~lib/math/ipow64 - i64.const 4 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3907 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 2 - i32.const 3 - call $~lib/math/ipow64 - i64.const 8 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3908 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3910 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 1 - call $~lib/math/ipow64 - i64.const -1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3911 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 2 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3912 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 3 - call $~lib/math/ipow64 - i64.const -1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3913 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 0 - call $~lib/math/ipow64 - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3915 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 1 - call $~lib/math/ipow64 - i64.const -2 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3916 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 2 - call $~lib/math/ipow64 - i64.const 4 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3917 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const -2 - i32.const 3 - call $~lib/math/ipow64 - i64.const -8 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3918 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 40 - call $~lib/math/ipow64 - i64.const -6289078614652622815 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3920 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 41 - call $~lib/math/ipow64 - i64.const -420491770248316829 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3921 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 42 - call $~lib/math/ipow64 - i64.const -1261475310744950487 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3922 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 43 - call $~lib/math/ipow64 - i64.const -3784425932234851461 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3923 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 63 - call $~lib/math/ipow64 - i64.const -3237885987332494933 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3924 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 64 - call $~lib/math/ipow64 - i64.const 8733086111712066817 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3925 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i32.const 128 - call $~lib/math/ipow64 - i64.const -9204772141784466943 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3926 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i64.const 57055 - i32.const 3 - call $~lib/math/ipow64 - i64.const 339590 - i32.const 3 - call $~lib/math/ipow64 - i64.add - i64.const 39347712995520375 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3928 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3932 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3933 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 1 - call $~lib/math/ipow32f - local.tee $4 - local.get $4 - f32.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const -1 - call $~lib/math/ipow32f - local.tee $4 - local.get $4 - f32.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 2 - call $~lib/math/ipow32f - local.tee $4 - local.get $4 - f32.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3936 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3937 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 1 - call $~lib/math/ipow32f - f32.const inf - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3938 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3939 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 1 - call $~lib/math/ipow32f - f32.const -inf - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3940 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3941 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - i32.const 2 - call $~lib/math/ipow32f - f32.const 0 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3944 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - i32.const -1 - call $~lib/math/ipow32f - f32.const 2.938735877055719e-39 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3945 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const 36 - call $~lib/math/ipow32f - f32.const 1000000040918478759629753e12 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const -36 - call $~lib/math/ipow32f - f32.const 9.999999462560281e-37 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3947 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3951 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 1 - call $~lib/math/ipow64f - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const -1 - call $~lib/math/ipow64f - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 2 - call $~lib/math/ipow64f - local.tee $0 - local.get $0 - f64.ne - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 1 - call $~lib/math/ipow64f - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3957 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3958 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 1 - call $~lib/math/ipow64f - f64.const -inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3959 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3960 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3961 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3962 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - i32.const 2 - call $~lib/math/ipow64f - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3963 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - i32.const -1 - call $~lib/math/ipow64f - f64.const 5.562684646268003e-309 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3964 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 10 - i32.const 127 - call $~lib/math/ipow64f - f64.const 1000000000000000195419867e103 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3965 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 10 - i32.const -127 - call $~lib/math/ipow64f - f64.const 9.999999999999998e-128 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3966 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - ) - (func $~start (; 178 ;) - call $start:std/math - ) -) From 4c0cd3387d82ee91cf3fa30e9365979e617e12af Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 21:33:34 +0200 Subject: [PATCH 04/64] fixes --- src/compiler.ts | 2 +- std/assembly/math.ts | 2 +- tests/compiler/std/math.optimized.wat | 594 +- tests/compiler/std/math.untouched.wat | 55627 ++++++++++++++++++++++++ 4 files changed, 55714 insertions(+), 511 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 247fdc6368..7e42a2ff86 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4630,7 +4630,7 @@ export class Compiler extends DiagnosticEmitter { instance = this.i32PowInstance; if (!instance) { - let prototype = this.program.lookupGlobal(CommonNames.ipow64); + let prototype = this.program.lookupGlobal(CommonNames.ipow32); if (!prototype) { this.error( DiagnosticCode.Cannot_find_name_0, diff --git a/std/assembly/math.ts b/std/assembly/math.ts index d9a854c71e..542136d550 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3004,7 +3004,7 @@ export namespace NativeMathf { export function ipow32(x: i32, e: i32): i32 { var out = 1; if (ASC_SHRINK_LEVEL < 1) { - if (e <= 0) return i64(e == 0); + if (e <= 0) return i32(e == 0); if (e == 1) return x; if (e == 2) return x * x; diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index b50f8038e5..1e45810fb8 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -10,22 +10,23 @@ (type $f32_f32_f32_f32_=>_i32 (func (param f32 f32 f32 f32) (result i32))) (type $f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64) (result i32))) (type $none_=>_none (func)) - (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) (type $none_=>_f64 (func (result f64))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i64_=>_none (func (param i64))) (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) (type $f64_=>_none (func (param f64))) + (type $none_=>_i32 (func (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i64_=>_i32 (func (param i64) (result i32))) (type $f32_i32_f32_=>_i32 (func (param f32 i32 f32) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) (type $f64_i32_f64_=>_i32 (func (param f64 i32 f64) (result i32))) (type $i64_=>_i64 (func (param i64) (result i64))) - (type $i64_i32_=>_i64 (func (param i64 i32) (result i64))) + (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) (type $none_=>_f32 (func (result f32))) + (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) (type $f32_f32_f32_=>_f32 (func (param f32 f32 f32) (result f32))) + (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) (type $f64_f64_f64_=>_f64 (func (param f64 f64 f64) (result f64))) (import "Math" "E" (global $~lib/bindings/Math/E f64)) @@ -11430,27 +11431,29 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 172 ;) (param $0 i64) (param $1 i32) (result i64) + (func $~lib/math/ipow64 (; 172 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) i64.const 1 local.set $2 loop $while-continue|0 local.get $1 - i32.const 0 - i32.gt_s + i64.const 0 + i64.gt_s if local.get $0 local.get $2 i64.mul local.get $2 local.get $1 - i32.const 1 - i32.and + i64.const 1 + i64.and + i64.const 0 + i64.ne select local.set $2 local.get $1 - i32.const 1 - i32.shr_s + i64.const 1 + i64.shr_s local.set $1 local.get $0 local.get $0 @@ -11461,102 +11464,47 @@ end local.get $2 ) - (func $~lib/math/ipow32f (; 173 ;) (param $0 f32) (param $1 i32) (result f32) - (local $2 f32) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor + (func $~lib/math/ipow32 (; 173 ;) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 3 + local.set $0 + i32.const -2 local.set $1 - f32.const 1 + i32.const 1 local.set $2 loop $while-continue|0 - local.get $1 + local.get $0 + i32.const 0 + i32.gt_s if + local.get $1 + local.get $2 + i32.mul local.get $2 local.get $0 - f32.const 1 - local.get $1 i32.const 1 i32.and select - f32.mul local.set $2 - local.get $1 + local.get $0 i32.const 1 i32.shr_s - local.set $1 - local.get $0 - local.get $0 - f32.mul local.set $0 - br $while-continue|0 - end - end - local.get $3 - if - f32.const 1 - local.get $2 - f32.div - local.set $2 - end - local.get $2 - ) - (func $~lib/math/ipow64f (; 174 ;) (param $0 f64) (param $1 i32) (result f64) - (local $2 f64) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor - local.set $1 - f64.const 1 - local.set $2 - loop $while-continue|0 - local.get $1 - if - local.get $2 - local.get $0 - f64.const 1 local.get $1 - i32.const 1 - i32.and - select - f64.mul - local.set $2 local.get $1 - i32.const 1 - i32.shr_s + i32.mul local.set $1 - local.get $0 - local.get $0 - f64.mul - local.set $0 br $while-continue|0 end end - local.get $3 - if - f64.const 1 - local.get $2 - f64.div - local.set $2 - end local.get $2 ) - (func $start:std/math (; 175 ;) + (func $start:std/math (; 174 ;) (local $0 f64) - (local $1 f32) - (local $2 i32) + (local $1 i32) + (local $2 f32) f64.const 2.718281828459045 global.get $~lib/bindings/Math/E f64.const 0 @@ -36894,7 +36842,7 @@ i64.reinterpret_f64 call $~lib/math/NativeMath.seedRandom loop $for-loop|0 - local.get $2 + local.get $1 f64.convert_i32_s f64.const 1e6 f64.lt @@ -36919,10 +36867,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end @@ -36930,19 +36878,19 @@ i64.reinterpret_f64 call $~lib/math/NativeMath.seedRandom i32.const 0 - local.set $2 + local.set $1 loop $for-loop|1 - local.get $2 + local.get $1 f64.convert_i32_s f64.const 1e6 f64.lt if call $~lib/math/NativeMathf.random - local.tee $1 + local.tee $2 f32.const 0 f32.ge if (result i32) - local.get $1 + local.get $2 f32.const 1 f32.lt else @@ -36957,10 +36905,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end @@ -46464,7 +46412,7 @@ unreachable end i64.const 0 - i32.const 0 + i64.const 0 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46477,7 +46425,7 @@ unreachable end i64.const 0 - i32.const 1 + i64.const 1 call $~lib/math/ipow64 i64.eqz i32.eqz @@ -46490,7 +46438,7 @@ unreachable end i64.const 0 - i32.const 2 + i64.const 2 call $~lib/math/ipow64 i64.eqz i32.eqz @@ -46503,7 +46451,7 @@ unreachable end i64.const 0 - i32.const 3 + i64.const 3 call $~lib/math/ipow64 i64.eqz i32.eqz @@ -46516,7 +46464,7 @@ unreachable end i64.const 1 - i32.const 0 + i64.const 0 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46529,7 +46477,7 @@ unreachable end i64.const 1 - i32.const 1 + i64.const 1 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46542,7 +46490,7 @@ unreachable end i64.const 1 - i32.const 2 + i64.const 2 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46555,7 +46503,7 @@ unreachable end i64.const 1 - i32.const 3 + i64.const 3 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46568,7 +46516,7 @@ unreachable end i64.const 2 - i32.const 0 + i64.const 0 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46581,7 +46529,7 @@ unreachable end i64.const 2 - i32.const 1 + i64.const 1 call $~lib/math/ipow64 i64.const 2 i64.ne @@ -46594,7 +46542,7 @@ unreachable end i64.const 2 - i32.const 2 + i64.const 2 call $~lib/math/ipow64 i64.const 4 i64.ne @@ -46607,7 +46555,7 @@ unreachable end i64.const 2 - i32.const 3 + i64.const 3 call $~lib/math/ipow64 i64.const 8 i64.ne @@ -46620,7 +46568,7 @@ unreachable end i64.const -1 - i32.const 0 + i64.const 0 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46633,7 +46581,7 @@ unreachable end i64.const -1 - i32.const 1 + i64.const 1 call $~lib/math/ipow64 i64.const -1 i64.ne @@ -46646,7 +46594,7 @@ unreachable end i64.const -1 - i32.const 2 + i64.const 2 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46659,7 +46607,7 @@ unreachable end i64.const -1 - i32.const 3 + i64.const 3 call $~lib/math/ipow64 i64.const -1 i64.ne @@ -46672,7 +46620,7 @@ unreachable end i64.const -2 - i32.const 0 + i64.const 0 call $~lib/math/ipow64 i64.const 1 i64.ne @@ -46685,7 +46633,7 @@ unreachable end i64.const -2 - i32.const 1 + i64.const 1 call $~lib/math/ipow64 i64.const -2 i64.ne @@ -46698,7 +46646,7 @@ unreachable end i64.const -2 - i32.const 2 + i64.const 2 call $~lib/math/ipow64 i64.const 4 i64.ne @@ -46711,7 +46659,7 @@ unreachable end i64.const -2 - i32.const 3 + i64.const 3 call $~lib/math/ipow64 i64.const -8 i64.ne @@ -46724,7 +46672,7 @@ unreachable end i64.const 3 - i32.const 40 + i64.const 40 call $~lib/math/ipow64 i64.const -6289078614652622815 i64.ne @@ -46737,7 +46685,7 @@ unreachable end i64.const 3 - i32.const 41 + i64.const 41 call $~lib/math/ipow64 i64.const -420491770248316829 i64.ne @@ -46750,7 +46698,7 @@ unreachable end i64.const 3 - i32.const 42 + i64.const 42 call $~lib/math/ipow64 i64.const -1261475310744950487 i64.ne @@ -46763,7 +46711,7 @@ unreachable end i64.const 3 - i32.const 43 + i64.const 43 call $~lib/math/ipow64 i64.const -3784425932234851461 i64.ne @@ -46776,7 +46724,7 @@ unreachable end i64.const 3 - i32.const 63 + i64.const 63 call $~lib/math/ipow64 i64.const -3237885987332494933 i64.ne @@ -46789,7 +46737,7 @@ unreachable end i64.const 3 - i32.const 64 + i64.const 64 call $~lib/math/ipow64 i64.const 8733086111712066817 i64.ne @@ -46802,7 +46750,7 @@ unreachable end i64.const 3 - i32.const 128 + i64.const 128 call $~lib/math/ipow64 i64.const -9204772141784466943 i64.ne @@ -46815,10 +46763,10 @@ unreachable end i64.const 57055 - i32.const 3 + i64.const 3 call $~lib/math/ipow64 i64.const 339590 - i32.const 3 + i64.const 3 call $~lib/math/ipow64 i64.add i64.const 39347712995520375 @@ -46831,430 +46779,58 @@ call $~lib/builtins/abort unreachable end - f32.const 0 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3932 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3933 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 1 - call $~lib/math/ipow32f - local.tee $1 - local.get $1 - f32.eq - if - i32.const 0 - i32.const 32 - i32.const 3934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const -1 - call $~lib/math/ipow32f - local.tee $1 - local.get $1 - f32.eq - if - i32.const 0 - i32.const 32 - i32.const 3935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - i32.const 2 - call $~lib/math/ipow32f - local.tee $1 - local.get $1 - f32.eq - if - i32.const 0 - i32.const 32 - i32.const 3936 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3937 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const inf - i32.const 1 - call $~lib/math/ipow32f - f32.const inf - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3938 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3939 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 1 - call $~lib/math/ipow32f - f32.const -inf - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3940 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3941 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 0 - call $~lib/math/ipow32f - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 1.401298464324817e-45 - i32.const 2 - call $~lib/math/ipow32f - f32.const 0 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3944 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 3402823466385288598117041e14 - i32.const -1 - call $~lib/math/ipow32f - f32.const 2.938735877055719e-39 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3945 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const 36 - call $~lib/math/ipow32f - f32.const 1000000040918478759629753e12 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f32.const 10 - i32.const -36 - call $~lib/math/ipow32f - f32.const 9.999999462560281e-37 - f32.ne - if - i32.const 0 - i32.const 32 - i32.const 3947 - i32.const 0 - call $~lib/builtins/abort - unreachable - end f64.const 0 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3951 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 1 - call $~lib/math/ipow64f - local.tee $0 - local.get $0 - f64.eq - if - i32.const 0 - i32.const 32 - i32.const 3953 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const -1 - call $~lib/math/ipow64f - local.tee $0 - local.get $0 - f64.eq - if - i32.const 0 - i32.const 32 - i32.const 3954 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - i32.const 2 - call $~lib/math/ipow64f - local.tee $0 - local.get $0 - f64.eq - if - i32.const 0 - i32.const 32 - i32.const 3955 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 0 - call $~lib/math/ipow64f + f64.const 0 + call $~lib/math/NativeMath.pow f64.const 1 f64.ne if i32.const 0 i32.const 32 - i32.const 3956 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const inf - i32.const 1 - call $~lib/math/ipow64f - f64.const inf - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3957 + i32.const 3932 i32.const 0 call $~lib/builtins/abort unreachable end - f64.const -inf - i32.const 0 - call $~lib/math/ipow64f + f64.const 0 f64.const 1 + call $~lib/math/NativeMath.pow + f64.const 0 f64.ne if i32.const 0 i32.const 32 - i32.const 3958 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 1 - call $~lib/math/ipow64f - f64.const -inf - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3959 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3960 + i32.const 3933 i32.const 0 call $~lib/builtins/abort unreachable end f64.const 1 - i32.const 0 - call $~lib/math/ipow64f + f64.const 3 + call $~lib/math/NativeMath.pow f64.const 1 f64.ne if i32.const 0 i32.const 32 - i32.const 3961 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3962 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 5e-324 - i32.const 2 - call $~lib/math/ipow64f - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3963 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 1797693134862315708145274e284 - i32.const -1 - call $~lib/math/ipow64f - f64.const 5.562684646268003e-309 - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3964 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - f64.const 10 - i32.const 127 - call $~lib/math/ipow64f - f64.const 1000000000000000195419867e103 - f64.ne - if - i32.const 0 - i32.const 32 - i32.const 3965 + i32.const 3934 i32.const 0 call $~lib/builtins/abort unreachable end - f64.const 10 - i32.const -127 - call $~lib/math/ipow64f - f64.const 9.999999999999998e-128 - f64.ne + call $~lib/math/ipow32 + i32.const -8 + i32.ne if i32.const 0 i32.const 32 - i32.const 3966 + i32.const 3935 i32.const 0 call $~lib/builtins/abort unreachable end ) - (func $~start (; 176 ;) + (func $~start (; 175 ;) call $start:std/math ) ) diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index e69de29bb2..cf965b10cd 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -0,0 +1,55627 @@ +(module + (type $f64_=>_f64 (func (param f64) (result f64))) + (type $f32_f32_f32_i32_=>_i32 (func (param f32 f32 f32 i32) (result i32))) + (type $f64_f64_f64_i32_=>_i32 (func (param f64 f64 f64 i32) (result i32))) + (type $f32_=>_f32 (func (param f32) (result f32))) + (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) + (type $f32_f32_f32_f32_i32_=>_i32 (func (param f32 f32 f32 f32 i32) (result i32))) + (type $f64_f64_f64_f64_i32_=>_i32 (func (param f64 f64 f64 f64 i32) (result i32))) + (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) + (type $none_=>_none (func)) + (type $f64_=>_i32 (func (param f64) (result i32))) + (type $none_=>_f64 (func (result f64))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i64_=>_none (func (param i64))) + (type $f64_=>_none (func (param f64))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i64_i64_i64_i64_i64_i32_=>_i32 (func (param i64 i64 i64 i64 i64 i32) (result i32))) + (type $f32_=>_i32 (func (param f32) (result i32))) + (type $f32_i32_f32_f32_i32_=>_i32 (func (param f32 i32 f32 f32 i32) (result i32))) + (type $f64_i32_f64_f64_i32_=>_i32 (func (param f64 i32 f64 f64 i32) (result i32))) + (type $f64_i64_=>_i32 (func (param f64 i64) (result i32))) + (type $i64_=>_i64 (func (param i64) (result i64))) + (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) + (type $none_=>_f32 (func (result f32))) + (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) + (type $f32_f32_f32_=>_f32 (func (param f32 f32 f32) (result f32))) + (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) + (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) + (type $f64_f64_f64_=>_f64 (func (param f64 f64 f64) (result f64))) + (import "Math" "E" (global $~lib/bindings/Math/E f64)) + (import "Math" "LN2" (global $~lib/bindings/Math/LN2 f64)) + (import "Math" "LN10" (global $~lib/bindings/Math/LN10 f64)) + (import "Math" "LOG2E" (global $~lib/bindings/Math/LOG2E f64)) + (import "Math" "PI" (global $~lib/bindings/Math/PI f64)) + (import "Math" "SQRT1_2" (global $~lib/bindings/Math/SQRT1_2 f64)) + (import "Math" "SQRT2" (global $~lib/bindings/Math/SQRT2 f64)) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "Math" "abs" (func $~lib/bindings/Math/abs (param f64) (result f64))) + (import "Math" "acos" (func $~lib/bindings/Math/acos (param f64) (result f64))) + (import "Math" "acosh" (func $~lib/bindings/Math/acosh (param f64) (result f64))) + (import "Math" "asin" (func $~lib/bindings/Math/asin (param f64) (result f64))) + (import "Math" "asinh" (func $~lib/bindings/Math/asinh (param f64) (result f64))) + (import "Math" "atan" (func $~lib/bindings/Math/atan (param f64) (result f64))) + (import "Math" "atanh" (func $~lib/bindings/Math/atanh (param f64) (result f64))) + (import "Math" "atan2" (func $~lib/bindings/Math/atan2 (param f64 f64) (result f64))) + (import "Math" "cbrt" (func $~lib/bindings/Math/cbrt (param f64) (result f64))) + (import "Math" "ceil" (func $~lib/bindings/Math/ceil (param f64) (result f64))) + (import "Math" "cos" (func $~lib/bindings/Math/cos (param f64) (result f64))) + (import "Math" "cosh" (func $~lib/bindings/Math/cosh (param f64) (result f64))) + (import "Math" "exp" (func $~lib/bindings/Math/exp (param f64) (result f64))) + (import "Math" "expm1" (func $~lib/bindings/Math/expm1 (param f64) (result f64))) + (import "Math" "pow" (func $~lib/bindings/Math/pow (param f64 f64) (result f64))) + (import "Math" "floor" (func $~lib/bindings/Math/floor (param f64) (result f64))) + (import "Math" "log" (func $~lib/bindings/Math/log (param f64) (result f64))) + (import "Math" "log10" (func $~lib/bindings/Math/log10 (param f64) (result f64))) + (import "Math" "log1p" (func $~lib/bindings/Math/log1p (param f64) (result f64))) + (import "Math" "log2" (func $~lib/bindings/Math/log2 (param f64) (result f64))) + (import "Math" "max" (func $~lib/bindings/Math/max (param f64 f64) (result f64))) + (import "Math" "min" (func $~lib/bindings/Math/min (param f64 f64) (result f64))) + (import "math" "mod" (func $std/math/mod (param f64 f64) (result f64))) + (import "Math" "random" (func $~lib/bindings/Math/random (result f64))) + (import "Math" "sign" (func $~lib/bindings/Math/sign (param f64) (result f64))) + (import "Math" "sin" (func $~lib/bindings/Math/sin (param f64) (result f64))) + (import "Math" "sinh" (func $~lib/bindings/Math/sinh (param f64) (result f64))) + (import "Math" "sqrt" (func $~lib/bindings/Math/sqrt (param f64) (result f64))) + (import "Math" "tan" (func $~lib/bindings/Math/tan (param f64) (result f64))) + (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) + (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) + (memory $0 1) + (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00") + (data (i32.const 64) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") + (data (i32.const 2128) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") + (data (i32.const 4192) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\0d\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\0d\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") + (data (i32.const 4464) "\c0\00\00\00\01\00\00\00\04\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") + (data (i32.const 4672) " \00\00\00\01\00\00\00\04\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") + (data (i32.const 4720) "\00\08\00\00\01\00\00\00\04\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data (i32.const 6784) "\00\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data (i32.const 7056) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") + (data (i32.const 8096) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") + (data (i32.const 9136) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data (i32.const 9408) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8 (; 35 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + local.get $0 + local.get $1 + f64.eq + if + i32.const 1 + return + end + local.get $1 + local.get $1 + f64.ne + if + local.get $0 + local.get $0 + f64.ne + return + end + local.get $0 + local.get $1 + local.get $2 + call $std/math/ulperr + local.set $4 + local.get $4 + f64.abs + f64.const 1.5 + f64.ge + if + i32.const 0 + return + end + i32.const 1 + ) + (func $std/math/eulpf (; 36 ;) (param $0 f32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $2 + local.get $2 + i32.eqz + if + local.get $2 + i32.const 1 + i32.add + local.set $2 + end + local.get $2 + i32.const 127 + i32.sub + i32.const 23 + i32.sub + ) + (func $~lib/math/NativeMathf.scalbn (; 37 ;) (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 $std/math/ulperrf (; 38 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) + (local $3 f32) + local.get $0 + local.get $0 + f32.ne + if (result i32) + local.get $1 + local.get $1 + f32.ne + else + i32.const 0 + end + if + f32.const 0 + return + end + local.get $0 + local.get $1 + f32.eq + if + local.get $0 + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and + i32.const 0 + i32.ne + local.get $1 + local.set $3 + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $3 + local.get $3 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.eq + if + local.get $2 + return + end + f32.const inf + return + end + local.get $0 + local.get $0 + f32.sub + f32.const 0 + f32.eq + i32.eqz + if + f32.const 1701411834604692317316873e14 + local.get $0 + f32.copysign + local.set $0 + local.get $1 + f32.const 0.5 + f32.mul + local.set $1 + end + local.get $0 + local.get $1 + f32.sub + i32.const 0 + local.get $1 + call $std/math/eulpf + i32.sub + call $~lib/math/NativeMathf.scalbn + local.get $2 + f32.add + ) + (func $std/math/check (; 39 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + local.get $0 + local.get $1 + f32.eq + if + i32.const 1 + return + end + local.get $1 + local.get $1 + f32.ne + if + local.get $0 + local.get $0 + f32.ne + return + end + local.get $0 + local.get $1 + local.get $2 + call $std/math/ulperrf + local.set $4 + local.get $4 + f32.abs + f32.const 1.5 + f32.ge + if + i32.const 0 + return + end + i32.const 1 + ) + (func $std/math/test_scalbn (; 40 ;) (param $0 f64) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMath.scalbn + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $std/math/test_scalbnf (; 41 ;) (param $0 f32) (param $1 i32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMathf.scalbn + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $std/math/test_abs (; 42 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + local.get $0 + local.set $4 + local.get $4 + f64.abs + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/abs + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_absf (; 43 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + local.get $0 + local.set $4 + local.get $4 + f32.abs + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/R (; 44 ;) (param $0 f64) (result f64) + (local $1 f64) + (local $2 f64) + local.get $0 + f64.const 0.16666666666666666 + local.get $0 + f64.const -0.3255658186224009 + local.get $0 + f64.const 0.20121253213486293 + local.get $0 + f64.const -0.04005553450067941 + local.get $0 + f64.const 7.915349942898145e-04 + local.get $0 + f64.const 3.479331075960212e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $1 + f64.const 1 + local.get $0 + f64.const -2.403394911734414 + local.get $0 + f64.const 2.0209457602335057 + local.get $0 + f64.const -0.6882839716054533 + local.get $0 + f64.const 0.07703815055590194 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $2 + local.get $1 + local.get $2 + f64.div + ) + (func $~lib/math/NativeMath.acos (; 45 ;) (param $0 f64) (result f64) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + local.get $0 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1072693248 + i32.ge_u + if + local.get $0 + i64.reinterpret_f64 + i32.wrap_i64 + local.set $3 + local.get $2 + i32.const 1072693248 + i32.sub + local.get $3 + i32.or + i32.const 0 + i32.eq + if + local.get $1 + i32.const 31 + i32.shr_u + if + f64.const 2 + f64.const 1.5707963267948966 + f64.mul + f32.const 7.52316384526264e-37 + f64.promote_f32 + f64.add + return + end + f64.const 0 + return + end + f64.const 0 + local.get $0 + local.get $0 + f64.sub + f64.div + return + end + local.get $2 + i32.const 1071644672 + i32.lt_u + if + local.get $2 + i32.const 1012924416 + i32.le_u + if + f64.const 1.5707963267948966 + f32.const 7.52316384526264e-37 + f64.promote_f32 + f64.add + return + end + f64.const 1.5707963267948966 + local.get $0 + f64.const 6.123233995736766e-17 + local.get $0 + local.get $0 + local.get $0 + f64.mul + call $~lib/math/R + f64.mul + f64.sub + f64.sub + f64.sub + return + end + local.get $1 + i32.const 31 + i32.shr_u + if + f64.const 0.5 + local.get $0 + f64.const 0.5 + f64.mul + f64.add + local.set $6 + local.get $6 + f64.sqrt + local.set $4 + local.get $6 + call $~lib/math/R + local.get $4 + f64.mul + f64.const 6.123233995736766e-17 + f64.sub + local.set $5 + f64.const 2 + f64.const 1.5707963267948966 + local.get $4 + local.get $5 + f64.add + f64.sub + f64.mul + return + end + f64.const 0.5 + local.get $0 + f64.const 0.5 + f64.mul + f64.sub + local.set $6 + local.get $6 + f64.sqrt + local.set $4 + local.get $4 + i64.reinterpret_f64 + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $7 + local.get $6 + local.get $7 + local.get $7 + f64.mul + f64.sub + local.get $4 + local.get $7 + f64.add + f64.div + local.set $8 + local.get $6 + call $~lib/math/R + local.get $4 + f64.mul + local.get $8 + f64.add + local.set $5 + f64.const 2 + local.get $7 + local.get $5 + f64.add + f64.mul + ) + (func $std/math/test_acos (; 46 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.acos + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/acos + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/Rf (; 47 ;) (param $0 f32) (result f32) + (local $1 f32) + (local $2 f32) + local.get $0 + f32.const 0.16666586697101593 + local.get $0 + f32.const -0.04274342209100723 + local.get $0 + f32.const -0.008656363002955914 + f32.mul + f32.add + f32.mul + f32.add + f32.mul + local.set $1 + f32.const 1 + local.get $0 + f32.const -0.7066296339035034 + f32.mul + f32.add + local.set $2 + local.get $1 + local.get $2 + f32.div + ) + (func $~lib/math/NativeMathf.acos (; 48 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f32) + (local $5 f32) + (local $6 f32) + (local $7 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1065353216 + i32.ge_u + if + local.get $2 + i32.const 1065353216 + i32.eq + if + local.get $1 + i32.const 31 + i32.shr_u + if + f32.const 2 + f32.const 1.570796251296997 + f32.mul + f32.const 7.52316384526264e-37 + f32.add + return + end + f32.const 0 + return + end + f32.const 0 + local.get $0 + local.get $0 + f32.sub + f32.div + return + end + local.get $2 + i32.const 1056964608 + i32.lt_u + if + local.get $2 + i32.const 847249408 + i32.le_u + if + f32.const 1.570796251296997 + f32.const 7.52316384526264e-37 + f32.add + return + end + f32.const 1.570796251296997 + local.get $0 + f32.const 7.549789415861596e-08 + local.get $0 + local.get $0 + local.get $0 + f32.mul + call $~lib/math/Rf + f32.mul + f32.sub + f32.sub + f32.sub + return + end + local.get $1 + i32.const 31 + i32.shr_u + if + f32.const 0.5 + local.get $0 + f32.const 0.5 + f32.mul + f32.add + local.set $3 + local.get $3 + f32.sqrt + local.set $5 + local.get $3 + call $~lib/math/Rf + local.get $5 + f32.mul + f32.const 7.549789415861596e-08 + f32.sub + local.set $4 + f32.const 2 + f32.const 1.570796251296997 + local.get $5 + local.get $4 + f32.add + f32.sub + f32.mul + return + end + f32.const 0.5 + local.get $0 + f32.const 0.5 + f32.mul + f32.sub + local.set $3 + local.get $3 + f32.sqrt + local.set $5 + local.get $5 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const -4096 + i32.and + f32.reinterpret_i32 + local.set $6 + local.get $3 + local.get $6 + local.get $6 + f32.mul + f32.sub + local.get $5 + local.get $6 + f32.add + f32.div + local.set $7 + local.get $3 + call $~lib/math/Rf + local.get $5 + f32.mul + local.get $7 + f32.add + local.set $4 + f32.const 2 + local.get $6 + local.get $4 + f32.add + f32.mul + ) + (func $std/math/test_acosf (; 49 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.acos + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.log1p (; 50 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 i32) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 f64) + (local $14 f64) + (local $15 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + i32.const 1 + local.set $3 + f64.const 0 + local.set $4 + f64.const 0 + local.set $5 + local.get $2 + i32.const 1071284858 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $2 + i32.const 31 + i32.shr_u + end + if + local.get $2 + i32.const -1074790400 + i32.ge_u + if + local.get $0 + f64.const -1 + f64.eq + if + local.get $0 + f64.const 0 + f64.div + return + end + local.get $0 + local.get $0 + f64.sub + f64.const 0 + f64.div + return + end + local.get $2 + i32.const 1 + i32.shl + i32.const 2034237440 + i32.lt_u + if + local.get $0 + return + end + local.get $2 + i32.const -1076707644 + i32.le_u + if + i32.const 0 + local.set $3 + f64.const 0 + local.set $4 + local.get $0 + local.set $5 + end + else + local.get $2 + i32.const 2146435072 + i32.ge_u + if + local.get $0 + return + end + end + local.get $3 + if + f64.const 1 + local.get $0 + f64.add + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $6 + local.get $6 + i32.const 1072693248 + i32.const 1072079006 + i32.sub + i32.add + local.set $6 + local.get $6 + i32.const 20 + i32.shr_u + i32.const 1023 + i32.sub + local.set $3 + local.get $3 + i32.const 54 + i32.lt_s + if + local.get $1 + f64.reinterpret_i64 + local.set $7 + local.get $3 + i32.const 2 + i32.ge_s + if (result f64) + f64.const 1 + local.get $7 + local.get $0 + f64.sub + f64.sub + else + local.get $0 + local.get $7 + f64.const 1 + f64.sub + f64.sub + end + local.set $4 + local.get $4 + local.get $7 + f64.div + local.set $4 + else + f64.const 0 + local.set $4 + end + local.get $6 + i32.const 1048575 + i32.and + i32.const 1072079006 + i32.add + local.set $6 + local.get $6 + i64.extend_i32_u + i64.const 32 + i64.shl + local.get $1 + i64.const 4294967295 + i64.and + i64.or + local.set $1 + local.get $1 + f64.reinterpret_i64 + f64.const 1 + f64.sub + local.set $5 + end + f64.const 0.5 + local.get $5 + f64.mul + local.get $5 + f64.mul + local.set $8 + local.get $5 + f64.const 2 + local.get $5 + f64.add + f64.div + local.set $9 + local.get $9 + local.get $9 + f64.mul + local.set $10 + local.get $10 + local.get $10 + f64.mul + local.set $11 + local.get $11 + f64.const 0.3999999999940942 + local.get $11 + f64.const 0.22222198432149784 + local.get $11 + f64.const 0.15313837699209373 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $12 + local.get $10 + f64.const 0.6666666666666735 + local.get $11 + f64.const 0.2857142874366239 + local.get $11 + f64.const 0.1818357216161805 + local.get $11 + f64.const 0.14798198605116586 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $13 + local.get $13 + local.get $12 + f64.add + local.set $14 + local.get $3 + f64.convert_i32_s + local.set $15 + local.get $9 + local.get $8 + local.get $14 + f64.add + f64.mul + local.get $15 + f64.const 1.9082149292705877e-10 + f64.mul + local.get $4 + f64.add + f64.add + local.get $8 + f64.sub + local.get $5 + f64.add + local.get $15 + f64.const 0.6931471803691238 + f64.mul + f64.add + ) + (func $~lib/math/NativeMath.log (; 51 ;) (param $0 f64) (result f64) + (local $1 f64) + (local $2 i64) + (local $3 f64) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 i32) + (local $13 i64) + (local $14 i32) + (local $15 i64) + (local $16 i64) + (local $17 f64) + (local $18 f64) + block $~lib/util/math/log_lut|inlined.0 (result f64) + local.get $0 + local.set $1 + local.get $1 + i64.reinterpret_f64 + local.set $2 + local.get $2 + i64.const 4606619468846596096 + i64.sub + i64.const 854320534781952 + i64.lt_u + if + local.get $1 + f64.const 1 + f64.sub + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $3 + f64.mul + local.set $5 + local.get $5 + f64.const 0.3333333333333352 + local.get $3 + f64.const -0.24999999999998432 + f64.mul + f64.add + local.get $4 + f64.const 0.19999999999320328 + f64.mul + f64.add + local.get $5 + f64.const -0.16666666669929706 + local.get $3 + f64.const 0.14285715076560868 + f64.mul + f64.add + local.get $4 + f64.const -0.12499997863982555 + f64.mul + f64.add + local.get $5 + f64.const 0.11110712032936046 + local.get $3 + f64.const -0.10000486757818193 + f64.mul + f64.add + local.get $4 + f64.const 0.09181994006195467 + f64.mul + f64.add + local.get $5 + f64.const -0.08328363062289341 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $6 + local.get $3 + f64.const 134217728 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.add + local.get $7 + f64.sub + local.set $8 + local.get $3 + local.get $8 + f64.sub + local.set $9 + local.get $8 + local.get $8 + f64.mul + f64.const -0.5 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.add + local.set $10 + local.get $3 + local.get $10 + f64.sub + local.get $7 + f64.add + local.set $11 + local.get $11 + f64.const -0.5 + local.get $9 + f64.mul + local.get $8 + local.get $3 + f64.add + f64.mul + f64.add + local.set $11 + local.get $6 + local.get $11 + f64.add + local.get $10 + f64.add + br $~lib/util/math/log_lut|inlined.0 + end + local.get $2 + i64.const 48 + i64.shr_u + i32.wrap_i64 + local.set $12 + local.get $12 + i32.const 16 + i32.sub + i32.const 32736 + i32.ge_u + if + local.get $2 + i64.const 1 + i64.shl + i64.const 0 + i64.eq + if + f64.const -1 + local.get $1 + local.get $1 + f64.mul + f64.div + br $~lib/util/math/log_lut|inlined.0 + end + local.get $2 + i64.const 9218868437227405312 + i64.eq + if + local.get $1 + br $~lib/util/math/log_lut|inlined.0 + end + local.get $12 + i32.const 32768 + i32.and + if (result i32) + i32.const 1 + else + local.get $12 + i32.const 32752 + i32.and + i32.const 32752 + i32.eq + end + if + local.get $1 + local.get $1 + f64.sub + local.get $1 + local.get $1 + f64.sub + f64.div + br $~lib/util/math/log_lut|inlined.0 + end + local.get $1 + f64.const 4503599627370496 + f64.mul + i64.reinterpret_f64 + local.set $2 + local.get $2 + i64.const 52 + i64.const 52 + i64.shl + i64.sub + local.set $2 + end + local.get $2 + i64.const 4604367669032910848 + i64.sub + local.set $13 + local.get $13 + i64.const 52 + i64.const 7 + i64.sub + i64.shr_u + i64.const 127 + i64.and + i32.wrap_i64 + local.set $14 + local.get $13 + i64.const 52 + i64.shr_s + local.set $15 + local.get $2 + local.get $13 + i64.const 4095 + i64.const 52 + i64.shl + i64.and + i64.sub + local.set $16 + i32.const 80 + local.get $14 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load + local.set $11 + i32.const 80 + local.get $14 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=8 + local.set $10 + local.get $16 + f64.reinterpret_i64 + local.set $9 + i32.const 2144 + local.get $14 + i32.const 4 + i32.shl + i32.add + f64.load + local.set $8 + i32.const 2144 + local.get $14 + i32.const 4 + i32.shl + i32.add + f64.load offset=8 + local.set $7 + local.get $9 + local.get $8 + f64.sub + local.get $7 + f64.sub + local.get $11 + f64.mul + local.set $6 + local.get $15 + f64.convert_i64_s + local.set $5 + local.get $5 + f64.const 0.6931471805598903 + f64.mul + local.get $10 + f64.add + local.set $4 + local.get $4 + local.get $6 + f64.add + local.set $3 + local.get $4 + local.get $3 + f64.sub + local.get $6 + f64.add + local.get $5 + f64.const 5.497923018708371e-14 + f64.mul + f64.add + local.set $17 + local.get $6 + local.get $6 + f64.mul + local.set $18 + local.get $17 + local.get $18 + f64.const -0.5000000000000001 + f64.mul + f64.add + local.get $6 + local.get $18 + f64.mul + f64.const 0.33333333331825593 + local.get $6 + f64.const -0.2499999999622955 + f64.mul + f64.add + local.get $18 + f64.const 0.20000304511814496 + local.get $6 + f64.const -0.16667054827627667 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.get $3 + f64.add + end + return + ) + (func $~lib/math/NativeMath.acosh (; 52 ;) (param $0 f64) (result f64) + (local $1 i64) + local.get $0 + i64.reinterpret_f64 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $1 + local.get $1 + i64.const 1024 + i64.lt_u + if + local.get $0 + f64.const 1 + f64.sub + local.get $0 + f64.const 1 + f64.sub + local.get $0 + f64.const 1 + f64.sub + f64.mul + f64.const 2 + local.get $0 + f64.const 1 + f64.sub + f64.mul + f64.add + f64.sqrt + f64.add + call $~lib/math/NativeMath.log1p + return + end + local.get $1 + i64.const 1049 + i64.lt_u + if + f64.const 2 + local.get $0 + f64.mul + f64.const 1 + local.get $0 + local.get $0 + local.get $0 + f64.mul + f64.const 1 + f64.sub + f64.sqrt + f64.add + f64.div + f64.sub + call $~lib/math/NativeMath.log + return + end + local.get $0 + call $~lib/math/NativeMath.log + f64.const 0.6931471805599453 + f64.add + ) + (func $std/math/test_acosh (; 53 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.acosh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/acosh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.log1p (; 54 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 f32) + (local $3 f32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 f32) + (local $8 f32) + (local $9 f32) + (local $10 f32) + (local $11 f32) + (local $12 f32) + (local $13 f32) + (local $14 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + f32.const 0 + local.set $2 + f32.const 0 + local.set $3 + i32.const 1 + local.set $4 + local.get $1 + i32.const 1054086096 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 31 + i32.shr_u + end + if + local.get $1 + i32.const -1082130432 + i32.ge_u + if + local.get $0 + f32.const -1 + f32.eq + if + local.get $0 + f32.const 0 + f32.div + return + end + local.get $0 + local.get $0 + f32.sub + f32.const 0 + f32.div + return + end + local.get $1 + i32.const 1 + i32.shl + i32.const 1728053248 + i32.lt_u + if + local.get $0 + return + end + local.get $1 + i32.const -1097468391 + i32.le_u + if + i32.const 0 + local.set $4 + f32.const 0 + local.set $2 + local.get $0 + local.set $3 + end + else + local.get $1 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + return + end + end + local.get $4 + if + f32.const 1 + local.get $0 + f32.add + local.set $5 + local.get $5 + i32.reinterpret_f32 + local.set $6 + local.get $6 + i32.const 1065353216 + i32.const 1060439283 + i32.sub + i32.add + local.set $6 + local.get $6 + i32.const 23 + i32.shr_u + i32.const 127 + i32.sub + local.set $4 + local.get $4 + i32.const 25 + i32.lt_s + if + local.get $4 + i32.const 2 + i32.ge_s + if (result f32) + f32.const 1 + local.get $5 + local.get $0 + f32.sub + f32.sub + else + local.get $0 + local.get $5 + f32.const 1 + f32.sub + f32.sub + end + local.set $2 + local.get $2 + local.get $5 + f32.div + local.set $2 + else + f32.const 0 + local.set $2 + end + local.get $6 + i32.const 8388607 + i32.and + i32.const 1060439283 + i32.add + local.set $6 + local.get $6 + f32.reinterpret_i32 + f32.const 1 + f32.sub + local.set $3 + end + local.get $3 + f32.const 2 + local.get $3 + f32.add + f32.div + local.set $7 + local.get $7 + local.get $7 + f32.mul + local.set $8 + local.get $8 + local.get $8 + f32.mul + local.set $9 + local.get $9 + f32.const 0.40000972151756287 + local.get $9 + f32.const 0.24279078841209412 + f32.mul + f32.add + f32.mul + local.set $10 + local.get $8 + f32.const 0.6666666269302368 + local.get $9 + f32.const 0.2849878668785095 + f32.mul + f32.add + f32.mul + local.set $11 + local.get $11 + local.get $10 + f32.add + local.set $12 + f32.const 0.5 + local.get $3 + f32.mul + local.get $3 + f32.mul + local.set $13 + local.get $4 + f32.convert_i32_s + local.set $14 + local.get $7 + local.get $13 + local.get $12 + f32.add + f32.mul + local.get $14 + f32.const 9.05800061445916e-06 + f32.mul + local.get $2 + f32.add + f32.add + local.get $13 + f32.sub + local.get $3 + f32.add + local.get $14 + f32.const 0.6931381225585938 + f32.mul + f32.add + ) + (func $~lib/math/NativeMathf.log (; 55 ;) (param $0 f32) (result f32) + (local $1 f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 f64) + block $~lib/util/math/logf_lut|inlined.0 (result f32) + local.get $0 + local.set $1 + local.get $1 + i32.reinterpret_f32 + local.set $2 + local.get $2 + i32.const 8388608 + i32.sub + i32.const 2130706432 + i32.ge_u + if + local.get $2 + i32.const 1 + i32.shl + i32.const 0 + i32.eq + if + f32.const inf + f32.neg + br $~lib/util/math/logf_lut|inlined.0 + end + local.get $2 + i32.const 2139095040 + i32.eq + if + local.get $1 + br $~lib/util/math/logf_lut|inlined.0 + end + local.get $2 + i32.const 31 + i32.shr_u + if (result i32) + i32.const 1 + else + local.get $2 + i32.const 1 + i32.shl + i32.const -16777216 + i32.ge_u + end + if + local.get $1 + local.get $1 + f32.sub + local.get $1 + local.get $1 + f32.sub + f32.div + br $~lib/util/math/logf_lut|inlined.0 + end + local.get $1 + f32.const 8388608 + f32.mul + i32.reinterpret_f32 + local.set $2 + local.get $2 + i32.const 23 + i32.const 23 + i32.shl + i32.sub + local.set $2 + end + local.get $2 + i32.const 1060306944 + i32.sub + local.set $3 + local.get $3 + i32.const 23 + i32.const 4 + i32.sub + i32.shr_u + i32.const 15 + i32.and + local.set $4 + local.get $3 + i32.const 23 + i32.shr_s + local.set $5 + local.get $2 + local.get $3 + i32.const 511 + i32.const 23 + i32.shl + i32.and + i32.sub + local.set $6 + i32.const 4208 + local.get $4 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load + local.set $7 + i32.const 4208 + local.get $4 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=8 + local.set $8 + local.get $6 + f32.reinterpret_i32 + f64.promote_f32 + local.set $9 + local.get $9 + local.get $7 + f64.mul + f64.const 1 + f64.sub + local.set $10 + local.get $8 + local.get $5 + f64.convert_i32_s + f64.const 0.6931471805599453 + f64.mul + f64.add + local.set $11 + local.get $10 + local.get $10 + f64.mul + local.set $12 + f64.const 0.333456765744066 + local.get $10 + f64.mul + f64.const -0.4999997485802103 + f64.add + local.set $13 + local.get $13 + f64.const -0.25089342214237154 + local.get $12 + f64.mul + f64.add + local.set $13 + local.get $13 + local.get $12 + f64.mul + local.get $11 + local.get $10 + f64.add + f64.add + local.set $13 + local.get $13 + f32.demote_f64 + end + return + ) + (func $~lib/math/NativeMathf.acosh (; 56 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1073741824 + i32.lt_u + if + local.get $0 + f32.const 1 + f32.sub + local.set $3 + local.get $3 + local.get $3 + local.get $3 + f32.const 2 + f32.add + f32.mul + f32.sqrt + f32.add + call $~lib/math/NativeMathf.log1p + return + end + local.get $2 + i32.const 1166016512 + i32.lt_u + if + f32.const 2 + local.get $0 + f32.mul + f32.const 1 + local.get $0 + local.get $0 + local.get $0 + f32.mul + f32.const 1 + f32.sub + f32.sqrt + f32.add + f32.div + f32.sub + call $~lib/math/NativeMathf.log + return + end + local.get $0 + call $~lib/math/NativeMathf.log + f32.const 0.6931471824645996 + f32.add + ) + (func $std/math/test_acoshf (; 57 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.acosh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.asin (; 58 ;) (param $0 f64) (result f64) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + local.get $0 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1072693248 + i32.ge_u + if + local.get $0 + i64.reinterpret_f64 + i32.wrap_i64 + local.set $3 + local.get $2 + i32.const 1072693248 + i32.sub + local.get $3 + i32.or + i32.const 0 + i32.eq + if + local.get $0 + f64.const 1.5707963267948966 + f64.mul + f32.const 7.52316384526264e-37 + f64.promote_f32 + f64.add + return + end + f64.const 0 + local.get $0 + local.get $0 + f64.sub + f64.div + return + end + local.get $2 + i32.const 1071644672 + i32.lt_u + if + local.get $2 + i32.const 1045430272 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1048576 + i32.ge_u + else + i32.const 0 + end + if + local.get $0 + return + end + local.get $0 + local.get $0 + local.get $0 + local.get $0 + f64.mul + call $~lib/math/R + f64.mul + f64.add + return + end + f64.const 0.5 + local.get $0 + f64.abs + f64.const 0.5 + f64.mul + f64.sub + local.set $4 + local.get $4 + f64.sqrt + local.set $5 + local.get $4 + call $~lib/math/R + local.set $6 + local.get $2 + i32.const 1072640819 + i32.ge_u + if + f64.const 1.5707963267948966 + f64.const 2 + local.get $5 + local.get $5 + local.get $6 + f64.mul + f64.add + f64.mul + f64.const 6.123233995736766e-17 + f64.sub + f64.sub + local.set $0 + else + local.get $5 + i64.reinterpret_f64 + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $7 + local.get $4 + local.get $7 + local.get $7 + f64.mul + f64.sub + local.get $5 + local.get $7 + f64.add + f64.div + local.set $8 + f64.const 0.5 + f64.const 1.5707963267948966 + f64.mul + f64.const 2 + local.get $5 + f64.mul + local.get $6 + f64.mul + f64.const 6.123233995736766e-17 + f64.const 2 + local.get $8 + f64.mul + f64.sub + f64.sub + f64.const 0.5 + f64.const 1.5707963267948966 + f64.mul + f64.const 2 + local.get $7 + f64.mul + f64.sub + f64.sub + f64.sub + local.set $0 + end + local.get $1 + i32.const 31 + i32.shr_u + if + local.get $0 + f64.neg + return + end + local.get $0 + ) + (func $std/math/test_asin (; 59 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.asin + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/asin + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.asin (; 60 ;) (param $0 f32) (result f32) + (local $1 f32) + (local $2 i32) + (local $3 f32) + (local $4 f64) + local.get $0 + local.set $1 + local.get $0 + i32.reinterpret_f32 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1065353216 + i32.ge_u + if + local.get $2 + i32.const 1065353216 + i32.eq + if + local.get $0 + f32.const 1.5707963705062866 + f32.mul + f32.const 7.52316384526264e-37 + f32.add + return + end + f32.const 0 + local.get $0 + local.get $0 + f32.sub + f32.div + return + end + local.get $2 + i32.const 1056964608 + i32.lt_u + if + local.get $2 + i32.const 964689920 + i32.lt_u + if (result i32) + local.get $2 + i32.const 8388608 + i32.ge_u + else + i32.const 0 + end + if + local.get $0 + return + end + local.get $0 + local.get $0 + local.get $0 + local.get $0 + f32.mul + call $~lib/math/Rf + f32.mul + f32.add + return + end + f32.const 0.5 + local.get $0 + f32.abs + f32.const 0.5 + f32.mul + f32.sub + local.set $3 + local.get $3 + f64.promote_f32 + f64.sqrt + local.set $4 + f32.const 1.5707963705062866 + f64.promote_f32 + f32.const 2 + f64.promote_f32 + local.get $4 + local.get $4 + local.get $3 + call $~lib/math/Rf + f64.promote_f32 + f64.mul + f64.add + f64.mul + f64.sub + f32.demote_f64 + local.set $0 + local.get $0 + local.get $1 + f32.copysign + ) + (func $std/math/test_asinf (; 61 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.asin + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.asinh (; 62 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i64) + (local $3 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $2 + local.get $1 + i64.const 9223372036854775807 + i64.and + f64.reinterpret_i64 + local.set $3 + local.get $2 + i64.const 1049 + i64.ge_u + if + local.get $3 + call $~lib/math/NativeMath.log + f64.const 0.6931471805599453 + f64.add + local.set $3 + else + local.get $2 + i64.const 1024 + i64.ge_u + if + f64.const 2 + local.get $3 + f64.mul + f64.const 1 + local.get $3 + local.get $3 + f64.mul + f64.const 1 + f64.add + f64.sqrt + local.get $3 + f64.add + f64.div + f64.add + call $~lib/math/NativeMath.log + local.set $3 + else + local.get $2 + i64.const 997 + i64.ge_u + if + local.get $3 + local.get $3 + local.get $3 + f64.mul + local.get $3 + local.get $3 + f64.mul + f64.const 1 + f64.add + f64.sqrt + f64.const 1 + f64.add + f64.div + f64.add + call $~lib/math/NativeMath.log1p + local.set $3 + end + end + end + local.get $3 + local.get $0 + f64.copysign + ) + (func $std/math/test_asinh (; 63 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.asinh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/asinh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.asinh (; 64 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 f32) + local.get $0 + i32.reinterpret_f32 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $2 + local.get $1 + i32.const 1166016512 + i32.ge_u + if + local.get $2 + call $~lib/math/NativeMathf.log + f32.const 0.6931471824645996 + f32.add + local.set $2 + else + local.get $1 + i32.const 1073741824 + i32.ge_u + if + f32.const 2 + local.get $2 + f32.mul + f32.const 1 + local.get $2 + local.get $2 + f32.mul + f32.const 1 + f32.add + f32.sqrt + local.get $2 + f32.add + f32.div + f32.add + call $~lib/math/NativeMathf.log + local.set $2 + else + local.get $1 + i32.const 964689920 + i32.ge_u + if + local.get $2 + local.get $2 + local.get $2 + f32.mul + local.get $2 + local.get $2 + f32.mul + f32.const 1 + f32.add + f32.sqrt + f32.const 1 + f32.add + f32.div + f32.add + call $~lib/math/NativeMathf.log1p + local.set $2 + end + end + end + local.get $2 + local.get $0 + f32.copysign + ) + (func $std/math/test_asinhf (; 65 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.asinh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.atan (; 66 ;) (param $0 f64) (result f64) + (local $1 i32) + (local $2 f64) + (local $3 f64) + (local $4 i32) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 i32) + local.get $0 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $1 + local.get $0 + local.set $2 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + i32.const 1141899264 + i32.ge_u + if + local.get $0 + local.get $0 + f64.ne + if + local.get $0 + return + end + f64.const 1.5707963267948966 + f32.const 7.52316384526264e-37 + f64.promote_f32 + f64.add + local.set $3 + local.get $3 + local.get $2 + f64.copysign + return + end + local.get $1 + i32.const 1071382528 + i32.lt_u + if + local.get $1 + i32.const 1044381696 + i32.lt_u + if + local.get $0 + return + end + i32.const -1 + local.set $4 + else + local.get $0 + f64.abs + local.set $0 + local.get $1 + i32.const 1072889856 + i32.lt_u + if + local.get $1 + i32.const 1072037888 + i32.lt_u + if + i32.const 0 + local.set $4 + f64.const 2 + local.get $0 + f64.mul + f64.const 1 + f64.sub + f64.const 2 + local.get $0 + f64.add + f64.div + local.set $0 + else + i32.const 1 + local.set $4 + local.get $0 + f64.const 1 + f64.sub + local.get $0 + f64.const 1 + f64.add + f64.div + local.set $0 + end + else + local.get $1 + i32.const 1073971200 + i32.lt_u + if + i32.const 2 + local.set $4 + local.get $0 + f64.const 1.5 + f64.sub + f64.const 1 + f64.const 1.5 + local.get $0 + f64.mul + f64.add + f64.div + local.set $0 + else + i32.const 3 + local.set $4 + f64.const -1 + local.get $0 + f64.div + local.set $0 + end + end + end + local.get $0 + local.get $0 + f64.mul + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $5 + local.get $3 + f64.const 0.3333333333333293 + local.get $5 + f64.const 0.14285714272503466 + local.get $5 + f64.const 0.09090887133436507 + local.get $5 + f64.const 0.06661073137387531 + local.get $5 + f64.const 0.049768779946159324 + local.get $5 + f64.const 0.016285820115365782 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $6 + local.get $5 + f64.const -0.19999999999876483 + local.get $5 + f64.const -0.11111110405462356 + local.get $5 + f64.const -0.0769187620504483 + local.get $5 + f64.const -0.058335701337905735 + local.get $5 + f64.const -0.036531572744216916 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $7 + local.get $0 + local.get $6 + local.get $7 + f64.add + f64.mul + local.set $8 + local.get $4 + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $8 + f64.sub + return + end + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $4 + local.set $9 + local.get $9 + i32.const 0 + i32.eq + br_if $case0|0 + local.get $9 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $9 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $9 + i32.const 3 + i32.eq + br_if $case3|0 + br $case4|0 + end + f64.const 0.4636476090008061 + local.get $8 + f64.const 2.2698777452961687e-17 + f64.sub + local.get $0 + f64.sub + f64.sub + local.set $3 + br $break|0 + end + f64.const 0.7853981633974483 + local.get $8 + f64.const 3.061616997868383e-17 + f64.sub + local.get $0 + f64.sub + f64.sub + local.set $3 + br $break|0 + end + f64.const 0.982793723247329 + local.get $8 + f64.const 1.3903311031230998e-17 + f64.sub + local.get $0 + f64.sub + f64.sub + local.set $3 + br $break|0 + end + f64.const 1.5707963267948966 + local.get $8 + f64.const 6.123233995736766e-17 + f64.sub + local.get $0 + f64.sub + f64.sub + local.set $3 + br $break|0 + end + unreachable + end + local.get $3 + local.get $2 + f64.copysign + ) + (func $std/math/test_atan (; 67 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.atan + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/atan + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.atan (; 68 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 f32) + (local $3 f32) + (local $4 i32) + (local $5 f32) + (local $6 f32) + (local $7 f32) + (local $8 f32) + (local $9 i32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $0 + local.set $2 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + i32.const 1283457024 + i32.ge_u + if + local.get $0 + local.get $0 + f32.ne + if + local.get $0 + return + end + f32.const 1.570796251296997 + f32.const 7.52316384526264e-37 + f32.add + local.set $3 + local.get $3 + local.get $2 + f32.copysign + return + end + local.get $1 + i32.const 1054867456 + i32.lt_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + local.get $0 + return + end + i32.const -1 + local.set $4 + else + local.get $0 + f32.abs + local.set $0 + local.get $1 + i32.const 1066926080 + i32.lt_u + if + local.get $1 + i32.const 1060110336 + i32.lt_u + if + i32.const 0 + local.set $4 + f32.const 2 + local.get $0 + f32.mul + f32.const 1 + f32.sub + f32.const 2 + local.get $0 + f32.add + f32.div + local.set $0 + else + i32.const 1 + local.set $4 + local.get $0 + f32.const 1 + f32.sub + local.get $0 + f32.const 1 + f32.add + f32.div + local.set $0 + end + else + local.get $1 + i32.const 1075576832 + i32.lt_u + if + i32.const 2 + local.set $4 + local.get $0 + f32.const 1.5 + f32.sub + f32.const 1 + f32.const 1.5 + local.get $0 + f32.mul + f32.add + f32.div + local.set $0 + else + i32.const 3 + local.set $4 + f32.const -1 + local.get $0 + f32.div + local.set $0 + end + end + end + local.get $0 + local.get $0 + f32.mul + local.set $3 + local.get $3 + local.get $3 + f32.mul + local.set $5 + local.get $3 + f32.const 0.333333283662796 + local.get $5 + f32.const 0.14253635704517365 + local.get $5 + f32.const 0.06168760731816292 + f32.mul + f32.add + f32.mul + f32.add + f32.mul + local.set $6 + local.get $5 + f32.const -0.19999158382415771 + local.get $5 + f32.const -0.106480173766613 + f32.mul + f32.add + f32.mul + local.set $7 + local.get $0 + local.get $6 + local.get $7 + f32.add + f32.mul + local.set $8 + local.get $4 + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $8 + f32.sub + return + end + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $4 + local.set $9 + local.get $9 + i32.const 0 + i32.eq + br_if $case0|0 + local.get $9 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $9 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $9 + i32.const 3 + i32.eq + br_if $case3|0 + br $case4|0 + end + f32.const 0.46364760398864746 + local.get $8 + f32.const 5.01215824399992e-09 + f32.sub + local.get $0 + f32.sub + f32.sub + local.set $3 + br $break|0 + end + f32.const 0.7853981256484985 + local.get $8 + f32.const 3.774894707930798e-08 + f32.sub + local.get $0 + f32.sub + f32.sub + local.set $3 + br $break|0 + end + f32.const 0.9827936887741089 + local.get $8 + f32.const 3.447321716976148e-08 + f32.sub + local.get $0 + f32.sub + f32.sub + local.set $3 + br $break|0 + end + f32.const 1.570796251296997 + local.get $8 + f32.const 7.549789415861596e-08 + f32.sub + local.get $0 + f32.sub + f32.sub + local.set $3 + br $break|0 + end + unreachable + end + local.get $3 + local.get $2 + f32.copysign + ) + (func $std/math/test_atanf (; 69 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.atan + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.atanh (; 70 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i64) + (local $3 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $2 + local.get $0 + f64.abs + local.set $3 + local.get $2 + i64.const 1022 + i64.lt_u + if + local.get $2 + i64.const 991 + i64.ge_u + if + f64.const 0.5 + f64.const 2 + local.get $3 + f64.mul + f64.const 2 + local.get $3 + f64.mul + local.get $3 + f64.mul + f64.const 1 + local.get $3 + f64.sub + f64.div + f64.add + call $~lib/math/NativeMath.log1p + f64.mul + local.set $3 + end + else + f64.const 0.5 + f64.const 2 + local.get $3 + f64.const 1 + local.get $3 + f64.sub + f64.div + f64.mul + call $~lib/math/NativeMath.log1p + f64.mul + local.set $3 + end + local.get $3 + local.get $0 + f64.copysign + ) + (func $std/math/test_atanh (; 71 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.atanh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/atanh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.atanh (; 72 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $0 + f32.abs + local.set $2 + local.get $1 + i32.const 1056964608 + i32.lt_u + if + local.get $1 + i32.const 796917760 + i32.ge_u + if + f32.const 0.5 + f32.const 2 + local.get $2 + f32.mul + f32.const 1 + local.get $2 + f32.const 1 + local.get $2 + f32.sub + f32.div + f32.add + f32.mul + call $~lib/math/NativeMathf.log1p + f32.mul + local.set $2 + end + else + f32.const 0.5 + f32.const 2 + local.get $2 + f32.const 1 + local.get $2 + f32.sub + f32.div + f32.mul + call $~lib/math/NativeMathf.log1p + f32.mul + local.set $2 + end + local.get $2 + local.get $0 + f32.copysign + ) + (func $std/math/test_atanhf (; 73 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.atanh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.atan2 (; 74 ;) (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 f64) + (local $10 f64) + local.get $1 + local.get $1 + f64.ne + if (result i32) + i32.const 1 + else + local.get $0 + local.get $0 + f64.ne + end + if + local.get $1 + local.get $0 + f64.add + return + end + local.get $1 + 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 $0 + 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 1072693248 + i32.sub + local.get $4 + i32.or + i32.const 0 + i32.eq + if + local.get $0 + call $~lib/math/NativeMath.atan + return + end + local.get $5 + i32.const 31 + i32.shr_u + i32.const 1 + i32.and + local.get $3 + i32.const 30 + i32.shr_u + i32.const 2 + i32.and + i32.or + local.set $7 + local.get $3 + i32.const 2147483647 + i32.and + local.set $3 + local.get $5 + i32.const 2147483647 + i32.and + local.set $5 + local.get $5 + local.get $6 + i32.or + i32.const 0 + i32.eq + if + block $break|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $7 + local.set $8 + local.get $8 + i32.const 0 + i32.eq + br_if $case0|0 + local.get $8 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $8 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $8 + i32.const 3 + i32.eq + br_if $case3|0 + br $break|0 + end + end + local.get $0 + return + end + global.get $~lib/math/NativeMath.PI + return + end + global.get $~lib/math/NativeMath.PI + f64.neg + return + end + end + local.get $3 + local.get $4 + i32.or + i32.const 0 + i32.eq + if + local.get $7 + i32.const 1 + i32.and + if (result f64) + global.get $~lib/math/NativeMath.PI + f64.neg + f64.const 2 + f64.div + else + global.get $~lib/math/NativeMath.PI + f64.const 2 + f64.div + end + return + end + local.get $3 + i32.const 2146435072 + i32.eq + if + local.get $5 + i32.const 2146435072 + i32.eq + if + local.get $7 + i32.const 2 + i32.and + if (result f64) + i32.const 3 + f64.convert_i32_s + global.get $~lib/math/NativeMath.PI + f64.mul + f64.const 4 + f64.div + else + global.get $~lib/math/NativeMath.PI + f64.const 4 + f64.div + end + local.set $9 + local.get $7 + i32.const 1 + i32.and + if (result f64) + local.get $9 + f64.neg + else + local.get $9 + end + return + else + local.get $7 + i32.const 2 + i32.and + if (result f64) + global.get $~lib/math/NativeMath.PI + else + f64.const 0 + end + local.set $9 + local.get $7 + i32.const 1 + i32.and + if (result f64) + local.get $9 + f64.neg + else + local.get $9 + end + return + end + unreachable + end + local.get $3 + i32.const 67108864 + i32.add + local.get $5 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $5 + i32.const 2146435072 + i32.eq + end + if + local.get $7 + i32.const 1 + i32.and + if (result f64) + global.get $~lib/math/NativeMath.PI + f64.neg + f64.const 2 + f64.div + else + global.get $~lib/math/NativeMath.PI + f64.const 2 + f64.div + end + return + end + local.get $7 + i32.const 2 + i32.and + if (result i32) + local.get $5 + i32.const 67108864 + i32.add + local.get $3 + i32.lt_u + else + i32.const 0 + end + if + f64.const 0 + local.set $10 + else + local.get $0 + local.get $1 + f64.div + f64.abs + call $~lib/math/NativeMath.atan + local.set $10 + end + block $break|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $7 + local.set $8 + local.get $8 + i32.const 0 + i32.eq + br_if $case0|1 + local.get $8 + i32.const 1 + i32.eq + br_if $case1|1 + local.get $8 + i32.const 2 + i32.eq + br_if $case2|1 + local.get $8 + i32.const 3 + i32.eq + br_if $case3|1 + br $break|1 + end + local.get $10 + return + end + local.get $10 + f64.neg + return + end + global.get $~lib/math/NativeMath.PI + local.get $10 + f64.const 1.2246467991473532e-16 + f64.sub + f64.sub + return + end + local.get $10 + f64.const 1.2246467991473532e-16 + f64.sub + global.get $~lib/math/NativeMath.PI + f64.sub + return + end + unreachable + ) + (func $std/math/test_atan2 (; 75 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMath.atan2 + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + local.get $1 + call $~lib/bindings/Math/atan2 + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.atan2 (; 76 ;) (param $0 f32) (param $1 f32) (result f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 f32) + (local $7 f32) + local.get $1 + local.get $1 + f32.ne + if (result i32) + i32.const 1 + else + local.get $0 + local.get $0 + f32.ne + end + if + local.get $1 + local.get $0 + f32.add + return + end + local.get $1 + i32.reinterpret_f32 + local.set $2 + local.get $0 + i32.reinterpret_f32 + local.set $3 + local.get $2 + i32.const 1065353216 + i32.eq + if + local.get $0 + call $~lib/math/NativeMathf.atan + return + end + local.get $3 + i32.const 31 + i32.shr_u + i32.const 1 + i32.and + local.get $2 + i32.const 30 + i32.shr_u + i32.const 2 + i32.and + i32.or + local.set $4 + local.get $2 + i32.const 2147483647 + i32.and + local.set $2 + local.get $3 + i32.const 2147483647 + i32.and + local.set $3 + local.get $3 + i32.const 0 + i32.eq + if + block $break|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $4 + local.set $5 + local.get $5 + i32.const 0 + i32.eq + br_if $case0|0 + local.get $5 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $5 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $5 + i32.const 3 + i32.eq + br_if $case3|0 + br $break|0 + end + end + local.get $0 + return + end + f32.const 3.1415927410125732 + return + end + f32.const 3.1415927410125732 + f32.neg + return + end + end + local.get $2 + i32.const 0 + i32.eq + if + local.get $4 + i32.const 1 + i32.and + if (result f32) + f32.const 3.1415927410125732 + f32.neg + f32.const 2 + f32.div + else + f32.const 3.1415927410125732 + f32.const 2 + f32.div + end + return + end + local.get $2 + i32.const 2139095040 + i32.eq + if + local.get $3 + i32.const 2139095040 + i32.eq + if + local.get $4 + i32.const 2 + i32.and + if (result f32) + f32.const 3 + f32.const 3.1415927410125732 + f32.mul + f32.const 4 + f32.div + else + f32.const 3.1415927410125732 + f32.const 4 + f32.div + end + local.set $6 + local.get $4 + i32.const 1 + i32.and + if (result f32) + local.get $6 + f32.neg + else + local.get $6 + end + return + else + local.get $4 + i32.const 2 + i32.and + if (result f32) + f32.const 3.1415927410125732 + else + f32.const 0 + end + local.set $6 + local.get $4 + i32.const 1 + i32.and + if (result f32) + local.get $6 + f32.neg + else + local.get $6 + end + return + end + unreachable + end + local.get $2 + i32.const 218103808 + i32.add + local.get $3 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $3 + i32.const 2139095040 + i32.eq + end + if + local.get $4 + i32.const 1 + i32.and + if (result f32) + f32.const 3.1415927410125732 + f32.neg + f32.const 2 + f32.div + else + f32.const 3.1415927410125732 + f32.const 2 + f32.div + end + return + end + local.get $4 + i32.const 2 + i32.and + if (result i32) + local.get $3 + i32.const 218103808 + i32.add + local.get $2 + i32.lt_u + else + i32.const 0 + end + if + f32.const 0 + local.set $7 + else + local.get $0 + local.get $1 + f32.div + f32.abs + call $~lib/math/NativeMathf.atan + local.set $7 + end + block $break|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $4 + local.set $5 + local.get $5 + i32.const 0 + i32.eq + br_if $case0|1 + local.get $5 + i32.const 1 + i32.eq + br_if $case1|1 + local.get $5 + i32.const 2 + i32.eq + br_if $case2|1 + local.get $5 + i32.const 3 + i32.eq + br_if $case3|1 + br $break|1 + end + local.get $7 + return + end + local.get $7 + f32.neg + return + end + f32.const 3.1415927410125732 + local.get $7 + f32.const -8.742277657347586e-08 + f32.sub + f32.sub + return + end + local.get $7 + f32.const -8.742277657347586e-08 + f32.sub + f32.const 3.1415927410125732 + f32.sub + return + end + unreachable + ) + (func $std/math/test_atan2f (; 77 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMathf.atan2 + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $~lib/math/NativeMath.cbrt (; 78 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 f64) + (local $4 f64) + (local $5 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 2146435072 + i32.ge_u + if + local.get $0 + local.get $0 + f64.add + return + end + local.get $2 + i32.const 1048576 + i32.lt_u + if + local.get $0 + f64.const 18014398509481984 + f64.mul + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 0 + i32.eq + if + local.get $0 + return + end + local.get $2 + i32.const 3 + i32.div_u + i32.const 696219795 + i32.add + local.set $2 + else + local.get $2 + i32.const 3 + i32.div_u + i32.const 715094163 + i32.add + local.set $2 + end + local.get $1 + i64.const 1 + i64.const 63 + i64.shl + i64.and + local.set $1 + local.get $1 + local.get $2 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.get $3 + local.get $0 + f64.div + f64.mul + local.set $4 + local.get $3 + f64.const 1.87595182427177 + local.get $4 + f64.const -1.8849797954337717 + local.get $4 + f64.const 1.6214297201053545 + f64.mul + f64.add + f64.mul + f64.add + local.get $4 + local.get $4 + f64.mul + local.get $4 + f64.mul + f64.const -0.758397934778766 + local.get $4 + f64.const 0.14599619288661245 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $3 + local.get $3 + i64.reinterpret_f64 + i64.const 2147483648 + i64.add + i64.const -1073741824 + i64.and + f64.reinterpret_i64 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $5 + local.get $0 + local.get $5 + f64.div + local.set $4 + local.get $4 + local.get $3 + f64.sub + f64.const 2 + local.get $3 + f64.mul + local.get $4 + f64.add + f64.div + local.set $4 + local.get $3 + local.get $3 + local.get $4 + f64.mul + f64.add + local.set $3 + local.get $3 + ) + (func $std/math/test_cbrt (; 79 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.cbrt + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/cbrt + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.cbrt (; 80 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f64) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + local.get $0 + f32.add + return + end + local.get $2 + i32.const 8388608 + i32.lt_u + if + local.get $2 + i32.const 0 + i32.eq + if + local.get $0 + return + end + local.get $0 + f32.const 16777216 + f32.mul + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 3 + i32.div_u + i32.const 642849266 + i32.add + local.set $2 + else + local.get $2 + i32.const 3 + i32.div_u + i32.const 709958130 + i32.add + local.set $2 + end + local.get $1 + i32.const -2147483648 + i32.and + local.set $1 + local.get $1 + local.get $2 + i32.or + local.set $1 + local.get $1 + f32.reinterpret_i32 + f64.promote_f32 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.get $3 + f64.mul + local.set $4 + local.get $3 + local.get $0 + f64.promote_f32 + local.get $0 + f64.promote_f32 + f64.add + local.get $4 + f64.add + f64.mul + local.get $0 + f64.promote_f32 + local.get $4 + f64.add + local.get $4 + f64.add + f64.div + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.get $3 + f64.mul + local.set $4 + local.get $3 + local.get $0 + f64.promote_f32 + local.get $0 + f64.promote_f32 + f64.add + local.get $4 + f64.add + f64.mul + local.get $0 + f64.promote_f32 + local.get $4 + f64.add + local.get $4 + f64.add + f64.div + local.set $3 + local.get $3 + f32.demote_f64 + ) + (func $std/math/test_cbrtf (; 81 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.cbrt + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_ceil (; 82 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + local.get $0 + local.set $4 + local.get $4 + f64.ceil + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/ceil + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_ceilf (; 83 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + local.get $0 + local.set $4 + local.get $4 + f32.ceil + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/pio2_large_quot (; 84 ;) (param $0 f64) (param $1 i64) (result i32) + (local $2 i64) + (local $3 i64) + (local $4 i64) + (local $5 i32) + (local $6 i64) + (local $7 i64) + (local $8 i64) + (local $9 i64) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) + (local $16 i64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i64) + (local $24 i64) + (local $25 i64) + (local $26 i64) + (local $27 i64) + (local $28 i64) + (local $29 i64) + (local $30 i64) + (local $31 i64) + (local $32 i64) + (local $33 i64) + (local $34 i64) + (local $35 i64) + (local $36 f64) + local.get $1 + i64.const 9223372036854775807 + i64.and + local.set $2 + local.get $2 + i64.const 52 + i64.shr_s + i64.const 1045 + i64.sub + local.set $3 + local.get $3 + i64.const 63 + i64.and + local.set $4 + i32.const 4480 + local.get $3 + i64.const 6 + i64.shr_s + i32.wrap_i64 + i32.const 3 + i32.shl + i32.add + local.set $5 + local.get $5 + i64.load + local.set $9 + local.get $5 + i64.load offset=8 + local.set $10 + local.get $5 + i64.load offset=16 + local.set $11 + local.get $4 + i64.const 0 + i64.ne + if + i32.const 64 + i64.extend_i32_s + local.get $4 + i64.sub + local.set $12 + local.get $5 + i64.load offset=24 + local.set $13 + local.get $10 + local.get $12 + i64.shr_u + local.get $9 + local.get $4 + i64.shl + i64.or + local.set $6 + local.get $11 + local.get $12 + i64.shr_u + local.get $10 + local.get $4 + i64.shl + i64.or + local.set $7 + local.get $13 + local.get $12 + i64.shr_u + local.get $11 + local.get $4 + i64.shl + i64.or + local.set $8 + else + local.get $9 + local.set $6 + local.get $10 + local.set $7 + local.get $11 + local.set $8 + end + local.get $1 + i64.const 4503599627370495 + i64.and + i64.const 4503599627370496 + i64.or + local.set $14 + local.get $7 + local.set $13 + local.get $14 + local.set $12 + local.get $13 + i64.const 4294967295 + i64.and + local.set $15 + local.get $12 + i64.const 4294967295 + i64.and + local.set $16 + local.get $13 + i64.const 32 + i64.shr_u + local.set $13 + local.get $12 + i64.const 32 + i64.shr_u + local.set $12 + local.get $15 + local.get $16 + i64.mul + local.set $19 + local.get $19 + i64.const 4294967295 + i64.and + local.set $17 + local.get $13 + local.get $16 + i64.mul + local.get $19 + i64.const 32 + i64.shr_u + i64.add + local.set $19 + local.get $19 + i64.const 32 + i64.shr_u + local.set $18 + local.get $15 + local.get $12 + i64.mul + local.get $19 + i64.const 4294967295 + i64.and + i64.add + local.set $19 + local.get $13 + local.get $12 + i64.mul + local.get $18 + i64.add + local.get $19 + i64.const 32 + i64.shr_u + i64.add + global.set $~lib/math/res128_hi + local.get $19 + i64.const 32 + i64.shl + local.get $17 + i64.add + local.set $20 + global.get $~lib/math/res128_hi + local.set $21 + local.get $6 + local.get $14 + i64.mul + local.set $22 + local.get $8 + i64.const 32 + i64.shr_u + local.get $14 + i64.const 32 + i64.shr_s + i64.mul + local.set $23 + local.get $20 + local.get $23 + i64.add + local.set $24 + local.get $22 + local.get $21 + i64.add + local.get $24 + local.get $23 + i64.lt_u + i64.extend_i32_u + i64.add + local.set $25 + local.get $24 + i64.const 2 + i64.shl + local.set $26 + local.get $25 + i64.const 2 + i64.shl + local.get $24 + i64.const 62 + i64.shr_u + i64.or + local.set $27 + local.get $27 + i64.const 63 + i64.shr_s + local.set $28 + local.get $28 + i64.const 1 + i64.shr_s + local.set $29 + local.get $25 + i64.const 62 + i64.shr_s + local.get $28 + i64.sub + local.set $30 + i64.const 4372995238176751616 + local.get $26 + local.get $28 + i64.xor + local.set $13 + local.get $27 + local.get $29 + i64.xor + local.set $12 + local.get $12 + i64.clz + local.set $19 + local.get $12 + local.get $19 + i64.shl + local.get $13 + i64.const 64 + local.get $19 + i64.sub + i64.shr_u + i64.or + local.set $12 + local.get $13 + local.get $19 + i64.shl + local.set $13 + i64.const -3958705157555305932 + local.set $16 + local.get $12 + local.set $15 + local.get $16 + i64.const 4294967295 + i64.and + local.set $18 + local.get $15 + i64.const 4294967295 + i64.and + local.set $17 + local.get $16 + i64.const 32 + i64.shr_u + local.set $16 + local.get $15 + i64.const 32 + i64.shr_u + local.set $15 + local.get $18 + local.get $17 + i64.mul + local.set $33 + local.get $33 + i64.const 4294967295 + i64.and + local.set $31 + local.get $16 + local.get $17 + i64.mul + local.get $33 + i64.const 32 + i64.shr_u + i64.add + local.set $33 + local.get $33 + i64.const 32 + i64.shr_u + local.set $32 + local.get $18 + local.get $15 + i64.mul + local.get $33 + i64.const 4294967295 + i64.and + i64.add + local.set $33 + local.get $16 + local.get $15 + i64.mul + local.get $32 + i64.add + local.get $33 + i64.const 32 + i64.shr_u + i64.add + global.set $~lib/math/res128_hi + local.get $33 + i64.const 32 + i64.shl + local.get $31 + i64.add + local.set $33 + global.get $~lib/math/res128_hi + local.set $32 + local.get $32 + i64.const 11 + i64.shr_u + local.set $31 + local.get $33 + i64.const 11 + i64.shr_u + local.get $32 + i64.const 53 + i64.shl + i64.or + local.set $17 + f64.const 2.6469779601696886e-23 + i64.const -4267615245585081135 + f64.convert_i64_u + f64.mul + local.get $12 + f64.convert_i64_u + f64.mul + f64.const 2.6469779601696886e-23 + i64.const -3958705157555305932 + f64.convert_i64_u + f64.mul + local.get $13 + f64.convert_i64_u + f64.mul + f64.add + i64.trunc_f64_u + local.set $18 + local.get $31 + local.get $33 + local.get $18 + i64.lt_u + i64.extend_i32_u + i64.add + f64.convert_i64_u + global.set $~lib/math/rempio2_y0 + f64.const 5.421010862427522e-20 + local.get $17 + local.get $18 + i64.add + f64.convert_i64_u + f64.mul + global.set $~lib/math/rempio2_y1 + local.get $19 + i64.const 52 + i64.shl + i64.sub + local.set $34 + local.get $1 + local.get $27 + i64.xor + i64.const -9223372036854775808 + i64.and + local.set $35 + local.get $34 + local.get $35 + i64.or + f64.reinterpret_i64 + local.set $36 + global.get $~lib/math/rempio2_y0 + local.get $36 + f64.mul + global.set $~lib/math/rempio2_y0 + global.get $~lib/math/rempio2_y1 + local.get $36 + f64.mul + global.set $~lib/math/rempio2_y1 + local.get $30 + i32.wrap_i64 + ) + (func $~lib/math/NativeMath.cos (; 85 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 i32) + (local $11 i64) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 f64) + (local $17 i32) + (local $18 f64) + (local $19 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + local.get $2 + i32.const 31 + i32.shr_u + local.set $3 + local.get $2 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1072243195 + i32.le_u + if + local.get $2 + i32.const 1044816030 + i32.lt_u + if + f64.const 1 + return + end + local.get $0 + local.set $5 + f64.const 0 + local.set $4 + local.get $5 + local.get $5 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $7 + local.get $6 + f64.const 0.0416666666666666 + local.get $6 + f64.const -0.001388888888887411 + local.get $6 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $7 + local.get $7 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $6 + f64.const 2.087572321298175e-09 + local.get $6 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $8 + f64.const 0.5 + local.get $6 + f64.mul + local.set $9 + f64.const 1 + local.get $9 + f64.sub + local.set $7 + local.get $7 + f64.const 1 + local.get $7 + f64.sub + local.get $9 + f64.sub + local.get $6 + local.get $8 + f64.mul + local.get $5 + local.get $4 + f64.mul + f64.sub + f64.add + f64.add + return + end + local.get $2 + i32.const 2146435072 + i32.ge_u + if + local.get $0 + local.get $0 + f64.sub + return + end + block $~lib/math/rempio2|inlined.0 (result i32) + local.get $0 + local.set $4 + local.get $1 + local.set $11 + local.get $3 + local.set $10 + local.get $11 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $12 + local.get $12 + i32.const 1073928572 + i32.lt_u + if + i32.const 1 + local.set $13 + local.get $10 + i32.eqz + if + local.get $4 + f64.const 1.5707963267341256 + f64.sub + local.set $9 + local.get $12 + i32.const 1073291771 + i32.ne + if + local.get $9 + f64.const 6.077100506506192e-11 + f64.sub + local.set $8 + local.get $9 + local.get $8 + f64.sub + f64.const 6.077100506506192e-11 + f64.sub + local.set $7 + else + local.get $9 + f64.const 6.077100506303966e-11 + f64.sub + local.set $9 + local.get $9 + f64.const 2.0222662487959506e-21 + f64.sub + local.set $8 + local.get $9 + local.get $8 + f64.sub + f64.const 2.0222662487959506e-21 + f64.sub + local.set $7 + end + else + local.get $4 + f64.const 1.5707963267341256 + f64.add + local.set $9 + local.get $12 + i32.const 1073291771 + i32.ne + if + local.get $9 + f64.const 6.077100506506192e-11 + f64.add + local.set $8 + local.get $9 + local.get $8 + f64.sub + f64.const 6.077100506506192e-11 + f64.add + local.set $7 + else + local.get $9 + f64.const 6.077100506303966e-11 + f64.add + local.set $9 + local.get $9 + f64.const 2.0222662487959506e-21 + f64.add + local.set $8 + local.get $9 + local.get $8 + f64.sub + f64.const 2.0222662487959506e-21 + f64.add + local.set $7 + end + i32.const -1 + local.set $13 + end + local.get $8 + global.set $~lib/math/rempio2_y0 + local.get $7 + global.set $~lib/math/rempio2_y1 + local.get $13 + br $~lib/math/rempio2|inlined.0 + end + local.get $12 + i32.const 1094263291 + i32.lt_u + if + local.get $4 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $7 + local.get $4 + local.get $7 + f64.const 1.5707963267341256 + f64.mul + f64.sub + local.set $8 + local.get $7 + f64.const 6.077100506506192e-11 + f64.mul + local.set $9 + local.get $12 + i32.const 20 + i32.shr_u + local.set $13 + local.get $8 + local.get $9 + f64.sub + local.set $6 + local.get $6 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $14 + local.get $13 + local.get $14 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $15 + local.get $15 + i32.const 16 + i32.gt_u + if + local.get $8 + local.set $5 + local.get $7 + f64.const 6.077100506303966e-11 + f64.mul + local.set $9 + local.get $5 + local.get $9 + f64.sub + local.set $8 + local.get $7 + f64.const 2.0222662487959506e-21 + f64.mul + local.get $5 + local.get $8 + f64.sub + local.get $9 + f64.sub + f64.sub + local.set $9 + local.get $8 + local.get $9 + f64.sub + local.set $6 + local.get $6 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $14 + local.get $13 + local.get $14 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $15 + local.get $15 + i32.const 49 + i32.gt_u + if + local.get $8 + local.set $16 + local.get $7 + f64.const 2.0222662487111665e-21 + f64.mul + local.set $9 + local.get $16 + local.get $9 + f64.sub + local.set $8 + local.get $7 + f64.const 8.4784276603689e-32 + f64.mul + local.get $16 + local.get $8 + f64.sub + local.get $9 + f64.sub + f64.sub + local.set $9 + local.get $8 + local.get $9 + f64.sub + local.set $6 + end + end + local.get $8 + local.get $6 + f64.sub + local.get $9 + f64.sub + local.set $5 + local.get $6 + global.set $~lib/math/rempio2_y0 + local.get $5 + global.set $~lib/math/rempio2_y1 + local.get $7 + i32.trunc_f64_s + br $~lib/math/rempio2|inlined.0 + end + local.get $4 + local.get $11 + call $~lib/math/pio2_large_quot + local.set $15 + i32.const 0 + local.get $15 + i32.sub + local.get $15 + local.get $10 + select + end + local.set $17 + global.get $~lib/math/rempio2_y0 + local.set $18 + global.get $~lib/math/rempio2_y1 + local.set $19 + local.get $17 + i32.const 1 + i32.and + if (result f64) + block $~lib/math/sin_kern|inlined.0 (result f64) + local.get $18 + local.set $7 + local.get $19 + local.set $16 + i32.const 1 + local.set $13 + local.get $7 + local.get $7 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const 0.00833333333332249 + local.get $4 + f64.const -1.984126982985795e-04 + local.get $4 + f64.const 2.7557313707070068e-06 + f64.mul + f64.add + f64.mul + f64.add + local.get $4 + local.get $5 + f64.mul + f64.const -2.5050760253406863e-08 + local.get $4 + f64.const 1.58969099521155e-10 + f64.mul + f64.add + f64.mul + f64.add + local.set $6 + local.get $4 + local.get $7 + f64.mul + local.set $9 + local.get $13 + i32.eqz + if + local.get $7 + local.get $9 + f64.const -0.16666666666666632 + local.get $4 + local.get $6 + f64.mul + f64.add + f64.mul + f64.add + br $~lib/math/sin_kern|inlined.0 + else + local.get $7 + local.get $4 + f64.const 0.5 + local.get $16 + f64.mul + local.get $9 + local.get $6 + f64.mul + f64.sub + f64.mul + local.get $16 + f64.sub + local.get $9 + f64.const -0.16666666666666632 + f64.mul + f64.sub + f64.sub + br $~lib/math/sin_kern|inlined.0 + end + unreachable + end + else + local.get $18 + local.set $16 + local.get $19 + local.set $8 + local.get $16 + local.get $16 + f64.mul + local.set $9 + local.get $9 + local.get $9 + f64.mul + local.set $6 + local.get $9 + f64.const 0.0416666666666666 + local.get $9 + f64.const -0.001388888888887411 + local.get $9 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $6 + local.get $6 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $9 + f64.const 2.087572321298175e-09 + local.get $9 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $5 + f64.const 0.5 + local.get $9 + f64.mul + local.set $4 + f64.const 1 + local.get $4 + f64.sub + local.set $6 + local.get $6 + f64.const 1 + local.get $6 + f64.sub + local.get $4 + f64.sub + local.get $9 + local.get $5 + f64.mul + local.get $16 + local.get $8 + f64.mul + f64.sub + f64.add + f64.add + end + local.set $0 + local.get $17 + i32.const 1 + i32.add + i32.const 2 + i32.and + if (result f64) + local.get $0 + f64.neg + else + local.get $0 + end + ) + (func $std/math/test_cos (; 86 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.cos + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/cos + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.cos (; 87 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 i32) + (local $9 i32) + (local $10 f32) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i32) + (local $24 i32) + (local $25 f64) + (local $26 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 31 + i32.shr_u + local.set $2 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + i32.const 1061752794 + i32.le_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + f32.const 1 + return + end + local.get $0 + f64.promote_f32 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $4 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $6 + f32.const 1 + f64.promote_f32 + local.get $4 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $4 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + end + local.get $1 + i32.const 1081824209 + i32.le_u + if + local.get $1 + i32.const 1075235811 + i32.gt_u + if + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.sub + end + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $6 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $4 + f32.const 1 + f64.promote_f32 + local.get $6 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $6 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + f32.neg + return + else + local.get $2 + if (result f32) + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $4 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $6 + local.get $4 + local.get $3 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.const -0.16666666641626524 + local.get $4 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $5 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + else + f64.const 1.5707963267948966 + local.get $0 + f64.promote_f32 + f64.sub + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -1.9839334836096632e-04 + local.get $7 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $5 + local.get $7 + local.get $3 + f64.mul + local.set $4 + local.get $3 + local.get $4 + f64.const -0.16666666641626524 + local.get $7 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $4 + local.get $6 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + end + return + end + unreachable + end + local.get $1 + i32.const 1088565717 + i32.le_u + if + local.get $1 + i32.const 1085271519 + i32.gt_u + if + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub + end + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $4 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $6 + f32.const 1 + f64.promote_f32 + local.get $4 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $4 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + else + local.get $2 + if (result f32) + local.get $0 + f32.neg + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $6 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $4 + local.get $6 + local.get $7 + f64.mul + local.set $3 + local.get $7 + local.get $3 + f64.const -0.16666666641626524 + local.get $6 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $3 + local.get $5 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + else + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + f64.const -1.9839334836096632e-04 + local.get $3 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $5 + local.get $3 + local.get $7 + f64.mul + local.set $6 + local.get $7 + local.get $6 + f64.const -0.16666666641626524 + local.get $3 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $6 + local.get $4 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + end + return + end + unreachable + end + local.get $1 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + local.get $0 + f32.sub + return + end + block $~lib/math/rempio2f|inlined.0 (result i32) + local.get $0 + local.set $10 + local.get $1 + local.set $9 + local.get $2 + local.set $8 + local.get $9 + i32.const 1305022427 + i32.lt_u + if + local.get $10 + f64.promote_f32 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $6 + local.get $10 + f64.promote_f32 + local.get $6 + f64.const 1.5707963109016418 + f64.mul + f64.sub + local.get $6 + f64.const 1.5893254773528196e-08 + f64.mul + f64.sub + global.set $~lib/math/rempio2f_y + local.get $6 + i32.trunc_f64_s + br $~lib/math/rempio2f|inlined.0 + end + local.get $10 + local.set $12 + local.get $9 + local.set $11 + local.get $11 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $13 + local.get $13 + i32.const 63 + i32.and + i64.extend_i32_s + local.set $14 + i32.const 4688 + local.get $13 + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $15 + local.get $15 + i64.load + local.set $16 + local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 + i64.const 32 + i64.gt_u + if + local.get $15 + i64.load offset=16 + local.set $19 + local.get $19 + i64.const 96 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + local.get $18 + local.get $17 + local.get $14 + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $18 + else + local.get $17 + i64.const 32 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + end + local.get $17 + i64.const 64 + local.get $14 + i64.sub + i64.shr_u + local.get $16 + local.get $14 + i64.shl + i64.or + local.set $19 + local.get $11 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $20 + local.get $20 + local.get $19 + i64.mul + local.get $20 + local.get $18 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $21 + local.get $21 + i64.const 2 + i64.shl + local.set $22 + local.get $21 + i64.const 62 + i64.shr_u + local.get $22 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $23 + f64.const 8.515303950216386e-20 + local.get $12 + f64.promote_f32 + f64.copysign + local.get $22 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $23 + local.set $23 + i32.const 0 + local.get $23 + i32.sub + local.get $23 + local.get $8 + select + end + local.set $24 + global.get $~lib/math/rempio2f_y + local.set $25 + local.get $24 + i32.const 1 + i32.and + if (result f32) + local.get $25 + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $6 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $4 + local.get $6 + local.get $7 + f64.mul + local.set $3 + local.get $7 + local.get $3 + f64.const -0.16666666641626524 + local.get $6 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $3 + local.get $5 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + else + local.get $25 + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + f64.const -0.001388676377460993 + local.get $3 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $5 + f32.const 1 + f64.promote_f32 + local.get $3 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $4 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $4 + local.get $3 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + end + local.set $26 + local.get $24 + i32.const 1 + i32.add + i32.const 2 + i32.and + if (result f32) + local.get $26 + f32.neg + else + local.get $26 + end + ) + (func $std/math/test_cosf (; 88 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.cos + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.expm1 (; 89 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 f64) + (local $14 f64) + (local $15 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i64.const 2147483647 + i64.and + i32.wrap_i64 + local.set $2 + i32.const 0 + local.set $3 + local.get $1 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.set $4 + local.get $2 + i32.const 1078159482 + i32.ge_u + if + local.get $0 + local.get $0 + f64.ne + if + local.get $0 + return + end + local.get $4 + if + f64.const -1 + return + end + local.get $0 + f64.const 709.782712893384 + f64.gt + if + local.get $0 + f64.const 8988465674311579538646525e283 + f64.mul + return + end + end + f64.const 0 + local.set $5 + local.get $2 + i32.const 1071001154 + i32.gt_u + if + i32.const 1 + local.get $4 + i32.const 1 + i32.shl + i32.sub + f64.const 1.4426950408889634 + local.get $0 + f64.mul + f64.const 0.5 + local.get $0 + f64.copysign + f64.add + i32.trunc_f64_s + local.get $2 + i32.const 1072734898 + i32.lt_u + select + local.set $3 + local.get $3 + f64.convert_i32_s + local.set $6 + local.get $0 + local.get $6 + f64.const 0.6931471803691238 + f64.mul + f64.sub + local.set $7 + local.get $6 + f64.const 1.9082149292705877e-10 + f64.mul + local.set $8 + local.get $7 + local.get $8 + f64.sub + local.set $0 + local.get $7 + local.get $0 + f64.sub + local.get $8 + f64.sub + local.set $5 + else + local.get $2 + i32.const 1016070144 + i32.lt_u + if + local.get $0 + return + end + end + f64.const 0.5 + local.get $0 + f64.mul + local.set $9 + local.get $0 + local.get $9 + f64.mul + local.set $10 + local.get $10 + local.get $10 + f64.mul + local.set $11 + f64.const 1 + local.get $10 + f64.const -0.03333333333333313 + f64.mul + f64.add + local.get $11 + f64.const 1.5873015872548146e-03 + local.get $10 + f64.const -7.93650757867488e-05 + f64.mul + f64.add + local.get $11 + f64.const 4.008217827329362e-06 + local.get $10 + f64.const -2.0109921818362437e-07 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $12 + f64.const 3 + local.get $12 + local.get $9 + f64.mul + f64.sub + local.set $6 + local.get $10 + local.get $12 + local.get $6 + f64.sub + f64.const 6 + local.get $0 + local.get $6 + f64.mul + f64.sub + f64.div + f64.mul + local.set $13 + local.get $3 + i32.const 0 + i32.eq + if + local.get $0 + local.get $0 + local.get $13 + f64.mul + local.get $10 + f64.sub + f64.sub + return + end + local.get $0 + local.get $13 + local.get $5 + f64.sub + f64.mul + local.get $5 + f64.sub + local.set $13 + local.get $13 + local.get $10 + f64.sub + local.set $13 + local.get $3 + i32.const -1 + i32.eq + if + f64.const 0.5 + local.get $0 + local.get $13 + f64.sub + f64.mul + f64.const 0.5 + f64.sub + return + end + local.get $3 + i32.const 1 + i32.eq + if + local.get $0 + f64.const -0.25 + f64.lt + if + f64.const -2 + local.get $13 + local.get $0 + f64.const 0.5 + f64.add + f64.sub + f64.mul + return + end + f64.const 1 + f64.const 2 + local.get $0 + local.get $13 + f64.sub + f64.mul + f64.add + return + end + i64.const 1023 + local.get $3 + i64.extend_i32_s + i64.add + i64.const 52 + i64.shl + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $14 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $3 + i32.const 56 + i32.gt_s + end + if + local.get $0 + local.get $13 + f64.sub + f64.const 1 + f64.add + local.set $15 + local.get $3 + i32.const 1024 + i32.eq + if + local.get $15 + f64.const 2 + f64.mul + f64.const 8988465674311579538646525e283 + f64.mul + local.set $15 + else + local.get $15 + local.get $14 + f64.mul + local.set $15 + end + local.get $15 + f64.const 1 + f64.sub + return + end + i64.const 1023 + local.get $3 + i64.extend_i32_s + i64.sub + i64.const 52 + i64.shl + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $15 + local.get $3 + i32.const 20 + i32.lt_s + if + f64.const 1 + local.get $15 + f64.sub + local.get $13 + f64.sub + local.set $15 + else + f64.const 1 + local.get $13 + local.get $15 + f64.add + f64.sub + local.set $15 + end + local.get $0 + local.get $15 + f64.add + local.get $14 + f64.mul + ) + (func $~lib/math/NativeMath.exp (; 90 ;) (param $0 f64) (result f64) + (local $1 f64) + (local $2 i64) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 i64) + (local $7 f64) + (local $8 i32) + (local $9 i64) + (local $10 f64) + (local $11 i64) + (local $12 f64) + (local $13 f64) + (local $14 i64) + (local $15 i64) + (local $16 f64) + (local $17 f64) + (local $18 f64) + (local $19 f64) + (local $20 f64) + (local $21 f64) + block $~lib/util/math/exp_lut|inlined.0 (result f64) + local.get $0 + local.set $1 + local.get $1 + i64.reinterpret_f64 + local.set $2 + local.get $2 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + i32.wrap_i64 + local.set $3 + local.get $3 + i32.const 969 + i32.sub + i32.const 63 + i32.ge_u + if + local.get $3 + i32.const 969 + i32.sub + i32.const -2147483648 + i32.ge_u + if + f64.const 1 + br $~lib/util/math/exp_lut|inlined.0 + end + local.get $3 + i32.const 1033 + i32.ge_u + if + local.get $2 + i64.const -4503599627370496 + i64.eq + if + f64.const 0 + br $~lib/util/math/exp_lut|inlined.0 + end + local.get $3 + i32.const 2047 + i32.ge_u + if + f64.const 1 + local.get $1 + f64.add + br $~lib/util/math/exp_lut|inlined.0 + end + f64.const 0 + f64.const inf + local.get $2 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + select + br $~lib/util/math/exp_lut|inlined.0 + end + i32.const 0 + local.set $3 + end + f64.const 184.6649652337873 + local.get $1 + f64.mul + local.set $4 + local.get $4 + f64.const 6755399441055744 + f64.add + local.set $5 + local.get $5 + i64.reinterpret_f64 + local.set $6 + local.get $5 + f64.const 6755399441055744 + f64.sub + local.set $5 + local.get $1 + local.get $5 + f64.const -0.005415212348111709 + f64.mul + f64.add + local.get $5 + f64.const -1.2864023111638346e-14 + f64.mul + f64.add + local.set $7 + local.get $6 + i64.const 127 + i64.and + i64.const 1 + i64.shl + i32.wrap_i64 + local.set $8 + local.get $6 + i64.const 52 + i64.const 7 + i64.sub + i64.shl + local.set $9 + i32.const 4736 + local.get $8 + i32.const 3 + i32.shl + i32.add + i64.load + f64.reinterpret_i64 + local.set $10 + i32.const 4736 + local.get $8 + i32.const 3 + i32.shl + i32.add + i64.load offset=8 + local.get $9 + i64.add + local.set $11 + local.get $7 + local.get $7 + f64.mul + local.set $12 + local.get $10 + local.get $7 + f64.add + local.get $12 + f64.const 0.49999999999996786 + local.get $7 + f64.const 0.16666666666665886 + f64.mul + f64.add + f64.mul + f64.add + local.get $12 + local.get $12 + f64.mul + f64.const 0.0416666808410674 + local.get $7 + f64.const 0.008333335853059549 + f64.mul + f64.add + f64.mul + f64.add + local.set $13 + local.get $3 + i32.const 0 + i32.eq + if + block $~lib/util/math/specialcase|inlined.0 (result f64) + local.get $13 + local.set $16 + local.get $11 + local.set $15 + local.get $6 + local.set $14 + local.get $14 + i64.const 2147483648 + i64.and + i64.const 0 + i64.ne + i32.eqz + if + local.get $15 + i64.const 1009 + i64.const 52 + i64.shl + i64.sub + local.set $15 + local.get $15 + f64.reinterpret_i64 + local.set $17 + f64.const 5486124068793688683255936e279 + local.get $17 + local.get $17 + local.get $16 + f64.mul + f64.add + f64.mul + br $~lib/util/math/specialcase|inlined.0 + end + local.get $15 + i64.const 1022 + i64.const 52 + i64.shl + i64.add + local.set $15 + local.get $15 + f64.reinterpret_i64 + local.set $17 + local.get $17 + local.get $17 + local.get $16 + f64.mul + f64.add + local.set $18 + local.get $18 + f64.abs + f64.const 1 + f64.lt + if + f64.const 1 + local.get $18 + f64.copysign + local.set $19 + local.get $17 + local.get $18 + f64.sub + local.get $17 + local.get $16 + f64.mul + f64.add + local.set $20 + local.get $19 + local.get $18 + f64.add + local.set $21 + local.get $19 + local.get $21 + f64.sub + local.get $18 + f64.add + local.get $20 + f64.add + local.set $20 + local.get $21 + local.get $20 + f64.add + local.get $19 + f64.sub + local.set $18 + local.get $18 + f64.const 0 + f64.eq + if + local.get $15 + i64.const -9223372036854775808 + i64.and + f64.reinterpret_i64 + local.set $18 + end + end + local.get $18 + f64.const 2.2250738585072014e-308 + f64.mul + end + br $~lib/util/math/exp_lut|inlined.0 + end + local.get $11 + f64.reinterpret_i64 + local.set $18 + local.get $18 + local.get $18 + local.get $13 + f64.mul + f64.add + end + return + ) + (func $~lib/math/NativeMath.cosh (; 91 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 f64) + (local $4 f64) + (local $5 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 9223372036854775807 + i64.and + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $0 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + local.get $2 + i32.const 1072049730 + i32.lt_u + if + local.get $2 + i32.const 1045430272 + i32.lt_u + if + f64.const 1 + return + end + local.get $0 + call $~lib/math/NativeMath.expm1 + local.set $3 + f64.const 1 + local.get $3 + local.get $3 + f64.mul + f64.const 2 + f64.const 2 + local.get $3 + f64.mul + f64.add + f64.div + f64.add + return + end + local.get $2 + i32.const 1082535490 + i32.lt_u + if + local.get $0 + call $~lib/math/NativeMath.exp + local.set $3 + f64.const 0.5 + local.get $3 + f64.const 1 + local.get $3 + f64.div + f64.add + f64.mul + return + end + local.get $0 + local.set $4 + i32.const 1023 + i32.const 2043 + i32.const 2 + i32.div_u + i32.add + i32.const 20 + i32.shl + i64.extend_i32_u + i64.const 32 + i64.shl + f64.reinterpret_i64 + local.set $5 + local.get $4 + f64.const 1416.0996898839683 + f64.sub + call $~lib/math/NativeMath.exp + local.get $5 + f64.mul + local.get $5 + f64.mul + local.set $3 + local.get $3 + ) + (func $std/math/test_cosh (; 92 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.cosh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/cosh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.expm1 (; 93 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) + (local $5 f32) + (local $6 i32) + (local $7 f32) + (local $8 f32) + (local $9 f32) + (local $10 f32) + (local $11 f32) + (local $12 f32) + (local $13 f32) + (local $14 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $2 + local.get $1 + i32.const 31 + i32.shr_u + local.set $3 + local.get $2 + i32.const 1100331076 + i32.ge_u + if + local.get $2 + i32.const 2139095040 + i32.gt_u + if + local.get $0 + return + end + local.get $3 + if + f32.const -1 + return + end + local.get $0 + f32.const 88.7216796875 + f32.gt + if + local.get $0 + f32.const 1701411834604692317316873e14 + f32.mul + local.set $0 + local.get $0 + return + end + end + f32.const 0 + local.set $4 + local.get $2 + i32.const 1051816472 + i32.gt_u + if + i32.const 1 + local.get $3 + i32.const 1 + i32.shl + i32.sub + f32.const 1.4426950216293335 + local.get $0 + f32.mul + f32.const 0.5 + local.get $0 + f32.copysign + f32.add + i32.trunc_f32_s + local.get $2 + i32.const 1065686418 + i32.lt_u + select + local.set $6 + local.get $6 + f32.convert_i32_s + local.set $5 + local.get $0 + local.get $5 + f32.const 0.6931381225585938 + f32.mul + f32.sub + local.set $7 + local.get $5 + f32.const 9.05800061445916e-06 + f32.mul + local.set $8 + local.get $7 + local.get $8 + f32.sub + local.set $0 + local.get $7 + local.get $0 + f32.sub + local.get $8 + f32.sub + local.set $4 + else + local.get $2 + i32.const 855638016 + i32.lt_u + if + local.get $0 + return + else + i32.const 0 + local.set $6 + end + end + f32.const 0.5 + local.get $0 + f32.mul + local.set $9 + local.get $0 + local.get $9 + f32.mul + local.set $10 + f32.const 1 + local.get $10 + f32.const -0.03333321213722229 + local.get $10 + f32.const 1.5807170420885086e-03 + f32.mul + f32.add + f32.mul + f32.add + local.set $11 + f32.const 3 + local.get $11 + local.get $9 + f32.mul + f32.sub + local.set $5 + local.get $10 + local.get $11 + local.get $5 + f32.sub + f32.const 6 + local.get $0 + local.get $5 + f32.mul + f32.sub + f32.div + f32.mul + local.set $12 + local.get $6 + i32.const 0 + i32.eq + if + local.get $0 + local.get $0 + local.get $12 + f32.mul + local.get $10 + f32.sub + f32.sub + return + end + local.get $0 + local.get $12 + local.get $4 + f32.sub + f32.mul + local.get $4 + f32.sub + local.set $12 + local.get $12 + local.get $10 + f32.sub + local.set $12 + local.get $6 + i32.const -1 + i32.eq + if + f32.const 0.5 + local.get $0 + local.get $12 + f32.sub + f32.mul + f32.const 0.5 + f32.sub + return + end + local.get $6 + i32.const 1 + i32.eq + if + local.get $0 + f32.const -0.25 + f32.lt + if + f32.const -2 + local.get $12 + local.get $0 + f32.const 0.5 + f32.add + f32.sub + f32.mul + return + end + f32.const 1 + f32.const 2 + local.get $0 + local.get $12 + f32.sub + f32.mul + f32.add + return + end + i32.const 127 + local.get $6 + i32.add + i32.const 23 + i32.shl + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $13 + local.get $6 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $6 + i32.const 56 + i32.gt_s + end + if + local.get $0 + local.get $12 + f32.sub + f32.const 1 + f32.add + local.set $14 + local.get $6 + i32.const 128 + i32.eq + if + local.get $14 + f32.const 2 + f32.mul + f32.const 1701411834604692317316873e14 + f32.mul + local.set $14 + else + local.get $14 + local.get $13 + f32.mul + local.set $14 + end + local.get $14 + f32.const 1 + f32.sub + return + end + i32.const 127 + local.get $6 + i32.sub + i32.const 23 + i32.shl + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $14 + local.get $6 + i32.const 20 + i32.lt_s + if + f32.const 1 + local.get $14 + f32.sub + local.get $12 + f32.sub + local.set $14 + else + f32.const 1 + local.get $12 + local.get $14 + f32.add + f32.sub + local.set $14 + end + local.get $0 + local.get $14 + f32.add + local.get $13 + f32.mul + ) + (func $~lib/math/NativeMathf.exp (; 94 ;) (param $0 f32) (result f32) + (local $1 f32) + (local $2 f64) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 f64) + (local $7 i64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 i64) + block $~lib/util/math/expf_lut|inlined.0 (result f32) + local.get $0 + local.set $1 + local.get $1 + f64.promote_f32 + local.set $2 + local.get $1 + i32.reinterpret_f32 + local.set $3 + local.get $3 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + local.set $4 + local.get $4 + i32.const 1067 + i32.ge_u + if + local.get $3 + i32.const -8388608 + i32.eq + if + f32.const 0 + br $~lib/util/math/expf_lut|inlined.0 + end + local.get $4 + i32.const 2040 + i32.ge_u + if + local.get $1 + local.get $1 + f32.add + br $~lib/util/math/expf_lut|inlined.0 + end + local.get $1 + f32.const 88.72283172607422 + f32.gt + if + local.get $1 + f32.const 1701411834604692317316873e14 + f32.mul + br $~lib/util/math/expf_lut|inlined.0 + end + local.get $1 + f32.const -103.97207641601562 + f32.lt + if + f32.const 0 + br $~lib/util/math/expf_lut|inlined.0 + end + end + f64.const 46.16624130844683 + local.get $2 + f64.mul + local.set $5 + local.get $5 + f64.const 6755399441055744 + f64.add + local.set $6 + local.get $6 + i64.reinterpret_f64 + local.set $7 + local.get $5 + local.get $6 + f64.const 6755399441055744 + f64.sub + f64.sub + local.set $8 + i32.const 6800 + local.get $7 + i32.wrap_i64 + i32.const 31 + i32.and + i32.const 3 + i32.shl + i32.add + i64.load + local.set $11 + local.get $11 + local.get $7 + i64.const 52 + i64.const 5 + i64.sub + i64.shl + i64.add + local.set $11 + local.get $11 + f64.reinterpret_i64 + local.set $9 + f64.const 1.6938359250920212e-06 + local.get $8 + f64.mul + f64.const 2.3459809789509004e-04 + f64.add + local.set $5 + f64.const 0.021660849396613134 + local.get $8 + f64.mul + f64.const 1 + f64.add + local.set $10 + local.get $10 + local.get $5 + local.get $8 + local.get $8 + f64.mul + f64.mul + f64.add + local.set $10 + local.get $10 + local.get $9 + f64.mul + local.set $10 + local.get $10 + f32.demote_f64 + end + return + ) + (func $~lib/math/NativeMathf.cosh (; 95 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 f32) + (local $3 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $0 + local.get $1 + i32.const 1060205079 + i32.lt_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + f32.const 1 + return + end + local.get $0 + call $~lib/math/NativeMathf.expm1 + local.set $2 + f32.const 1 + local.get $2 + local.get $2 + f32.mul + f32.const 2 + f32.const 2 + local.get $2 + f32.mul + f32.add + f32.div + f32.add + return + end + local.get $1 + i32.const 1118925335 + i32.lt_u + if + local.get $0 + call $~lib/math/NativeMathf.exp + local.set $2 + f32.const 0.5 + local.get $2 + f32.mul + f32.const 0.5 + local.get $2 + f32.div + f32.add + return + end + local.get $0 + local.set $2 + i32.const 127 + i32.const 235 + i32.const 1 + i32.shr_u + i32.add + i32.const 23 + i32.shl + f32.reinterpret_i32 + local.set $3 + local.get $2 + f32.const 162.88958740234375 + f32.sub + call $~lib/math/NativeMathf.exp + local.get $3 + f32.mul + local.get $3 + f32.mul + ) + (func $std/math/test_coshf (; 96 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.cosh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_exp (; 97 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.exp + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/exp + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_expf (; 98 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.exp + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_expm1 (; 99 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.expm1 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/expm1 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_expm1f (; 100 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.expm1 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.exp2 (; 101 ;) (param $0 f64) (result f64) + (local $1 f64) + (local $2 i64) + (local $3 i32) + (local $4 f64) + (local $5 i64) + (local $6 f64) + (local $7 i32) + (local $8 i64) + (local $9 f64) + (local $10 i64) + (local $11 f64) + (local $12 f64) + (local $13 i64) + (local $14 i64) + (local $15 f64) + (local $16 f64) + (local $17 f64) + (local $18 f64) + (local $19 f64) + block $~lib/util/math/exp2_lut|inlined.0 (result f64) + local.get $0 + local.set $1 + local.get $1 + i64.reinterpret_f64 + local.set $2 + local.get $2 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + i32.wrap_i64 + local.set $3 + local.get $3 + i32.const 969 + i32.sub + i32.const 63 + i32.ge_u + if + local.get $3 + i32.const 969 + i32.sub + i32.const -2147483648 + i32.ge_u + if + f64.const 1 + br $~lib/util/math/exp2_lut|inlined.0 + end + local.get $3 + i32.const 1033 + i32.ge_u + if + local.get $2 + i64.const -4503599627370496 + i64.eq + if + f64.const 0 + br $~lib/util/math/exp2_lut|inlined.0 + end + local.get $3 + i32.const 2047 + i32.ge_u + if + f64.const 1 + local.get $1 + f64.add + br $~lib/util/math/exp2_lut|inlined.0 + end + local.get $2 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + i32.eqz + if + f64.const inf + br $~lib/util/math/exp2_lut|inlined.0 + else + local.get $2 + i64.const -4570929321408987136 + i64.ge_u + if + f64.const 0 + br $~lib/util/math/exp2_lut|inlined.0 + end + end + end + local.get $2 + i64.const 1 + i64.shl + i64.const -9143996093422370816 + i64.gt_u + if + i32.const 0 + local.set $3 + end + end + local.get $1 + f64.const 52776558133248 + f64.add + local.set $4 + local.get $4 + i64.reinterpret_f64 + local.set $5 + local.get $4 + f64.const 52776558133248 + f64.sub + local.set $4 + local.get $1 + local.get $4 + f64.sub + local.set $6 + local.get $5 + i64.const 127 + i64.and + i64.const 1 + i64.shl + i32.wrap_i64 + local.set $7 + local.get $5 + i64.const 52 + i64.const 7 + i64.sub + i64.shl + local.set $8 + i32.const 4736 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + f64.reinterpret_i64 + local.set $9 + i32.const 4736 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load offset=8 + local.get $8 + i64.add + local.set $10 + local.get $6 + local.get $6 + f64.mul + local.set $11 + local.get $9 + local.get $6 + f64.const 0.6931471805599453 + f64.mul + f64.add + local.get $11 + f64.const 0.24022650695909065 + local.get $6 + f64.const 0.0555041086686087 + f64.mul + f64.add + f64.mul + f64.add + local.get $11 + local.get $11 + f64.mul + f64.const 0.009618131975721055 + local.get $6 + f64.const 1.3332074570119598e-03 + f64.mul + f64.add + f64.mul + f64.add + local.set $12 + local.get $3 + i32.const 0 + i32.eq + if + block $~lib/util/math/specialcase2|inlined.0 (result f64) + local.get $12 + local.set $15 + local.get $10 + local.set $14 + local.get $5 + local.set $13 + local.get $13 + i64.const 2147483648 + i64.and + i64.const 0 + i64.eq + if + local.get $14 + i64.const 1 + i64.const 52 + i64.shl + i64.sub + local.set $14 + local.get $14 + f64.reinterpret_i64 + local.set $16 + f64.const 2 + local.get $16 + local.get $15 + f64.mul + local.get $16 + f64.add + f64.mul + br $~lib/util/math/specialcase2|inlined.0 + end + local.get $14 + i64.const 1022 + i64.const 52 + i64.shl + i64.add + local.set $14 + local.get $14 + f64.reinterpret_i64 + local.set $16 + local.get $16 + local.get $15 + f64.mul + local.get $16 + f64.add + local.set $17 + local.get $17 + f64.const 1 + f64.lt + if + local.get $16 + local.get $17 + f64.sub + local.get $16 + local.get $15 + f64.mul + f64.add + local.set $19 + f64.const 1 + local.get $17 + f64.add + local.set $18 + f64.const 1 + local.get $18 + f64.sub + local.get $17 + f64.add + local.get $19 + f64.add + local.set $19 + local.get $18 + local.get $19 + f64.add + f64.const 1 + f64.sub + local.set $17 + end + local.get $17 + f64.const 2.2250738585072014e-308 + f64.mul + end + br $~lib/util/math/exp2_lut|inlined.0 + end + local.get $10 + f64.reinterpret_i64 + local.set $17 + local.get $17 + local.get $12 + f64.mul + local.get $17 + f64.add + end + ) + (func $std/math/test_exp2 (; 102 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.exp2 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + f64.const 2 + local.get $0 + call $~lib/bindings/Math/pow + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.exp2 (; 103 ;) (param $0 f32) (result f32) + (local $1 f32) + (local $2 f64) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 i64) + (local $7 f64) + (local $8 i64) + (local $9 f64) + (local $10 f64) + block $~lib/util/math/exp2f_lut|inlined.0 (result f32) + local.get $0 + local.set $1 + local.get $1 + f64.promote_f32 + local.set $2 + local.get $1 + i32.reinterpret_f32 + local.set $3 + local.get $3 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + local.set $4 + local.get $4 + i32.const 1072 + i32.ge_u + if + local.get $3 + i32.const -8388608 + i32.eq + if + f32.const 0 + br $~lib/util/math/exp2f_lut|inlined.0 + end + local.get $4 + i32.const 2040 + i32.ge_u + if + local.get $1 + local.get $1 + f32.add + br $~lib/util/math/exp2f_lut|inlined.0 + end + local.get $1 + f32.const 0 + f32.gt + if + local.get $1 + f32.const 1701411834604692317316873e14 + f32.mul + br $~lib/util/math/exp2f_lut|inlined.0 + end + local.get $1 + f32.const -150 + f32.le + if + f32.const 0 + br $~lib/util/math/exp2f_lut|inlined.0 + end + end + local.get $2 + f64.const 211106232532992 + f64.add + local.set $5 + local.get $5 + i64.reinterpret_f64 + local.set $6 + local.get $2 + local.get $5 + f64.const 211106232532992 + f64.sub + f64.sub + local.set $7 + i32.const 6800 + local.get $6 + i32.wrap_i64 + i32.const 31 + i32.and + i32.const 3 + i32.shl + i32.add + i64.load + local.set $8 + local.get $8 + local.get $6 + i64.const 52 + i64.const 5 + i64.sub + i64.shl + i64.add + local.set $8 + local.get $8 + f64.reinterpret_i64 + local.set $10 + f64.const 0.6931471806916203 + local.get $7 + f64.mul + f64.const 1 + f64.add + local.set $9 + local.get $9 + f64.const 0.05550361559341535 + local.get $7 + f64.mul + f64.const 0.2402284522445722 + f64.add + local.get $7 + local.get $7 + f64.mul + f64.mul + f64.add + local.set $9 + local.get $9 + local.get $10 + f64.mul + local.set $9 + local.get $9 + f32.demote_f64 + end + ) + (func $std/math/test_exp2f (; 104 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.exp2 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_floor (; 105 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + local.get $0 + local.set $4 + local.get $4 + f64.floor + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/floor + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_floorf (; 106 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + local.get $0 + local.set $4 + local.get $4 + f32.floor + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.hypot (; 107 ;) (param $0 f64) (param $1 f64) (result f64) + (local $2 i64) + (local $3 i64) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 f64) + (local $14 f64) + local.get $0 + i64.reinterpret_f64 + local.set $2 + local.get $1 + i64.reinterpret_f64 + local.set $3 + local.get $2 + i64.const 9223372036854775807 + i64.and + local.set $2 + local.get $3 + i64.const 9223372036854775807 + i64.and + local.set $3 + local.get $2 + local.get $3 + i64.lt_u + if + local.get $2 + local.set $4 + local.get $3 + local.set $2 + local.get $4 + local.set $3 + end + local.get $2 + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $5 + local.get $3 + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $6 + local.get $3 + f64.reinterpret_i64 + local.set $1 + local.get $6 + i32.const 2047 + i32.eq + if + local.get $1 + return + end + local.get $2 + f64.reinterpret_i64 + local.set $0 + local.get $5 + i32.const 2047 + i32.eq + if (result i32) + i32.const 1 + else + local.get $3 + i64.const 0 + i64.eq + end + if + local.get $0 + return + end + local.get $5 + local.get $6 + i32.sub + i32.const 64 + i32.gt_s + if + local.get $0 + local.get $1 + f64.add + return + end + f64.const 1 + local.set $7 + local.get $5 + i32.const 1533 + i32.gt_s + if + f64.const 5260135901548373507240989e186 + local.set $7 + local.get $0 + f64.const 1.90109156629516e-211 + f64.mul + local.set $0 + local.get $1 + f64.const 1.90109156629516e-211 + f64.mul + local.set $1 + else + local.get $6 + i32.const 573 + i32.lt_s + if + f64.const 1.90109156629516e-211 + local.set $7 + local.get $0 + f64.const 5260135901548373507240989e186 + f64.mul + local.set $0 + local.get $1 + f64.const 5260135901548373507240989e186 + f64.mul + local.set $1 + end + end + local.get $0 + f64.const 134217729 + f64.mul + local.set $8 + local.get $0 + local.get $8 + f64.sub + local.get $8 + f64.add + local.set $9 + local.get $0 + local.get $9 + f64.sub + local.set $10 + local.get $0 + local.get $0 + f64.mul + local.set $11 + local.get $9 + local.get $9 + f64.mul + local.get $11 + f64.sub + f64.const 2 + local.get $9 + f64.mul + local.get $10 + f64.add + local.get $10 + f64.mul + f64.add + local.set $12 + local.get $1 + f64.const 134217729 + f64.mul + local.set $8 + local.get $1 + local.get $8 + f64.sub + local.get $8 + f64.add + local.set $9 + local.get $1 + local.get $9 + f64.sub + local.set $10 + local.get $1 + local.get $1 + f64.mul + local.set $13 + local.get $9 + local.get $9 + f64.mul + local.get $13 + f64.sub + f64.const 2 + local.get $9 + f64.mul + local.get $10 + f64.add + local.get $10 + f64.mul + f64.add + local.set $14 + local.get $7 + local.get $14 + local.get $12 + f64.add + local.get $13 + f64.add + local.get $11 + f64.add + f64.sqrt + f64.mul + ) + (func $std/math/test_hypot (; 108 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMath.hypot + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $~lib/math/NativeMathf.hypot (; 109 ;) (param $0 f32) (param $1 f32) (result f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + 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 $2 + local.get $3 + i32.const 2147483647 + i32.and + local.set $3 + local.get $2 + local.get $3 + i32.lt_u + if + local.get $2 + local.set $4 + local.get $3 + local.set $2 + local.get $4 + local.set $3 + end + local.get $2 + f32.reinterpret_i32 + local.set $0 + local.get $3 + f32.reinterpret_i32 + local.set $1 + local.get $3 + i32.const 2139095040 + i32.eq + if + local.get $1 + return + end + local.get $2 + i32.const 2139095040 + i32.ge_u + if (result i32) + i32.const 1 + else + local.get $3 + i32.const 0 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $2 + local.get $3 + i32.sub + i32.const 209715200 + i32.ge_u + end + if + local.get $0 + local.get $1 + f32.add + return + end + f32.const 1 + local.set $5 + local.get $2 + i32.const 1568669696 + i32.ge_u + if + f32.const 1237940039285380274899124e3 + local.set $5 + local.get $0 + f32.const 8.077935669463161e-28 + f32.mul + local.set $0 + local.get $1 + f32.const 8.077935669463161e-28 + f32.mul + local.set $1 + else + local.get $3 + i32.const 562036736 + i32.lt_u + if + f32.const 8.077935669463161e-28 + local.set $5 + local.get $0 + f32.const 1237940039285380274899124e3 + f32.mul + local.set $0 + local.get $1 + f32.const 1237940039285380274899124e3 + f32.mul + local.set $1 + end + end + local.get $5 + local.get $0 + f64.promote_f32 + local.get $0 + f64.promote_f32 + f64.mul + local.get $1 + f64.promote_f32 + local.get $1 + f64.promote_f32 + f64.mul + f64.add + f32.demote_f64 + f32.sqrt + f32.mul + ) + (func $std/math/test_hypotf (; 110 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMathf.hypot + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $std/math/test_log (; 111 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.log + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/log + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_logf (; 112 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.log + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.log10 (; 113 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 f64) + (local $14 f64) + (local $15 f64) + (local $16 f64) + (local $17 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + i32.const 0 + local.set $3 + local.get $2 + i32.const 1048576 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $2 + i32.const 31 + i32.shr_u + end + if + local.get $1 + i64.const 1 + i64.shl + i64.const 0 + i64.eq + if + f64.const -1 + local.get $0 + local.get $0 + f64.mul + f64.div + return + end + local.get $2 + i32.const 31 + i32.shr_u + if + local.get $0 + local.get $0 + f64.sub + f64.const 0 + f64.div + return + end + local.get $3 + i32.const 54 + i32.sub + local.set $3 + local.get $0 + f64.const 18014398509481984 + f64.mul + local.set $0 + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + else + local.get $2 + i32.const 2146435072 + i32.ge_u + if + local.get $0 + return + else + local.get $2 + i32.const 1072693248 + i32.eq + if (result i32) + local.get $1 + i64.const 32 + i64.shl + i64.const 0 + i64.eq + else + i32.const 0 + end + if + f64.const 0 + return + end + end + end + local.get $2 + i32.const 1072693248 + i32.const 1072079006 + i32.sub + i32.add + local.set $2 + local.get $3 + local.get $2 + i32.const 20 + i32.shr_u + i32.const 1023 + i32.sub + i32.add + local.set $3 + local.get $2 + i32.const 1048575 + i32.and + i32.const 1072079006 + i32.add + local.set $2 + local.get $2 + i64.extend_i32_u + i64.const 32 + i64.shl + local.get $1 + i64.const 4294967295 + i64.and + i64.or + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $0 + local.get $0 + f64.const 1 + f64.sub + local.set $4 + f64.const 0.5 + local.get $4 + f64.mul + local.get $4 + f64.mul + local.set $5 + local.get $4 + f64.const 2 + local.get $4 + f64.add + f64.div + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $8 + local.get $8 + f64.const 0.3999999999940942 + local.get $8 + f64.const 0.22222198432149784 + local.get $8 + f64.const 0.15313837699209373 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $9 + local.get $7 + f64.const 0.6666666666666735 + local.get $8 + f64.const 0.2857142874366239 + local.get $8 + f64.const 0.1818357216161805 + local.get $8 + f64.const 0.14798198605116586 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $10 + local.get $10 + local.get $9 + f64.add + local.set $11 + local.get $4 + local.get $5 + f64.sub + local.set $12 + local.get $12 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const -4294967296 + i64.and + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $12 + local.get $4 + local.get $12 + f64.sub + local.get $5 + f64.sub + local.get $6 + local.get $5 + local.get $11 + f64.add + f64.mul + f64.add + local.set $13 + local.get $12 + f64.const 0.4342944818781689 + f64.mul + local.set $14 + local.get $3 + f64.convert_i32_s + local.set $15 + local.get $15 + f64.const 0.30102999566361177 + f64.mul + local.set $16 + local.get $15 + f64.const 3.694239077158931e-13 + f64.mul + local.get $13 + local.get $12 + f64.add + f64.const 2.5082946711645275e-11 + f64.mul + f64.add + local.get $13 + f64.const 0.4342944818781689 + f64.mul + f64.add + local.set $17 + local.get $16 + local.get $14 + f64.add + local.set $8 + local.get $17 + local.get $16 + local.get $8 + f64.sub + local.get $14 + f64.add + f64.add + local.set $17 + local.get $17 + local.get $8 + f64.add + ) + (func $std/math/test_log10 (; 114 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.log10 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/log10 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.log10 (; 115 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f32) + (local $5 f32) + (local $6 f32) + (local $7 f32) + (local $8 f32) + (local $9 f32) + (local $10 f32) + (local $11 f32) + (local $12 f32) + (local $13 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + i32.const 0 + local.set $2 + local.get $1 + i32.const 8388608 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 31 + i32.shr_u + end + if + local.get $1 + i32.const 1 + i32.shl + i32.const 0 + i32.eq + if + f32.const -1 + local.get $0 + local.get $0 + f32.mul + f32.div + return + end + local.get $1 + i32.const 31 + i32.shr_u + if + local.get $0 + local.get $0 + f32.sub + f32.const 0 + f32.div + return + end + local.get $2 + i32.const 25 + i32.sub + local.set $2 + local.get $0 + f32.const 33554432 + f32.mul + local.set $0 + local.get $0 + i32.reinterpret_f32 + local.set $1 + else + local.get $1 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + return + else + local.get $1 + i32.const 1065353216 + i32.eq + if + f32.const 0 + return + end + end + end + local.get $1 + i32.const 1065353216 + i32.const 1060439283 + i32.sub + i32.add + local.set $1 + local.get $2 + local.get $1 + i32.const 23 + i32.shr_u + i32.const 127 + i32.sub + i32.add + local.set $2 + local.get $1 + i32.const 8388607 + i32.and + i32.const 1060439283 + i32.add + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $0 + local.get $0 + f32.const 1 + f32.sub + local.set $3 + local.get $3 + f32.const 2 + local.get $3 + f32.add + f32.div + local.set $4 + local.get $4 + local.get $4 + f32.mul + local.set $5 + local.get $5 + local.get $5 + f32.mul + local.set $6 + local.get $6 + f32.const 0.40000972151756287 + local.get $6 + f32.const 0.24279078841209412 + f32.mul + f32.add + f32.mul + local.set $7 + local.get $5 + f32.const 0.6666666269302368 + local.get $6 + f32.const 0.2849878668785095 + f32.mul + f32.add + f32.mul + local.set $8 + local.get $8 + local.get $7 + f32.add + local.set $9 + f32.const 0.5 + local.get $3 + f32.mul + local.get $3 + f32.mul + local.set $10 + local.get $3 + local.get $10 + f32.sub + local.set $11 + local.get $11 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const -4096 + i32.and + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $11 + local.get $3 + local.get $11 + f32.sub + local.get $10 + f32.sub + local.get $4 + local.get $10 + local.get $9 + f32.add + f32.mul + f32.add + local.set $12 + local.get $2 + f32.convert_i32_s + local.set $13 + local.get $13 + f32.const 7.903415166765626e-07 + f32.mul + local.get $12 + local.get $11 + f32.add + f32.const -3.168997136526741e-05 + f32.mul + f32.add + local.get $12 + f32.const 0.434326171875 + f32.mul + f32.add + local.get $11 + f32.const 0.434326171875 + f32.mul + f32.add + local.get $13 + f32.const 0.3010292053222656 + f32.mul + f32.add + ) + (func $std/math/test_log10f (; 116 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.log10 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_log1p (; 117 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.log1p + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/log1p + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_log1pf (; 118 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.log1p + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.log2 (; 119 ;) (param $0 f64) (result f64) + (local $1 f64) + (local $2 i64) + (local $3 f64) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 i32) + (local $13 i64) + (local $14 i32) + (local $15 i64) + (local $16 i64) + (local $17 f64) + (local $18 f64) + (local $19 f64) + (local $20 f64) + (local $21 f64) + (local $22 f64) + (local $23 f64) + block $~lib/util/math/log2_lut|inlined.0 (result f64) + local.get $0 + local.set $1 + local.get $1 + i64.reinterpret_f64 + local.set $2 + local.get $2 + i64.const 4606800540372828160 + i64.sub + i64.const 581272283906048 + i64.lt_u + if + local.get $1 + f64.const 1 + f64.sub + local.set $3 + local.get $3 + i64.reinterpret_f64 + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $4 + local.get $3 + local.get $4 + f64.sub + local.set $5 + local.get $4 + f64.const 1.4426950407214463 + f64.mul + local.set $6 + local.get $5 + f64.const 1.4426950407214463 + f64.mul + local.get $3 + f64.const 1.6751713164886512e-10 + f64.mul + f64.add + local.set $7 + local.get $3 + local.get $3 + f64.mul + local.set $8 + local.get $8 + local.get $8 + f64.mul + local.set $9 + local.get $8 + f64.const -0.7213475204444817 + local.get $3 + f64.const 0.48089834696298744 + f64.mul + f64.add + f64.mul + local.set $10 + local.get $6 + local.get $10 + f64.add + local.set $11 + local.get $7 + local.get $6 + local.get $11 + f64.sub + local.get $10 + f64.add + f64.add + local.set $7 + local.get $7 + local.get $9 + f64.const -0.360673760222145 + local.get $3 + f64.const 0.2885390081805197 + f64.mul + f64.add + local.get $8 + f64.const -0.24044917405728863 + local.get $3 + f64.const 0.2060992861022954 + f64.mul + f64.add + f64.mul + f64.add + local.get $9 + f64.const -0.18033596705327856 + local.get $3 + f64.const 0.1603032746063156 + f64.mul + f64.add + local.get $8 + f64.const -0.14483316576701266 + local.get $3 + f64.const 0.13046826811283835 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $7 + local.get $11 + local.get $7 + f64.add + br $~lib/util/math/log2_lut|inlined.0 + end + local.get $2 + i64.const 48 + i64.shr_u + i32.wrap_i64 + local.set $12 + local.get $12 + i32.const 16 + i32.sub + i32.const 32736 + i32.ge_u + if + local.get $2 + i64.const 1 + i64.shl + i64.const 0 + i64.eq + if + f64.const -1 + local.get $1 + local.get $1 + f64.mul + f64.div + br $~lib/util/math/log2_lut|inlined.0 + end + local.get $2 + i64.const 9218868437227405312 + i64.eq + if + local.get $1 + br $~lib/util/math/log2_lut|inlined.0 + end + local.get $12 + i32.const 32768 + i32.and + if (result i32) + i32.const 1 + else + local.get $12 + i32.const 32752 + i32.and + i32.const 32752 + i32.eq + end + if + local.get $1 + local.get $1 + f64.sub + local.get $1 + local.get $1 + f64.sub + f64.div + br $~lib/util/math/log2_lut|inlined.0 + end + local.get $1 + f64.const 4503599627370496 + f64.mul + i64.reinterpret_f64 + local.set $2 + local.get $2 + i64.const 52 + i64.const 52 + i64.shl + i64.sub + local.set $2 + end + local.get $2 + i64.const 4604367669032910848 + i64.sub + local.set $13 + local.get $13 + i64.const 52 + i64.const 6 + i64.sub + i64.shr_u + i64.const 63 + i64.and + i32.wrap_i64 + local.set $14 + local.get $13 + i64.const 52 + i64.shr_s + local.set $15 + local.get $2 + local.get $13 + i64.const -4503599627370496 + i64.and + i64.sub + local.set $16 + i32.const 7072 + local.get $14 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load + local.set $11 + i32.const 7072 + local.get $14 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=8 + local.set $10 + local.get $16 + f64.reinterpret_i64 + local.set $9 + local.get $15 + f64.convert_i64_s + local.set $8 + i32.const 8112 + local.get $14 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load + local.set $7 + i32.const 8112 + local.get $14 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=8 + local.set $6 + local.get $9 + local.get $7 + f64.sub + local.get $6 + f64.sub + local.get $11 + f64.mul + local.set $5 + local.get $5 + i64.reinterpret_f64 + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $4 + local.get $5 + local.get $4 + f64.sub + local.set $3 + local.get $4 + f64.const 1.4426950407214463 + f64.mul + local.set $17 + local.get $3 + f64.const 1.4426950407214463 + f64.mul + local.get $5 + f64.const 1.6751713164886512e-10 + f64.mul + f64.add + local.set $18 + local.get $8 + local.get $10 + f64.add + local.set $19 + local.get $19 + local.get $17 + f64.add + local.set $20 + local.get $19 + local.get $20 + f64.sub + local.get $17 + f64.add + local.get $18 + f64.add + local.set $21 + local.get $5 + local.get $5 + f64.mul + local.set $22 + f64.const -0.7213475204444882 + local.get $5 + f64.const 0.4808983469629985 + f64.mul + f64.add + local.get $22 + f64.const -0.36067375954075914 + local.get $5 + f64.const 0.2885390073180969 + f64.mul + f64.add + f64.mul + f64.add + local.get $22 + local.get $22 + f64.mul + f64.const -0.2404693555628422 + local.get $5 + f64.const 0.2061202382173603 + f64.mul + f64.add + f64.mul + f64.add + local.set $23 + local.get $21 + local.get $22 + local.get $23 + f64.mul + f64.add + local.get $20 + f64.add + end + return + ) + (func $std/math/test_log2 (; 120 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.log2 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/log2 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.log2 (; 121 ;) (param $0 f32) (result f32) + (local $1 f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 f64) + (local $14 f64) + (local $15 f64) + block $~lib/util/math/log2f_lut|inlined.0 (result f32) + local.get $0 + local.set $1 + local.get $1 + i32.reinterpret_f32 + local.set $2 + local.get $2 + i32.const 8388608 + i32.sub + i32.const 2130706432 + i32.ge_u + if + local.get $2 + i32.const 2 + i32.mul + i32.const 0 + i32.eq + if + f32.const inf + f32.neg + br $~lib/util/math/log2f_lut|inlined.0 + end + local.get $2 + i32.const 2139095040 + i32.eq + if + local.get $1 + br $~lib/util/math/log2f_lut|inlined.0 + end + local.get $2 + i32.const 31 + i32.shr_u + if (result i32) + i32.const 1 + else + local.get $2 + i32.const 2 + i32.mul + i32.const -16777216 + i32.ge_u + end + if + local.get $1 + local.get $1 + f32.sub + local.get $1 + local.get $1 + f32.sub + f32.div + br $~lib/util/math/log2f_lut|inlined.0 + end + local.get $1 + f32.const 8388608 + f32.mul + i32.reinterpret_f32 + local.set $2 + local.get $2 + i32.const 23 + i32.const 23 + i32.shl + i32.sub + local.set $2 + end + local.get $2 + i32.const 1060306944 + i32.sub + local.set $3 + local.get $3 + i32.const 23 + i32.const 4 + i32.sub + i32.shr_u + i32.const 15 + i32.and + local.set $4 + local.get $3 + i32.const -8388608 + i32.and + local.set $5 + local.get $2 + local.get $5 + i32.sub + local.set $6 + local.get $3 + i32.const 23 + i32.shr_s + local.set $7 + i32.const 9152 + local.get $4 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load + local.set $8 + i32.const 9152 + local.get $4 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=8 + local.set $9 + local.get $6 + f32.reinterpret_i32 + f64.promote_f32 + local.set $10 + local.get $10 + local.get $8 + f64.mul + f64.const 1 + f64.sub + local.set $11 + local.get $9 + local.get $7 + f64.convert_i32_s + f64.add + local.set $12 + f64.const 0.4811247078767291 + local.get $11 + f64.mul + f64.const -0.7213476299867769 + f64.add + local.set $13 + f64.const 1.4426950186867042 + local.get $11 + f64.mul + local.get $12 + f64.add + local.set $14 + local.get $11 + local.get $11 + f64.mul + local.set $15 + local.get $13 + f64.const -0.36051725506874704 + local.get $15 + f64.mul + f64.add + local.set $13 + local.get $13 + local.get $15 + f64.mul + local.get $14 + f64.add + local.set $13 + local.get $13 + f32.demote_f64 + end + return + ) + (func $std/math/test_log2f (; 122 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.log2 + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_max (; 123 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (local $5 f64) + (local $6 f64) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + local.get $6 + local.get $5 + f64.max + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + local.get $1 + call $~lib/bindings/Math/max + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_maxf (; 124 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (local $5 f32) + (local $6 f32) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + local.get $6 + local.get $5 + f32.max + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $std/math/test_min (; 125 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (local $5 f64) + (local $6 f64) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + local.get $6 + local.get $5 + f64.min + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + local.get $1 + call $~lib/bindings/Math/min + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_minf (; 126 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (local $5 f32) + (local $6 f32) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + local.get $6 + local.get $5 + f32.min + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $~lib/math/NativeMath.mod (; 127 ;) (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 f64) + (local $9 i64) + (local $10 i32) + (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 + if (result i32) + i32.const 1 + else + local.get $4 + i64.const 2047 + i64.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + local.get $1 + f64.ne + end + if + local.get $0 + local.get $1 + f64.mul + local.set $8 + local.get $8 + local.get $8 + f64.div + return + end + local.get $2 + i64.const 1 + i64.shl + local.set $9 + local.get $9 + local.get $7 + i64.le_u + if + local.get $9 + 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.const 0 + i64.ne + i32.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.const 0 + i64.ne + i32.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 + loop $while-continue|0 + local.get $4 + local.get $5 + i64.gt_s + local.set $10 + local.get $10 + if + 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 + br $while-continue|0 + 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 $std/math/test_mod (; 128 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMath.mod + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + local.get $1 + call $std/math/mod + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.mod (; 129 ;) (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 f32) + (local $9 i32) + (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 + if (result i32) + i32.const 1 + else + local.get $4 + i32.const 255 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + local.get $1 + f32.ne + end + if + local.get $0 + local.get $1 + f32.mul + local.set $8 + local.get $8 + local.get $8 + f32.div + return + end + local.get $2 + i32.const 1 + i32.shl + local.set $9 + local.get $9 + local.get $7 + i32.le_u + if + local.get $9 + 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 + loop $while-continue|0 + local.get $4 + local.get $5 + i32.gt_s + local.set $10 + local.get $10 + if + 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 + br $while-continue|0 + 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 $std/math/test_modf (; 130 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMathf.mod + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $~lib/math/NativeMath.pow (; 131 ;) (param $0 f64) (param $1 f64) (result f64) + (local $2 f64) + (local $3 f64) + (local $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 i64) + (local $9 i64) + (local $10 f64) + (local $11 i64) + (local $12 i32) + (local $13 i64) + (local $14 i64) + (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 f64) + (local $29 f64) + (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 i32) + (local $40 i32) + (local $41 i32) + (local $42 i32) + (local $43 i64) + (local $44 i64) + local.get $1 + f64.abs + f64.const 2 + f64.le + if + local.get $1 + f64.const 2 + f64.eq + if + local.get $0 + local.get $0 + f64.mul + return + end + local.get $1 + f64.const 0.5 + f64.eq + if + local.get $0 + f64.sqrt + f64.abs + f64.const inf + local.get $0 + f64.const inf + f64.neg + f64.ne + select + return + end + local.get $1 + f64.const -1 + f64.eq + if + f64.const 1 + local.get $0 + f64.div + return + end + local.get $1 + f64.const 1 + f64.eq + if + local.get $0 + return + end + local.get $1 + f64.const 0 + f64.eq + if + f64.const 1 + return + end + end + block $~lib/util/math/pow_lut|inlined.0 (result f64) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + i32.const 0 + local.set $4 + local.get $3 + i64.reinterpret_f64 + local.set $5 + local.get $2 + i64.reinterpret_f64 + local.set $6 + local.get $5 + i64.const 52 + i64.shr_u + local.set $7 + local.get $6 + i64.const 52 + i64.shr_u + local.set $8 + local.get $7 + i64.const 1 + i64.sub + i64.const 2046 + i64.ge_u + if (result i32) + i32.const 1 + else + local.get $8 + i64.const 2047 + i64.and + i64.const 958 + i64.sub + i64.const 128 + i64.ge_u + end + if + local.get $6 + local.set $9 + local.get $9 + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740993 + i64.ge_u + if + local.get $6 + i64.const 1 + i64.shl + i64.const 0 + i64.eq + if + f64.const 1 + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $5 + i64.const 4607182418800017408 + i64.eq + if + f64.const nan:0x8000000000000 + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $5 + i64.const 1 + i64.shl + i64.const -9007199254740992 + i64.gt_u + if (result i32) + i32.const 1 + else + local.get $6 + i64.const 1 + i64.shl + i64.const -9007199254740992 + i64.gt_u + end + if + local.get $3 + local.get $2 + f64.add + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $5 + i64.const 1 + i64.shl + i64.const 9214364837600034816 + i64.eq + if + f64.const nan:0x8000000000000 + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $5 + i64.const 1 + i64.shl + i64.const 9214364837600034816 + i64.lt_u + local.get $6 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + i32.eqz + i32.eq + if + f64.const 0 + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $2 + local.get $2 + f64.mul + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $5 + local.set $9 + local.get $9 + i64.const 1 + i64.shl + i64.const 1 + i64.sub + i64.const -9007199254740993 + i64.ge_u + if + local.get $3 + local.get $3 + f64.mul + local.set $10 + local.get $5 + i64.const 63 + i64.shr_u + i32.wrap_i64 + if (result i32) + block $~lib/util/math/checkint|inlined.0 (result i32) + local.get $6 + local.set $9 + local.get $9 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $11 + local.get $11 + i64.const 1023 + i64.lt_u + if + i32.const 0 + br $~lib/util/math/checkint|inlined.0 + end + local.get $11 + i64.const 1075 + i64.gt_u + if + i32.const 2 + br $~lib/util/math/checkint|inlined.0 + end + i64.const 1 + i64.const 1075 + local.get $11 + i64.sub + i64.shl + local.set $11 + local.get $9 + local.get $11 + i64.const 1 + i64.sub + i64.and + i64.const 0 + i64.ne + if + i32.const 0 + br $~lib/util/math/checkint|inlined.0 + end + local.get $9 + local.get $11 + i64.and + i64.const 0 + i64.ne + if + i32.const 1 + br $~lib/util/math/checkint|inlined.0 + end + i32.const 2 + end + i32.const 1 + i32.eq + else + i32.const 0 + end + if + local.get $10 + f64.neg + local.set $10 + end + local.get $6 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + if (result f64) + f64.const 1 + local.get $10 + f64.div + else + local.get $10 + end + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $5 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + if + block $~lib/util/math/checkint|inlined.1 (result i32) + local.get $6 + local.set $9 + local.get $9 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $11 + local.get $11 + i64.const 1023 + i64.lt_u + if + i32.const 0 + br $~lib/util/math/checkint|inlined.1 + end + local.get $11 + i64.const 1075 + i64.gt_u + if + i32.const 2 + br $~lib/util/math/checkint|inlined.1 + end + i64.const 1 + i64.const 1023 + i64.const 52 + i64.add + local.get $11 + i64.sub + i64.shl + local.set $11 + local.get $9 + local.get $11 + i64.const 1 + i64.sub + i64.and + i64.const 0 + i64.ne + if + i32.const 0 + br $~lib/util/math/checkint|inlined.1 + end + local.get $9 + local.get $11 + i64.and + i64.const 0 + i64.ne + if + i32.const 1 + br $~lib/util/math/checkint|inlined.1 + end + i32.const 2 + end + local.set $12 + local.get $12 + i32.const 0 + i32.eq + if + local.get $3 + local.get $3 + f64.sub + local.get $3 + local.get $3 + f64.sub + f64.div + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $12 + i32.const 1 + i32.eq + if + i32.const 262144 + local.set $4 + end + local.get $5 + i64.const 9223372036854775807 + i64.and + local.set $5 + local.get $7 + i64.const 2047 + i64.and + local.set $7 + end + local.get $8 + i64.const 2047 + i64.and + i64.const 958 + i64.sub + i64.const 128 + i64.ge_u + if + local.get $5 + i64.const 4607182418800017408 + i64.eq + if + f64.const 1 + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $8 + i64.const 2047 + i64.and + i64.const 958 + i64.lt_u + if + f64.const 1 + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $5 + i64.const 4607182418800017408 + i64.gt_u + local.get $8 + i64.const 2048 + i64.lt_u + i32.eq + if (result f64) + f64.const inf + else + f64.const 0 + end + br $~lib/util/math/pow_lut|inlined.0 + end + local.get $7 + i64.const 0 + i64.eq + if + local.get $3 + f64.const 4503599627370496 + f64.mul + i64.reinterpret_f64 + local.set $5 + local.get $5 + i64.const 9223372036854775807 + i64.and + local.set $5 + local.get $5 + i64.const 52 + i64.const 52 + i64.shl + i64.sub + local.set $5 + end + end + local.get $5 + local.set $9 + local.get $9 + i64.const 4604531861337669632 + i64.sub + local.set $11 + local.get $11 + i64.const 52 + i64.const 7 + i64.sub + i64.shr_u + i64.const 127 + i64.and + i32.wrap_i64 + local.set $12 + local.get $11 + i64.const 52 + i64.shr_s + local.set $13 + local.get $9 + local.get $11 + i64.const 4095 + i64.const 52 + i64.shl + i64.and + i64.sub + local.set $14 + local.get $14 + f64.reinterpret_i64 + local.set $10 + local.get $13 + f64.convert_i64_s + local.set $15 + i32.const 9424 + local.get $12 + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load + local.set $16 + i32.const 9424 + local.get $12 + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=16 + local.set $17 + i32.const 9424 + local.get $12 + i32.const 2 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=24 + local.set $18 + local.get $14 + i64.const 2147483648 + i64.add + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $19 + local.get $10 + local.get $19 + f64.sub + local.set $20 + local.get $19 + local.get $16 + f64.mul + f64.const 1 + f64.sub + local.set $21 + local.get $20 + local.get $16 + f64.mul + local.set $22 + local.get $21 + local.get $22 + f64.add + local.set $23 + local.get $15 + f64.const 0.6931471805598903 + f64.mul + local.get $17 + f64.add + local.set $24 + local.get $24 + local.get $23 + f64.add + local.set $25 + local.get $15 + f64.const 5.497923018708371e-14 + f64.mul + local.get $18 + f64.add + local.set $26 + local.get $24 + local.get $25 + f64.sub + local.get $23 + f64.add + local.set $27 + f64.const -0.5 + local.get $23 + f64.mul + local.set $28 + local.get $23 + local.get $28 + f64.mul + local.set $29 + local.get $23 + local.get $29 + f64.mul + local.set $30 + f64.const -0.5 + local.get $21 + f64.mul + local.set $31 + local.get $21 + local.get $31 + f64.mul + local.set $32 + local.get $25 + local.get $32 + f64.add + local.set $33 + local.get $22 + local.get $28 + local.get $31 + f64.add + f64.mul + local.set $34 + local.get $25 + local.get $33 + f64.sub + local.get $32 + f64.add + local.set $35 + local.get $30 + f64.const -0.6666666666666679 + local.get $23 + f64.const 0.5000000000000007 + f64.mul + f64.add + local.get $29 + f64.const 0.7999999995323976 + local.get $23 + f64.const -0.6666666663487739 + f64.mul + f64.add + local.get $29 + f64.const -1.142909628459501 + local.get $23 + f64.const 1.0000415263675542 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $36 + local.get $26 + local.get $27 + f64.add + local.get $34 + f64.add + local.get $35 + f64.add + local.get $36 + f64.add + local.set $37 + local.get $33 + local.get $37 + f64.add + local.set $38 + local.get $33 + local.get $38 + f64.sub + local.get $37 + f64.add + global.set $~lib/util/math/log_tail + local.get $38 + local.set $38 + global.get $~lib/util/math/log_tail + local.set $37 + local.get $6 + i64.const -134217728 + i64.and + f64.reinterpret_i64 + local.set $34 + local.get $2 + local.get $34 + f64.sub + local.set $33 + local.get $38 + i64.reinterpret_f64 + i64.const -134217728 + i64.and + f64.reinterpret_i64 + local.set $32 + local.get $38 + local.get $32 + f64.sub + local.get $37 + f64.add + local.set $31 + local.get $34 + local.get $32 + f64.mul + local.set $36 + local.get $33 + local.get $32 + f64.mul + local.get $2 + local.get $31 + f64.mul + f64.add + local.set $35 + block $~lib/util/math/exp_inline|inlined.0 (result f64) + local.get $36 + local.set $15 + local.get $35 + local.set $10 + local.get $4 + local.set $12 + local.get $15 + i64.reinterpret_f64 + local.set $9 + local.get $9 + i64.const 52 + i64.shr_u + i32.wrap_i64 + i32.const 2047 + i32.and + local.set $39 + local.get $39 + i32.const 969 + i32.sub + i32.const 63 + i32.ge_u + if + local.get $39 + i32.const 969 + i32.sub + i32.const -2147483648 + i32.ge_u + if + f64.const -1 + f64.const 1 + local.get $12 + select + br $~lib/util/math/exp_inline|inlined.0 + end + local.get $39 + i32.const 1033 + i32.ge_u + if + local.get $9 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + if (result f64) + local.get $12 + local.set $41 + local.get $41 + local.set $42 + i64.const 1152921504606846976 + f64.reinterpret_i64 + local.set $16 + local.get $16 + f64.neg + local.get $16 + local.get $42 + select + local.get $16 + f64.mul + else + local.get $12 + local.set $42 + local.get $42 + local.set $41 + i64.const 8070450532247928832 + f64.reinterpret_i64 + local.set $17 + local.get $17 + f64.neg + local.get $17 + local.get $41 + select + local.get $17 + f64.mul + end + br $~lib/util/math/exp_inline|inlined.0 + end + i32.const 0 + local.set $39 + end + f64.const 184.6649652337873 + local.get $15 + f64.mul + local.set $29 + local.get $29 + f64.const 6755399441055744 + f64.add + local.set $30 + local.get $30 + i64.reinterpret_f64 + local.set $14 + local.get $30 + f64.const 6755399441055744 + f64.sub + local.set $30 + local.get $15 + local.get $30 + f64.const -0.005415212348111709 + f64.mul + f64.add + local.get $30 + f64.const -1.2864023111638346e-14 + f64.mul + f64.add + local.set $28 + local.get $28 + local.get $10 + f64.add + local.set $28 + local.get $14 + i64.const 127 + i64.and + i64.const 1 + i64.shl + i32.wrap_i64 + local.set $40 + local.get $14 + local.get $12 + i64.extend_i32_u + i64.add + i64.const 52 + i64.const 7 + i64.sub + i64.shl + local.set $13 + i32.const 4736 + local.get $40 + i32.const 3 + i32.shl + i32.add + i64.load + f64.reinterpret_i64 + local.set $25 + i32.const 4736 + local.get $40 + i32.const 3 + i32.shl + i32.add + i64.load offset=8 + local.get $13 + i64.add + local.set $11 + local.get $28 + local.get $28 + f64.mul + local.set $27 + local.get $25 + local.get $28 + f64.add + local.get $27 + f64.const 0.49999999999996786 + local.get $28 + f64.const 0.16666666666665886 + f64.mul + f64.add + f64.mul + f64.add + local.get $27 + local.get $27 + f64.mul + f64.const 0.0416666808410674 + local.get $28 + f64.const 0.008333335853059549 + f64.mul + f64.add + f64.mul + f64.add + local.set $24 + local.get $39 + i32.const 0 + i32.eq + if + block $~lib/util/math/specialcase|inlined.1 (result f64) + local.get $24 + local.set $18 + local.get $11 + local.set $44 + local.get $14 + local.set $43 + local.get $43 + i64.const 2147483648 + i64.and + i64.const 0 + i64.ne + i32.eqz + if + local.get $44 + i64.const 1009 + i64.const 52 + i64.shl + i64.sub + local.set $44 + local.get $44 + f64.reinterpret_i64 + local.set $17 + f64.const 5486124068793688683255936e279 + local.get $17 + local.get $17 + local.get $18 + f64.mul + f64.add + f64.mul + br $~lib/util/math/specialcase|inlined.1 + end + local.get $44 + i64.const 1022 + i64.const 52 + i64.shl + i64.add + local.set $44 + local.get $44 + f64.reinterpret_i64 + local.set $17 + local.get $17 + local.get $17 + local.get $18 + f64.mul + f64.add + local.set $16 + local.get $16 + f64.abs + f64.const 1 + f64.lt + if + f64.const 1 + local.get $16 + f64.copysign + local.set $23 + local.get $17 + local.get $16 + f64.sub + local.get $17 + local.get $18 + f64.mul + f64.add + local.set $22 + local.get $23 + local.get $16 + f64.add + local.set $21 + local.get $23 + local.get $21 + f64.sub + local.get $16 + f64.add + local.get $22 + f64.add + local.set $22 + local.get $21 + local.get $22 + f64.add + local.get $23 + f64.sub + local.set $16 + local.get $16 + f64.const 0 + f64.eq + if + local.get $44 + i64.const -9223372036854775808 + i64.and + f64.reinterpret_i64 + local.set $16 + end + end + local.get $16 + f64.const 2.2250738585072014e-308 + f64.mul + end + br $~lib/util/math/exp_inline|inlined.0 + end + local.get $11 + f64.reinterpret_i64 + local.set $26 + local.get $26 + local.get $26 + local.get $24 + f64.mul + f64.add + end + end + return + ) + (func $std/math/test_pow (; 132 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMath.pow + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + local.get $1 + call $~lib/bindings/Math/pow + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.pow (; 133 ;) (param $0 f32) (param $1 f32) (result f32) + (local $2 f32) + (local $3 f32) + (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 $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 i64) + (local $24 i64) + local.get $1 + f32.abs + f32.const 2 + f32.le + if + local.get $1 + f32.const 2 + f32.eq + if + local.get $0 + local.get $0 + f32.mul + return + end + local.get $1 + f32.const 0.5 + f32.eq + if + local.get $0 + f32.sqrt + f32.abs + f32.const inf + local.get $0 + f32.const inf + f32.neg + f32.ne + select + return + end + local.get $1 + f32.const -1 + f32.eq + if + f32.const 1 + local.get $0 + f32.div + return + end + local.get $1 + f32.const 1 + f32.eq + if + local.get $0 + return + end + local.get $1 + f32.const 0 + f32.eq + if + f32.const 1 + return + end + end + block $~lib/util/math/powf_lut|inlined.0 (result f32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + i32.const 0 + local.set $4 + local.get $3 + i32.reinterpret_f32 + local.set $5 + local.get $2 + i32.reinterpret_f32 + local.set $6 + i32.const 0 + local.set $7 + local.get $5 + i32.const 8388608 + i32.sub + i32.const 2130706432 + i32.ge_u + local.get $6 + local.set $8 + local.get $8 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.const -16777217 + i32.ge_u + i32.const 0 + i32.ne + local.tee $7 + i32.or + if + local.get $7 + if + local.get $6 + i32.const 1 + i32.shl + i32.const 0 + i32.eq + if + f32.const 1 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $5 + i32.const 1065353216 + i32.eq + if + f32.const nan:0x400000 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $5 + i32.const 1 + i32.shl + i32.const -16777216 + i32.gt_u + if (result i32) + i32.const 1 + else + local.get $6 + i32.const 1 + i32.shl + i32.const -16777216 + i32.gt_u + end + if + local.get $3 + local.get $2 + f32.add + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $5 + i32.const 1 + i32.shl + i32.const 2130706432 + i32.eq + if + f32.const nan:0x400000 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $5 + i32.const 1 + i32.shl + i32.const 2130706432 + i32.lt_u + local.get $6 + i32.const 31 + i32.shr_u + i32.eqz + i32.eq + if + f32.const 0 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $2 + local.get $2 + f32.mul + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $5 + local.set $8 + local.get $8 + i32.const 1 + i32.shl + i32.const 1 + i32.sub + i32.const -16777217 + i32.ge_u + if + local.get $3 + local.get $3 + f32.mul + local.set $9 + local.get $5 + i32.const 31 + i32.shr_u + if (result i32) + block $~lib/util/math/checkintf|inlined.0 (result i32) + local.get $6 + local.set $8 + local.get $8 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $10 + local.get $10 + i32.const 127 + i32.lt_u + if + i32.const 0 + br $~lib/util/math/checkintf|inlined.0 + end + local.get $10 + i32.const 150 + i32.gt_u + if + i32.const 2 + br $~lib/util/math/checkintf|inlined.0 + end + i32.const 1 + i32.const 150 + local.get $10 + i32.sub + i32.shl + local.set $10 + local.get $8 + local.get $10 + i32.const 1 + i32.sub + i32.and + if + i32.const 0 + br $~lib/util/math/checkintf|inlined.0 + end + local.get $8 + local.get $10 + i32.and + if + i32.const 1 + br $~lib/util/math/checkintf|inlined.0 + end + i32.const 2 + end + i32.const 1 + i32.eq + else + i32.const 0 + end + if + local.get $9 + f32.neg + local.set $9 + end + local.get $6 + i32.const 31 + i32.shr_u + if (result f32) + f32.const 1 + local.get $9 + f32.div + else + local.get $9 + end + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $5 + i32.const 31 + i32.shr_u + if + block $~lib/util/math/checkintf|inlined.1 (result i32) + local.get $6 + local.set $8 + local.get $8 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $10 + local.get $10 + i32.const 127 + i32.lt_u + if + i32.const 0 + br $~lib/util/math/checkintf|inlined.1 + end + local.get $10 + i32.const 150 + i32.gt_u + if + i32.const 2 + br $~lib/util/math/checkintf|inlined.1 + end + i32.const 1 + i32.const 127 + i32.const 23 + i32.add + local.get $10 + i32.sub + i32.shl + local.set $10 + local.get $8 + local.get $10 + i32.const 1 + i32.sub + i32.and + if + i32.const 0 + br $~lib/util/math/checkintf|inlined.1 + end + local.get $8 + local.get $10 + i32.and + if + i32.const 1 + br $~lib/util/math/checkintf|inlined.1 + end + i32.const 2 + end + local.set $10 + local.get $10 + i32.const 0 + i32.eq + if + local.get $3 + local.get $3 + f32.sub + local.get $3 + local.get $3 + f32.sub + f32.div + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $10 + i32.const 1 + i32.eq + if + i32.const 65536 + local.set $4 + end + local.get $5 + i32.const 2147483647 + i32.and + local.set $5 + end + local.get $5 + i32.const 8388608 + i32.lt_u + if + local.get $3 + f32.const 8388608 + f32.mul + i32.reinterpret_f32 + local.set $5 + local.get $5 + i32.const 2147483647 + i32.and + local.set $5 + local.get $5 + i32.const 23 + i32.const 23 + i32.shl + i32.sub + local.set $5 + end + end + local.get $5 + local.set $8 + local.get $8 + i32.const 1060306944 + i32.sub + local.set $10 + local.get $10 + i32.const 23 + i32.const 4 + i32.sub + i32.shr_u + i32.const 15 + i32.and + local.set $11 + local.get $10 + i32.const -8388608 + i32.and + local.set $12 + local.get $8 + local.get $12 + i32.sub + local.set $13 + local.get $12 + i32.const 23 + i32.shr_s + local.set $14 + i32.const 9152 + local.get $11 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load + local.set $15 + i32.const 9152 + local.get $11 + i32.const 1 + i32.const 3 + i32.add + i32.shl + i32.add + f64.load offset=8 + local.set $16 + local.get $13 + f32.reinterpret_i32 + f64.promote_f32 + local.set $17 + local.get $17 + local.get $15 + f64.mul + f64.const 1 + f64.sub + local.set $18 + local.get $16 + local.get $14 + f64.convert_i32_s + f64.add + local.set $19 + f64.const 0.288457581109214 + local.get $18 + f64.mul + f64.const -0.36092606229713164 + f64.add + local.set $20 + f64.const 0.480898481472577 + local.get $18 + f64.mul + f64.const -0.7213474675006291 + f64.add + local.set $21 + f64.const 1.4426950408774342 + local.get $18 + f64.mul + local.get $19 + f64.add + local.set $22 + local.get $18 + local.get $18 + f64.mul + local.set $18 + local.get $22 + local.get $21 + local.get $18 + f64.mul + f64.add + local.set $22 + local.get $20 + local.get $18 + local.get $18 + f64.mul + f64.mul + local.get $22 + f64.add + local.set $20 + local.get $20 + local.set $22 + local.get $2 + f64.promote_f32 + local.get $22 + f64.mul + local.set $21 + local.get $21 + i64.reinterpret_f64 + i64.const 47 + i64.shr_u + i64.const 65535 + i64.and + i64.const 32959 + i64.ge_u + if + local.get $21 + f64.const 127.99999995700433 + f64.gt + if + local.get $4 + local.set $8 + local.get $8 + local.set $10 + i32.const 1879048192 + f32.reinterpret_i32 + local.set $9 + local.get $9 + f32.neg + local.get $9 + local.get $10 + select + local.get $9 + f32.mul + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $21 + f64.const -150 + f64.le + if + local.get $4 + local.set $11 + local.get $11 + local.set $12 + i32.const 268435456 + f32.reinterpret_i32 + local.set $9 + local.get $9 + f32.neg + local.get $9 + local.get $12 + select + local.get $9 + f32.mul + br $~lib/util/math/powf_lut|inlined.0 + end + end + local.get $21 + local.set $15 + local.get $4 + local.set $13 + local.get $15 + f64.const 211106232532992 + f64.add + local.set $20 + local.get $20 + i64.reinterpret_f64 + local.set $23 + local.get $15 + local.get $20 + f64.const 211106232532992 + f64.sub + f64.sub + local.set $19 + i32.const 6800 + local.get $23 + i32.wrap_i64 + i32.const 31 + i32.and + i32.const 3 + i32.shl + i32.add + i64.load + local.set $24 + local.get $24 + local.get $23 + local.get $13 + i64.extend_i32_u + i64.add + i64.const 52 + i64.const 5 + i64.sub + i64.shl + i64.add + local.set $24 + local.get $24 + f64.reinterpret_i64 + local.set $16 + f64.const 0.05550361559341535 + local.get $19 + f64.mul + f64.const 0.2402284522445722 + f64.add + local.set $18 + f64.const 0.6931471806916203 + local.get $19 + f64.mul + f64.const 1 + f64.add + local.set $17 + local.get $17 + local.get $18 + local.get $19 + local.get $19 + f64.mul + f64.mul + f64.add + local.set $17 + local.get $17 + local.get $16 + f64.mul + local.set $17 + local.get $17 + f32.demote_f64 + end + ) + (func $std/math/test_powf (; 134 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMathf.pow + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $~lib/math/murmurHash3 (; 135 ;) (param $0 i64) (result i64) + local.get $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + i64.const -49064778989728563 + i64.mul + local.set $0 + local.get $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + i64.const -4265267296055464877 + i64.mul + local.set $0 + local.get $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + ) + (func $~lib/math/splitMix32 (; 136 ;) (param $0 i32) (result i32) + local.get $0 + i32.const 1831565813 + i32.add + local.set $0 + local.get $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + local.get $0 + i32.const 1 + i32.or + i32.mul + local.set $0 + local.get $0 + local.get $0 + local.get $0 + local.get $0 + i32.const 7 + i32.shr_u + i32.xor + local.get $0 + i32.const 61 + i32.or + i32.mul + i32.add + i32.xor + local.set $0 + local.get $0 + local.get $0 + i32.const 14 + i32.shr_u + i32.xor + ) + (func $~lib/math/NativeMath.seedRandom (; 137 ;) (param $0 i64) + i32.const 1 + global.set $~lib/math/random_seeded + local.get $0 + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state1_64 + local.get $0 + i32.wrap_i64 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state0_32 + global.get $~lib/math/random_state0_32 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state1_32 + global.get $~lib/math/random_state0_64 + i64.const 0 + i64.ne + if (result i32) + global.get $~lib/math/random_state1_64 + i64.const 0 + i64.ne + else + i32.const 0 + end + if (result i32) + global.get $~lib/math/random_state0_32 + i32.const 0 + i32.ne + else + i32.const 0 + end + if (result i32) + global.get $~lib/math/random_state1_32 + i32.const 0 + i32.ne + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 13536 + i32.const 1406 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/math/NativeMath.random (; 138 ;) (result f64) + (local $0 i64) + (local $1 i64) + (local $2 i64) + global.get $~lib/math/random_seeded + i32.eqz + if + i32.const 13584 + i32.const 13536 + i32.const 1413 + i32.const 24 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/random_state0_64 + local.set $0 + global.get $~lib/math/random_state1_64 + local.set $1 + local.get $1 + global.set $~lib/math/random_state0_64 + local.get $0 + local.get $0 + i64.const 23 + i64.shl + i64.xor + local.set $0 + local.get $0 + local.get $0 + i64.const 17 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + local.get $1 + i64.xor + local.set $0 + local.get $0 + local.get $1 + i64.const 26 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + global.set $~lib/math/random_state1_64 + local.get $1 + i64.const 12 + i64.shr_u + i64.const 4607182418800017408 + i64.or + local.set $2 + local.get $2 + f64.reinterpret_i64 + f64.const 1 + f64.sub + ) + (func $~lib/math/NativeMathf.random (; 139 ;) (result f32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/math/random_seeded + i32.eqz + if + i32.const 13584 + i32.const 13536 + i32.const 2606 + i32.const 24 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/math/random_state0_32 + local.set $0 + global.get $~lib/math/random_state1_32 + local.set $1 + local.get $0 + i32.const -1640531525 + i32.mul + i32.const 5 + i32.rotl + i32.const 5 + i32.mul + local.set $2 + local.get $1 + local.get $0 + i32.xor + local.set $1 + local.get $0 + i32.const 26 + i32.rotl + local.get $1 + i32.xor + local.get $1 + i32.const 9 + i32.shl + i32.xor + global.set $~lib/math/random_state0_32 + local.get $1 + i32.const 13 + i32.rotl + global.set $~lib/math/random_state1_32 + local.get $2 + i32.const 9 + i32.shr_u + i32.const 127 + i32.const 23 + i32.shl + i32.or + f32.reinterpret_i32 + f32.const 1 + f32.sub + ) + (func $std/math/test_round (; 140 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + local.get $0 + local.set $4 + local.get $4 + f64.const 0.5 + f64.add + f64.floor + local.get $4 + f64.copysign + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_roundf (; 141 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + local.get $0 + local.set $4 + local.get $4 + f32.const 0.5 + f32.add + f32.floor + local.get $4 + f32.copysign + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_sign (; 142 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + block $~lib/math/NativeMath.sign|inlined.0 (result f64) + local.get $0 + local.set $4 + local.get $4 + f64.const 0 + f64.gt + if (result f64) + f64.const 1 + else + local.get $4 + f64.const 0 + f64.lt + if (result f64) + f64.const -1 + else + local.get $4 + end + end + br $~lib/math/NativeMath.sign|inlined.0 + end + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/sign + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_signf (; 143 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + block $~lib/math/NativeMathf.sign|inlined.0 (result f32) + local.get $0 + local.set $4 + local.get $4 + f32.const 0 + f32.gt + if (result f32) + f32.const 1 + else + local.get $4 + f32.const 0 + f32.lt + if (result f32) + f32.const -1 + else + local.get $4 + end + end + br $~lib/math/NativeMathf.sign|inlined.0 + end + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.rem (; 144 ;) (param $0 f64) (param $1 f64) (result f64) + (local $2 i64) + (local $3 i64) + (local $4 i64) + (local $5 i64) + (local $6 i32) + (local $7 f64) + (local $8 i64) + (local $9 i32) + (local $10 i32) + (local $11 i64) + (local $12 f64) + 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 + i32.wrap_i64 + local.set $6 + local.get $3 + i64.const 1 + i64.shl + i64.const 0 + i64.eq + if (result i32) + i32.const 1 + else + local.get $4 + i64.const 2047 + i64.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + local.get $1 + f64.ne + end + if + local.get $0 + local.get $1 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.div + return + end + local.get $2 + i64.const 1 + i64.shl + i64.const 0 + i64.eq + if + local.get $0 + return + end + local.get $2 + local.set $8 + local.get $4 + i64.const 0 + i64.ne + i32.eqz + if + local.get $4 + local.get $8 + i64.const 12 + i64.shl + i64.clz + i64.sub + local.set $4 + local.get $8 + i64.const 0 + local.get $4 + i64.sub + i64.const 1 + i64.add + i64.shl + local.set $8 + else + local.get $8 + i64.const -1 + i64.const 12 + i64.shr_u + i64.and + local.set $8 + local.get $8 + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $8 + end + local.get $5 + i64.const 0 + i64.ne + i32.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 + i32.const 0 + local.set $9 + block $do-break|0 + loop $do-continue|0 + local.get $4 + local.get $5 + i64.lt_s + if + local.get $4 + i64.const 1 + i64.add + local.get $5 + i64.eq + if + br $do-break|0 + end + local.get $0 + return + end + loop $while-continue|1 + local.get $4 + local.get $5 + i64.gt_s + local.set $10 + local.get $10 + if + local.get $8 + local.get $3 + i64.ge_u + if + local.get $8 + local.get $3 + i64.sub + local.set $8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + end + local.get $8 + i64.const 1 + i64.shl + local.set $8 + local.get $9 + i32.const 1 + i32.shl + local.set $9 + local.get $4 + i64.const 1 + i64.sub + local.set $4 + br $while-continue|1 + end + end + local.get $8 + local.get $3 + i64.ge_u + if + local.get $8 + local.get $3 + i64.sub + local.set $8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + end + local.get $8 + i64.const 0 + i64.eq + if + i64.const -60 + local.set $4 + else + local.get $8 + i64.const 11 + i64.shl + i64.clz + local.set $11 + local.get $4 + local.get $11 + i64.sub + local.set $4 + local.get $8 + local.get $11 + i64.shl + local.set $8 + end + br $do-break|0 + end + unreachable + end + local.get $4 + i64.const 0 + i64.gt_s + if + local.get $8 + i64.const 1 + i64.const 52 + i64.shl + i64.sub + local.set $8 + local.get $8 + local.get $4 + i64.const 52 + i64.shl + i64.or + local.set $8 + else + local.get $8 + i64.const 0 + local.get $4 + i64.sub + i64.const 1 + i64.add + i64.shr_u + local.set $8 + end + local.get $8 + f64.reinterpret_i64 + local.set $0 + local.get $1 + f64.abs + local.set $1 + local.get $0 + local.get $0 + f64.add + local.set $12 + local.get $4 + local.get $5 + i64.eq + if (result i32) + i32.const 1 + else + local.get $4 + i64.const 1 + i64.add + local.get $5 + i64.eq + if (result i32) + local.get $12 + local.get $1 + f64.gt + if (result i32) + i32.const 1 + else + local.get $12 + local.get $1 + f64.eq + if (result i32) + local.get $9 + i32.const 1 + i32.and + else + i32.const 0 + end + end + else + i32.const 0 + end + end + if + local.get $0 + local.get $1 + f64.sub + local.set $0 + end + local.get $6 + if (result f64) + local.get $0 + f64.neg + else + local.get $0 + end + ) + (func $std/math/test_rem (; 145 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMath.rem + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $~lib/math/NativeMathf.rem (; 146 ;) (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.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 31 + i32.shr_u + local.set $6 + local.get $2 + local.set $7 + local.get $3 + i32.const 1 + i32.shl + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $4 + i32.const 255 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + local.get $1 + f32.ne + end + if + local.get $0 + local.get $1 + f32.mul + local.get $0 + local.get $1 + f32.mul + f32.div + return + end + local.get $2 + i32.const 1 + i32.shl + i32.const 0 + i32.eq + if + local.get $0 + return + end + local.get $4 + i32.eqz + if + local.get $4 + local.get $7 + i32.const 9 + i32.shl + i32.clz + i32.sub + local.set $4 + local.get $7 + i32.const 0 + local.get $4 + i32.sub + i32.const 1 + i32.add + i32.shl + local.set $7 + else + local.get $7 + i32.const -1 + i32.const 9 + i32.shr_u + i32.and + local.set $7 + local.get $7 + i32.const 1 + i32.const 23 + i32.shl + i32.or + local.set $7 + 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 + i32.const 0 + local.set $8 + block $do-break|0 + loop $do-continue|0 + local.get $4 + local.get $5 + i32.lt_s + if + local.get $4 + i32.const 1 + i32.add + local.get $5 + i32.eq + if + br $do-break|0 + end + local.get $0 + return + end + loop $while-continue|1 + local.get $4 + local.get $5 + i32.gt_s + local.set $9 + local.get $9 + if + local.get $7 + local.get $3 + i32.ge_u + if + local.get $7 + local.get $3 + i32.sub + local.set $7 + local.get $8 + i32.const 1 + i32.add + local.set $8 + end + local.get $7 + i32.const 1 + i32.shl + local.set $7 + local.get $8 + i32.const 1 + i32.shl + local.set $8 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $while-continue|1 + end + end + local.get $7 + local.get $3 + i32.ge_u + if + local.get $7 + local.get $3 + i32.sub + local.set $7 + local.get $8 + i32.const 1 + i32.add + local.set $8 + end + local.get $7 + i32.const 0 + i32.eq + if + i32.const -30 + local.set $4 + else + local.get $7 + i32.const 8 + i32.shl + i32.clz + local.set $9 + local.get $4 + local.get $9 + i32.sub + local.set $4 + local.get $7 + local.get $9 + i32.shl + local.set $7 + end + br $do-break|0 + end + unreachable + end + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $7 + i32.const 1 + i32.const 23 + i32.shl + i32.sub + local.set $7 + local.get $7 + local.get $4 + i32.const 23 + i32.shl + i32.or + local.set $7 + else + local.get $7 + i32.const 0 + local.get $4 + i32.sub + i32.const 1 + i32.add + i32.shr_u + local.set $7 + end + local.get $7 + f32.reinterpret_i32 + local.set $0 + local.get $1 + f32.abs + local.set $1 + local.get $0 + local.get $0 + f32.add + local.set $10 + local.get $4 + local.get $5 + i32.eq + if (result i32) + i32.const 1 + else + local.get $4 + i32.const 1 + i32.add + local.get $5 + i32.eq + if (result i32) + local.get $10 + local.get $1 + f32.gt + if (result i32) + i32.const 1 + else + local.get $10 + local.get $1 + f32.eq + if (result i32) + local.get $8 + i32.const 1 + i32.and + else + i32.const 0 + end + end + else + i32.const 0 + end + end + if + local.get $0 + local.get $1 + f32.sub + local.set $0 + end + local.get $6 + if (result f32) + local.get $0 + f32.neg + else + local.get $0 + end + ) + (func $std/math/test_remf (; 147 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/math/NativeMathf.rem + local.get $2 + local.get $3 + local.get $4 + call $std/math/check + ) + (func $~lib/math/NativeMath.sin (; 148 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 i64) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 f64) + (local $17 i32) + (local $18 f64) + (local $19 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + local.get $2 + i32.const 31 + i32.shr_u + local.set $3 + local.get $2 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1072243195 + i32.le_u + if + local.get $2 + i32.const 1045430272 + i32.lt_u + if + local.get $0 + return + end + block $~lib/math/sin_kern|inlined.1 (result f64) + local.get $0 + local.set $6 + f64.const 0 + local.set $5 + i32.const 0 + local.set $4 + local.get $6 + local.get $6 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $8 + f64.const 0.00833333333332249 + local.get $7 + f64.const -1.984126982985795e-04 + local.get $7 + f64.const 2.7557313707070068e-06 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $8 + f64.mul + f64.const -2.5050760253406863e-08 + local.get $7 + f64.const 1.58969099521155e-10 + f64.mul + f64.add + f64.mul + f64.add + local.set $9 + local.get $7 + local.get $6 + f64.mul + local.set $10 + local.get $4 + i32.eqz + if + local.get $6 + local.get $10 + f64.const -0.16666666666666632 + local.get $7 + local.get $9 + f64.mul + f64.add + f64.mul + f64.add + br $~lib/math/sin_kern|inlined.1 + else + local.get $6 + local.get $7 + f64.const 0.5 + local.get $5 + f64.mul + local.get $10 + local.get $9 + f64.mul + f64.sub + f64.mul + local.get $5 + f64.sub + local.get $10 + f64.const -0.16666666666666632 + f64.mul + f64.sub + f64.sub + br $~lib/math/sin_kern|inlined.1 + end + unreachable + end + return + end + local.get $2 + i32.const 2146435072 + i32.ge_u + if + local.get $0 + local.get $0 + f64.sub + return + end + block $~lib/math/rempio2|inlined.1 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $11 + local.get $3 + local.set $4 + local.get $11 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $12 + local.get $12 + i32.const 1073928572 + i32.lt_u + if + i32.const 1 + local.set $13 + local.get $4 + i32.eqz + if + local.get $5 + f64.const 1.5707963267341256 + f64.sub + local.set $10 + local.get $12 + i32.const 1073291771 + i32.ne + if + local.get $10 + f64.const 6.077100506506192e-11 + f64.sub + local.set $9 + local.get $10 + local.get $9 + f64.sub + f64.const 6.077100506506192e-11 + f64.sub + local.set $8 + else + local.get $10 + f64.const 6.077100506303966e-11 + f64.sub + local.set $10 + local.get $10 + f64.const 2.0222662487959506e-21 + f64.sub + local.set $9 + local.get $10 + local.get $9 + f64.sub + f64.const 2.0222662487959506e-21 + f64.sub + local.set $8 + end + else + local.get $5 + f64.const 1.5707963267341256 + f64.add + local.set $10 + local.get $12 + i32.const 1073291771 + i32.ne + if + local.get $10 + f64.const 6.077100506506192e-11 + f64.add + local.set $9 + local.get $10 + local.get $9 + f64.sub + f64.const 6.077100506506192e-11 + f64.add + local.set $8 + else + local.get $10 + f64.const 6.077100506303966e-11 + f64.add + local.set $10 + local.get $10 + f64.const 2.0222662487959506e-21 + f64.add + local.set $9 + local.get $10 + local.get $9 + f64.sub + f64.const 2.0222662487959506e-21 + f64.add + local.set $8 + end + i32.const -1 + local.set $13 + end + local.get $9 + global.set $~lib/math/rempio2_y0 + local.get $8 + global.set $~lib/math/rempio2_y1 + local.get $13 + br $~lib/math/rempio2|inlined.1 + end + local.get $12 + i32.const 1094263291 + i32.lt_u + if + local.get $5 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $8 + local.get $5 + local.get $8 + f64.const 1.5707963267341256 + f64.mul + f64.sub + local.set $9 + local.get $8 + f64.const 6.077100506506192e-11 + f64.mul + local.set $10 + local.get $12 + i32.const 20 + i32.shr_u + local.set $13 + local.get $9 + local.get $10 + f64.sub + local.set $7 + local.get $7 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $14 + local.get $13 + local.get $14 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $15 + local.get $15 + i32.const 16 + i32.gt_u + if + local.get $9 + local.set $6 + local.get $8 + f64.const 6.077100506303966e-11 + f64.mul + local.set $10 + local.get $6 + local.get $10 + f64.sub + local.set $9 + local.get $8 + f64.const 2.0222662487959506e-21 + f64.mul + local.get $6 + local.get $9 + f64.sub + local.get $10 + f64.sub + f64.sub + local.set $10 + local.get $9 + local.get $10 + f64.sub + local.set $7 + local.get $7 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $14 + local.get $13 + local.get $14 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $15 + local.get $15 + i32.const 49 + i32.gt_u + if + local.get $9 + local.set $16 + local.get $8 + f64.const 2.0222662487111665e-21 + f64.mul + local.set $10 + local.get $16 + local.get $10 + f64.sub + local.set $9 + local.get $8 + f64.const 8.4784276603689e-32 + f64.mul + local.get $16 + local.get $9 + f64.sub + local.get $10 + f64.sub + f64.sub + local.set $10 + local.get $9 + local.get $10 + f64.sub + local.set $7 + end + end + local.get $9 + local.get $7 + f64.sub + local.get $10 + f64.sub + local.set $6 + local.get $7 + global.set $~lib/math/rempio2_y0 + local.get $6 + global.set $~lib/math/rempio2_y1 + local.get $8 + i32.trunc_f64_s + br $~lib/math/rempio2|inlined.1 + end + local.get $5 + local.get $11 + call $~lib/math/pio2_large_quot + local.set $15 + i32.const 0 + local.get $15 + i32.sub + local.get $15 + local.get $4 + select + end + local.set $17 + global.get $~lib/math/rempio2_y0 + local.set $18 + global.get $~lib/math/rempio2_y1 + local.set $19 + local.get $17 + i32.const 1 + i32.and + if (result f64) + local.get $18 + local.set $8 + local.get $19 + local.set $16 + local.get $8 + local.get $8 + f64.mul + local.set $5 + local.get $5 + local.get $5 + f64.mul + local.set $6 + local.get $5 + f64.const 0.0416666666666666 + local.get $5 + f64.const -0.001388888888887411 + local.get $5 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $6 + local.get $6 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $5 + f64.const 2.087572321298175e-09 + local.get $5 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $7 + f64.const 0.5 + local.get $5 + f64.mul + local.set $10 + f64.const 1 + local.get $10 + f64.sub + local.set $6 + local.get $6 + f64.const 1 + local.get $6 + f64.sub + local.get $10 + f64.sub + local.get $5 + local.get $7 + f64.mul + local.get $8 + local.get $16 + f64.mul + f64.sub + f64.add + f64.add + else + block $~lib/math/sin_kern|inlined.2 (result f64) + local.get $18 + local.set $16 + local.get $19 + local.set $9 + i32.const 1 + local.set $13 + local.get $16 + local.get $16 + f64.mul + local.set $10 + local.get $10 + local.get $10 + f64.mul + local.set $7 + f64.const 0.00833333333332249 + local.get $10 + f64.const -1.984126982985795e-04 + local.get $10 + f64.const 2.7557313707070068e-06 + f64.mul + f64.add + f64.mul + f64.add + local.get $10 + local.get $7 + f64.mul + f64.const -2.5050760253406863e-08 + local.get $10 + f64.const 1.58969099521155e-10 + f64.mul + f64.add + f64.mul + f64.add + local.set $6 + local.get $10 + local.get $16 + f64.mul + local.set $5 + local.get $13 + i32.eqz + if + local.get $16 + local.get $5 + f64.const -0.16666666666666632 + local.get $10 + local.get $6 + f64.mul + f64.add + f64.mul + f64.add + br $~lib/math/sin_kern|inlined.2 + else + local.get $16 + local.get $10 + f64.const 0.5 + local.get $9 + f64.mul + local.get $5 + local.get $6 + f64.mul + f64.sub + f64.mul + local.get $9 + f64.sub + local.get $5 + f64.const -0.16666666666666632 + f64.mul + f64.sub + f64.sub + br $~lib/math/sin_kern|inlined.2 + end + unreachable + end + end + local.set $0 + local.get $17 + i32.const 2 + i32.and + if (result f64) + local.get $0 + f64.neg + else + local.get $0 + end + ) + (func $std/math/test_sin (; 149 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.sin + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/sin + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.sin (; 150 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 i32) + (local $9 i32) + (local $10 f32) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i32) + (local $24 i32) + (local $25 f64) + (local $26 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 31 + i32.shr_u + local.set $2 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + i32.const 1061752794 + i32.le_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + local.get $0 + return + end + local.get $0 + f64.promote_f32 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $4 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $6 + local.get $4 + local.get $3 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.const -0.16666666641626524 + local.get $4 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $5 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + end + local.get $1 + i32.const 1081824209 + i32.le_u + if + local.get $1 + i32.const 1075235811 + i32.le_u + if + local.get $2 + if (result f32) + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -0.001388676377460993 + local.get $7 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $5 + f32.const 1 + f64.promote_f32 + local.get $7 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $6 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $6 + local.get $7 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + f32.neg + else + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.sub + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + local.get $5 + local.get $5 + f64.mul + local.set $6 + f64.const -0.001388676377460993 + local.get $5 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $7 + f32.const 1 + f64.promote_f32 + local.get $5 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $6 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $6 + local.get $5 + f64.mul + local.get $7 + f64.mul + f64.add + f32.demote_f64 + end + return + end + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.sub + end + f64.neg + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -1.9839334836096632e-04 + local.get $7 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $5 + local.get $7 + local.get $3 + f64.mul + local.set $4 + local.get $3 + local.get $4 + f64.const -0.16666666641626524 + local.get $7 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $4 + local.get $6 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + return + end + local.get $1 + i32.const 1088565717 + i32.le_u + if + local.get $1 + i32.const 1085271519 + i32.le_u + if + local.get $2 + if (result f32) + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.add + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $4 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $6 + f32.const 1 + f64.promote_f32 + local.get $4 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $4 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + else + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $6 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $4 + f32.const 1 + f64.promote_f32 + local.get $6 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $6 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + f32.neg + end + return + end + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub + end + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $4 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $6 + local.get $4 + local.get $3 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.const -0.16666666641626524 + local.get $4 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $5 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + end + local.get $1 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + local.get $0 + f32.sub + return + end + block $~lib/math/rempio2f|inlined.1 (result i32) + local.get $0 + local.set $10 + local.get $1 + local.set $9 + local.get $2 + local.set $8 + local.get $9 + i32.const 1305022427 + i32.lt_u + if + local.get $10 + f64.promote_f32 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $7 + local.get $10 + f64.promote_f32 + local.get $7 + f64.const 1.5707963109016418 + f64.mul + f64.sub + local.get $7 + f64.const 1.5893254773528196e-08 + f64.mul + f64.sub + global.set $~lib/math/rempio2f_y + local.get $7 + i32.trunc_f64_s + br $~lib/math/rempio2f|inlined.1 + end + local.get $10 + local.set $12 + local.get $9 + local.set $11 + local.get $11 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $13 + local.get $13 + i32.const 63 + i32.and + i64.extend_i32_s + local.set $14 + i32.const 4688 + local.get $13 + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $15 + local.get $15 + i64.load + local.set $16 + local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 + i64.const 32 + i64.gt_u + if + local.get $15 + i64.load offset=16 + local.set $19 + local.get $19 + i64.const 96 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + local.get $18 + local.get $17 + local.get $14 + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $18 + else + local.get $17 + i64.const 32 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + end + local.get $17 + i64.const 64 + local.get $14 + i64.sub + i64.shr_u + local.get $16 + local.get $14 + i64.shl + i64.or + local.set $19 + local.get $11 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $20 + local.get $20 + local.get $19 + i64.mul + local.get $20 + local.get $18 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $21 + local.get $21 + i64.const 2 + i64.shl + local.set $22 + local.get $21 + i64.const 62 + i64.shr_u + local.get $22 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $23 + f64.const 8.515303950216386e-20 + local.get $12 + f64.promote_f32 + f64.copysign + local.get $22 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $23 + local.set $23 + i32.const 0 + local.get $23 + i32.sub + local.get $23 + local.get $8 + select + end + local.set $24 + global.get $~lib/math/rempio2f_y + local.set $25 + local.get $24 + i32.const 1 + i32.and + if (result f32) + local.get $25 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -0.001388676377460993 + local.get $7 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $5 + f32.const 1 + f64.promote_f32 + local.get $7 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $6 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $6 + local.get $7 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + else + local.get $25 + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + local.get $5 + local.get $5 + f64.mul + local.set $6 + f64.const -1.9839334836096632e-04 + local.get $5 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $7 + local.get $5 + local.get $4 + f64.mul + local.set $3 + local.get $4 + local.get $3 + f64.const -0.16666666641626524 + local.get $5 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $3 + local.get $6 + f64.mul + local.get $7 + f64.mul + f64.add + f32.demote_f64 + end + local.set $26 + local.get $24 + i32.const 2 + i32.and + if (result f32) + local.get $26 + f32.neg + else + local.get $26 + end + ) + (func $std/math/test_sinf (; 151 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.sin + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.sinh (; 152 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 f64) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + local.get $0 + i64.reinterpret_f64 + i64.const 9223372036854775807 + i64.and + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $2 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $3 + f64.const 0.5 + local.get $0 + f64.copysign + local.set $5 + local.get $3 + i32.const 1082535490 + i32.lt_u + if + local.get $2 + call $~lib/math/NativeMath.expm1 + local.set $4 + local.get $3 + i32.const 1072693248 + i32.lt_u + if + local.get $3 + i32.const 1045430272 + i32.lt_u + if + local.get $0 + return + end + local.get $5 + f64.const 2 + local.get $4 + f64.mul + local.get $4 + local.get $4 + f64.mul + local.get $4 + f64.const 1 + f64.add + f64.div + f64.sub + f64.mul + return + end + local.get $5 + local.get $4 + local.get $4 + local.get $4 + f64.const 1 + f64.add + f64.div + f64.add + f64.mul + return + end + f64.const 2 + local.get $5 + f64.mul + local.get $2 + local.set $6 + i32.const 1023 + i32.const 2043 + i32.const 2 + i32.div_u + i32.add + i32.const 20 + i32.shl + i64.extend_i32_u + i64.const 32 + i64.shl + f64.reinterpret_i64 + local.set $7 + local.get $6 + f64.const 1416.0996898839683 + f64.sub + call $~lib/math/NativeMath.exp + local.get $7 + f64.mul + local.get $7 + f64.mul + f64.mul + local.set $4 + local.get $4 + ) + (func $std/math/test_sinh (; 153 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.sinh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/sinh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.sinh (; 154 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 f32) + (local $3 f32) + (local $4 f32) + (local $5 f32) + (local $6 f32) + local.get $0 + i32.reinterpret_f32 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $2 + f32.const 0.5 + local.get $0 + f32.copysign + local.set $4 + local.get $1 + i32.const 1118925335 + i32.lt_u + if + local.get $2 + call $~lib/math/NativeMathf.expm1 + local.set $3 + local.get $1 + i32.const 1065353216 + i32.lt_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + local.get $0 + return + end + local.get $4 + f32.const 2 + local.get $3 + f32.mul + local.get $3 + local.get $3 + f32.mul + local.get $3 + f32.const 1 + f32.add + f32.div + f32.sub + f32.mul + return + end + local.get $4 + local.get $3 + local.get $3 + local.get $3 + f32.const 1 + f32.add + f32.div + f32.add + f32.mul + return + end + f32.const 2 + local.get $4 + f32.mul + local.get $2 + local.set $5 + i32.const 127 + i32.const 235 + i32.const 1 + i32.shr_u + i32.add + i32.const 23 + i32.shl + f32.reinterpret_i32 + local.set $6 + local.get $5 + f32.const 162.88958740234375 + f32.sub + call $~lib/math/NativeMathf.exp + local.get $6 + f32.mul + local.get $6 + f32.mul + f32.mul + local.set $3 + local.get $3 + ) + (func $std/math/test_sinhf (; 155 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.sinh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_sqrt (; 156 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + local.get $0 + local.set $4 + local.get $4 + f64.sqrt + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/sqrt + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_sqrtf (; 157 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + local.get $0 + local.set $4 + local.get $4 + f32.sqrt + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/tan_kern (; 158 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) + (local $3 f64) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) + (local $12 f64) + local.get $0 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $8 + local.get $8 + i32.const 2147483647 + i32.and + local.set $9 + local.get $9 + i32.const 1072010280 + i32.ge_s + local.set $10 + local.get $10 + if + local.get $8 + i32.const 0 + i32.lt_s + if + local.get $0 + f64.neg + local.set $0 + local.get $1 + f64.neg + local.set $1 + end + f64.const 0.7853981633974483 + local.get $0 + f64.sub + local.set $3 + f64.const 3.061616997868383e-17 + local.get $1 + f64.sub + local.set $6 + local.get $3 + local.get $6 + f64.add + local.set $0 + f64.const 0 + local.set $1 + end + local.get $0 + local.get $0 + f64.mul + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $6 + f64.const 0.13333333333320124 + local.get $6 + f64.const 0.021869488294859542 + local.get $6 + f64.const 3.5920791075913124e-03 + local.get $6 + f64.const 5.880412408202641e-04 + local.get $6 + f64.const 7.817944429395571e-05 + local.get $6 + f64.const -1.8558637485527546e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $4 + local.get $3 + f64.const 0.05396825397622605 + local.get $6 + f64.const 0.0088632398235993 + local.get $6 + f64.const 1.4562094543252903e-03 + local.get $6 + f64.const 2.464631348184699e-04 + local.get $6 + f64.const 7.140724913826082e-05 + local.get $6 + f64.const 2.590730518636337e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $5 + local.get $3 + local.get $0 + f64.mul + local.set $7 + local.get $1 + local.get $3 + local.get $7 + local.get $4 + local.get $5 + f64.add + f64.mul + local.get $1 + f64.add + f64.mul + f64.add + local.set $4 + local.get $4 + f64.const 0.3333333333333341 + local.get $7 + f64.mul + f64.add + local.set $4 + local.get $0 + local.get $4 + f64.add + local.set $6 + local.get $10 + if + local.get $2 + f64.convert_i32_s + local.set $5 + f64.const 1 + local.get $8 + i32.const 30 + i32.shr_s + i32.const 2 + i32.and + f64.convert_i32_s + f64.sub + local.get $5 + f64.const 2 + local.get $0 + local.get $6 + local.get $6 + f64.mul + local.get $6 + local.get $5 + f64.add + f64.div + local.get $4 + f64.sub + f64.sub + f64.mul + f64.sub + f64.mul + return + end + local.get $2 + i32.const 1 + i32.eq + if + local.get $6 + return + end + local.get $6 + local.set $3 + local.get $3 + i64.reinterpret_f64 + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $3 + local.get $4 + local.get $3 + local.get $0 + f64.sub + f64.sub + local.set $5 + f64.const 1 + f64.neg + local.get $6 + f64.div + local.tee $11 + local.set $12 + local.get $12 + i64.reinterpret_f64 + i64.const -4294967296 + i64.and + f64.reinterpret_i64 + local.set $12 + f64.const 1 + local.get $12 + local.get $3 + f64.mul + f64.add + local.set $7 + local.get $12 + local.get $11 + local.get $7 + local.get $12 + local.get $5 + f64.mul + f64.add + f64.mul + f64.add + ) + (func $~lib/math/NativeMath.tan (; 159 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 f64) + (local $7 i32) + (local $8 i32) + (local $9 f64) + (local $10 f64) + (local $11 f64) + (local $12 f64) + (local $13 i32) + (local $14 i32) + (local $15 f64) + (local $16 f64) + (local $17 i32) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + local.get $2 + i32.const 31 + i32.shr_u + local.set $3 + local.get $2 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1072243195 + i32.le_s + if + local.get $2 + i32.const 1044381696 + i32.lt_s + if + local.get $0 + return + end + local.get $0 + f64.const 0 + i32.const 1 + call $~lib/math/tan_kern + return + end + local.get $2 + i32.const 2146435072 + i32.ge_s + if + local.get $0 + local.get $0 + f64.sub + return + end + block $~lib/math/rempio2|inlined.2 (result i32) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + local.get $3 + local.set $4 + local.get $5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $7 + local.get $7 + i32.const 1073928572 + i32.lt_u + if + i32.const 1 + local.set $8 + local.get $4 + i32.eqz + if + local.get $6 + f64.const 1.5707963267341256 + f64.sub + local.set $9 + local.get $7 + i32.const 1073291771 + i32.ne + if + local.get $9 + f64.const 6.077100506506192e-11 + f64.sub + local.set $10 + local.get $9 + local.get $10 + f64.sub + f64.const 6.077100506506192e-11 + f64.sub + local.set $11 + else + local.get $9 + f64.const 6.077100506303966e-11 + f64.sub + local.set $9 + local.get $9 + f64.const 2.0222662487959506e-21 + f64.sub + local.set $10 + local.get $9 + local.get $10 + f64.sub + f64.const 2.0222662487959506e-21 + f64.sub + local.set $11 + end + else + local.get $6 + f64.const 1.5707963267341256 + f64.add + local.set $9 + local.get $7 + i32.const 1073291771 + i32.ne + if + local.get $9 + f64.const 6.077100506506192e-11 + f64.add + local.set $10 + local.get $9 + local.get $10 + f64.sub + f64.const 6.077100506506192e-11 + f64.add + local.set $11 + else + local.get $9 + f64.const 6.077100506303966e-11 + f64.add + local.set $9 + local.get $9 + f64.const 2.0222662487959506e-21 + f64.add + local.set $10 + local.get $9 + local.get $10 + f64.sub + f64.const 2.0222662487959506e-21 + f64.add + local.set $11 + end + i32.const -1 + local.set $8 + end + local.get $10 + global.set $~lib/math/rempio2_y0 + local.get $11 + global.set $~lib/math/rempio2_y1 + local.get $8 + br $~lib/math/rempio2|inlined.2 + end + local.get $7 + i32.const 1094263291 + i32.lt_u + if + local.get $6 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $11 + local.get $6 + local.get $11 + f64.const 1.5707963267341256 + f64.mul + f64.sub + local.set $10 + local.get $11 + f64.const 6.077100506506192e-11 + f64.mul + local.set $9 + local.get $7 + i32.const 20 + i32.shr_u + local.set $8 + local.get $10 + local.get $9 + f64.sub + local.set $12 + local.get $12 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $13 + local.get $8 + local.get $13 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $14 + local.get $14 + i32.const 16 + i32.gt_u + if + local.get $10 + local.set $15 + local.get $11 + f64.const 6.077100506303966e-11 + f64.mul + local.set $9 + local.get $15 + local.get $9 + f64.sub + local.set $10 + local.get $11 + f64.const 2.0222662487959506e-21 + f64.mul + local.get $15 + local.get $10 + f64.sub + local.get $9 + f64.sub + f64.sub + local.set $9 + local.get $10 + local.get $9 + f64.sub + local.set $12 + local.get $12 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $13 + local.get $8 + local.get $13 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $14 + local.get $14 + i32.const 49 + i32.gt_u + if + local.get $10 + local.set $16 + local.get $11 + f64.const 2.0222662487111665e-21 + f64.mul + local.set $9 + local.get $16 + local.get $9 + f64.sub + local.set $10 + local.get $11 + f64.const 8.4784276603689e-32 + f64.mul + local.get $16 + local.get $10 + f64.sub + local.get $9 + f64.sub + f64.sub + local.set $9 + local.get $10 + local.get $9 + f64.sub + local.set $12 + end + end + local.get $10 + local.get $12 + f64.sub + local.get $9 + f64.sub + local.set $15 + local.get $12 + global.set $~lib/math/rempio2_y0 + local.get $15 + global.set $~lib/math/rempio2_y1 + local.get $11 + i32.trunc_f64_s + br $~lib/math/rempio2|inlined.2 + end + local.get $6 + local.get $5 + call $~lib/math/pio2_large_quot + local.set $14 + i32.const 0 + local.get $14 + i32.sub + local.get $14 + local.get $4 + select + end + local.set $17 + global.get $~lib/math/rempio2_y0 + global.get $~lib/math/rempio2_y1 + i32.const 1 + local.get $17 + i32.const 1 + i32.and + i32.const 1 + i32.shl + i32.sub + call $~lib/math/tan_kern + ) + (func $std/math/test_tan (; 160 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.tan + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/tan + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.tan (; 161 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 f32) + (local $15 i32) + (local $16 i64) + (local $17 i32) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i64) + (local $24 i64) + (local $25 i32) + (local $26 i32) + (local $27 f64) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 31 + i32.shr_u + local.set $2 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + i32.const 1061752794 + i32.le_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + local.get $0 + return + end + local.get $0 + f64.promote_f32 + local.set $4 + i32.const 0 + local.set $3 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const 0.002974357433599673 + local.get $5 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $6 + f64.const 0.05338123784456704 + local.get $5 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $7 + local.get $5 + local.get $5 + f64.mul + local.set $8 + local.get $5 + local.get $4 + f64.mul + local.set $9 + f64.const 0.3333313950307914 + local.get $5 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $10 + local.get $4 + local.get $9 + local.get $10 + f64.mul + f64.add + local.get $9 + local.get $8 + f64.mul + local.get $7 + local.get $8 + local.get $6 + f64.mul + f64.add + f64.mul + f64.add + local.set $6 + local.get $3 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $6 + f64.div + else + local.get $6 + end + f32.demote_f64 + return + end + local.get $1 + i32.const 1081824209 + i32.le_u + if + local.get $1 + i32.const 1075235811 + i32.le_u + if + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.sub + end + local.set $4 + i32.const 1 + local.set $3 + local.get $4 + local.get $4 + f64.mul + local.set $10 + f64.const 0.002974357433599673 + local.get $10 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $9 + f64.const 0.05338123784456704 + local.get $10 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $8 + local.get $10 + local.get $10 + f64.mul + local.set $7 + local.get $10 + local.get $4 + f64.mul + local.set $6 + f64.const 0.3333313950307914 + local.get $10 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $5 + local.get $4 + local.get $6 + local.get $5 + f64.mul + f64.add + local.get $6 + local.get $7 + f64.mul + local.get $8 + local.get $7 + local.get $9 + f64.mul + f64.add + f64.mul + f64.add + local.set $9 + local.get $3 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $9 + f64.div + else + local.get $9 + end + f32.demote_f64 + return + else + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.sub + end + local.set $4 + i32.const 0 + local.set $3 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const 0.002974357433599673 + local.get $5 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $6 + f64.const 0.05338123784456704 + local.get $5 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $7 + local.get $5 + local.get $5 + f64.mul + local.set $8 + local.get $5 + local.get $4 + f64.mul + local.set $9 + f64.const 0.3333313950307914 + local.get $5 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $10 + local.get $4 + local.get $9 + local.get $10 + f64.mul + f64.add + local.get $9 + local.get $8 + f64.mul + local.get $7 + local.get $8 + local.get $6 + f64.mul + f64.add + f64.mul + f64.add + local.set $6 + local.get $3 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $6 + f64.div + else + local.get $6 + end + f32.demote_f64 + return + end + unreachable + end + local.get $1 + i32.const 1088565717 + i32.le_u + if + local.get $1 + i32.const 1085271519 + i32.le_u + if + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + end + local.set $4 + i32.const 1 + local.set $3 + local.get $4 + local.get $4 + f64.mul + local.set $10 + f64.const 0.002974357433599673 + local.get $10 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $9 + f64.const 0.05338123784456704 + local.get $10 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $8 + local.get $10 + local.get $10 + f64.mul + local.set $7 + local.get $10 + local.get $4 + f64.mul + local.set $6 + f64.const 0.3333313950307914 + local.get $10 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $5 + local.get $4 + local.get $6 + local.get $5 + f64.mul + f64.add + local.get $6 + local.get $7 + f64.mul + local.get $8 + local.get $7 + local.get $9 + f64.mul + f64.add + f64.mul + f64.add + local.set $9 + local.get $3 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $9 + f64.div + else + local.get $9 + end + f32.demote_f64 + return + else + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub + end + local.set $4 + i32.const 0 + local.set $3 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const 0.002974357433599673 + local.get $5 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $6 + f64.const 0.05338123784456704 + local.get $5 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $7 + local.get $5 + local.get $5 + f64.mul + local.set $8 + local.get $5 + local.get $4 + f64.mul + local.set $9 + f64.const 0.3333313950307914 + local.get $5 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $10 + local.get $4 + local.get $9 + local.get $10 + f64.mul + f64.add + local.get $9 + local.get $8 + f64.mul + local.get $7 + local.get $8 + local.get $6 + f64.mul + f64.add + f64.mul + f64.add + local.set $6 + local.get $3 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $6 + f64.div + else + local.get $6 + end + f32.demote_f64 + return + end + unreachable + end + local.get $1 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + local.get $0 + f32.sub + return + end + block $~lib/math/rempio2f|inlined.2 (result i32) + local.get $0 + local.set $12 + local.get $1 + local.set $11 + local.get $2 + local.set $3 + local.get $11 + i32.const 1305022427 + i32.lt_u + if + local.get $12 + f64.promote_f32 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $10 + local.get $12 + f64.promote_f32 + local.get $10 + f64.const 1.5707963109016418 + f64.mul + f64.sub + local.get $10 + f64.const 1.5893254773528196e-08 + f64.mul + f64.sub + global.set $~lib/math/rempio2f_y + local.get $10 + i32.trunc_f64_s + br $~lib/math/rempio2f|inlined.2 + end + local.get $12 + local.set $14 + local.get $11 + local.set $13 + local.get $13 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $15 + local.get $15 + i32.const 63 + i32.and + i64.extend_i32_s + local.set $16 + i32.const 4688 + local.get $15 + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $17 + local.get $17 + i64.load + local.set $18 + local.get $17 + i64.load offset=8 + local.set $19 + local.get $16 + i64.const 32 + i64.gt_u + if + local.get $17 + i64.load offset=16 + local.set $21 + local.get $21 + i64.const 96 + local.get $16 + i64.sub + i64.shr_u + local.set $20 + local.get $20 + local.get $19 + local.get $16 + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $20 + else + local.get $19 + i64.const 32 + local.get $16 + i64.sub + i64.shr_u + local.set $20 + end + local.get $19 + i64.const 64 + local.get $16 + i64.sub + i64.shr_u + local.get $18 + local.get $16 + i64.shl + i64.or + local.set $21 + local.get $13 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $22 + local.get $22 + local.get $21 + i64.mul + local.get $22 + local.get $20 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $23 + local.get $23 + i64.const 2 + i64.shl + local.set $24 + local.get $23 + i64.const 62 + i64.shr_u + local.get $24 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $25 + f64.const 8.515303950216386e-20 + local.get $14 + f64.promote_f32 + f64.copysign + local.get $24 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $25 + local.set $25 + i32.const 0 + local.get $25 + i32.sub + local.get $25 + local.get $3 + select + end + local.set $26 + global.get $~lib/math/rempio2f_y + local.set $27 + local.get $27 + local.set $4 + local.get $26 + i32.const 1 + i32.and + local.set $13 + local.get $4 + local.get $4 + f64.mul + local.set $10 + f64.const 0.002974357433599673 + local.get $10 + f64.const 0.009465647849436732 + f64.mul + f64.add + local.set $9 + f64.const 0.05338123784456704 + local.get $10 + f64.const 0.024528318116654728 + f64.mul + f64.add + local.set $8 + local.get $10 + local.get $10 + f64.mul + local.set $7 + local.get $10 + local.get $4 + f64.mul + local.set $6 + f64.const 0.3333313950307914 + local.get $10 + f64.const 0.13339200271297674 + f64.mul + f64.add + local.set $5 + local.get $4 + local.get $6 + local.get $5 + f64.mul + f64.add + local.get $6 + local.get $7 + f64.mul + local.get $8 + local.get $7 + local.get $9 + f64.mul + f64.add + f64.mul + f64.add + local.set $9 + local.get $13 + if (result f64) + f32.const -1 + f64.promote_f32 + local.get $9 + f64.div + else + local.get $9 + end + f32.demote_f64 + ) + (func $std/math/test_tanf (; 162 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.tan + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.tanh (; 163 ;) (param $0 f64) (result f64) + (local $1 i64) + (local $2 f64) + (local $3 i32) + (local $4 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 9223372036854775807 + i64.and + local.set $1 + local.get $1 + f64.reinterpret_i64 + local.set $2 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $3 + local.get $3 + i32.const 1071748074 + i32.gt_u + if + local.get $3 + i32.const 1077149696 + i32.gt_u + if + f64.const 1 + f64.const 0 + local.get $2 + f64.div + f64.sub + local.set $4 + else + f64.const 2 + local.get $2 + f64.mul + call $~lib/math/NativeMath.expm1 + local.set $4 + f64.const 1 + f64.const 2 + local.get $4 + f64.const 2 + f64.add + f64.div + f64.sub + local.set $4 + end + else + local.get $3 + i32.const 1070618798 + i32.gt_u + if + f64.const 2 + local.get $2 + f64.mul + call $~lib/math/NativeMath.expm1 + local.set $4 + local.get $4 + local.get $4 + f64.const 2 + f64.add + f64.div + local.set $4 + else + local.get $3 + i32.const 1048576 + i32.ge_u + if + f64.const -2 + local.get $2 + f64.mul + call $~lib/math/NativeMath.expm1 + local.set $4 + local.get $4 + f64.neg + local.get $4 + f64.const 2 + f64.add + f64.div + local.set $4 + else + local.get $2 + local.set $4 + end + end + end + local.get $4 + local.get $0 + f64.copysign + ) + (func $std/math/test_tanh (; 164 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMath.tanh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/tanh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $~lib/math/NativeMathf.tanh (; 165 ;) (param $0 f32) (result f32) + (local $1 i32) + (local $2 f32) + (local $3 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + f32.reinterpret_i32 + local.set $2 + local.get $1 + i32.const 1057791828 + i32.gt_u + if + local.get $1 + i32.const 1092616192 + i32.gt_u + if + f32.const 1 + f32.const 0 + local.get $2 + f32.div + f32.add + local.set $3 + else + f32.const 2 + local.get $2 + f32.mul + call $~lib/math/NativeMathf.expm1 + local.set $3 + f32.const 1 + f32.const 2 + local.get $3 + f32.const 2 + f32.add + f32.div + f32.sub + local.set $3 + end + else + local.get $1 + i32.const 1048757624 + i32.gt_u + if + f32.const 2 + local.get $2 + f32.mul + call $~lib/math/NativeMathf.expm1 + local.set $3 + local.get $3 + local.get $3 + f32.const 2 + f32.add + f32.div + local.set $3 + else + local.get $1 + i32.const 8388608 + i32.ge_u + if + f32.const -2 + local.get $2 + f32.mul + call $~lib/math/NativeMathf.expm1 + local.set $3 + local.get $3 + f32.neg + local.get $3 + f32.const 2 + f32.add + f32.div + local.set $3 + else + local.get $2 + local.set $3 + end + end + end + local.get $3 + local.get $0 + f32.copysign + ) + (func $std/math/test_tanhf (; 166 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + local.get $0 + call $~lib/math/NativeMathf.tanh + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $std/math/test_trunc (; 167 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + local.get $0 + local.set $4 + local.get $4 + f64.trunc + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + if (result i32) + global.get $std/math/js + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/bindings/Math/trunc + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + end + else + i32.const 0 + end + ) + (func $std/math/test_truncf (; 168 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (local $4 f32) + local.get $0 + local.set $4 + local.get $4 + f32.trunc + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + ) + (func $~lib/math/NativeMath.sincos (; 169 ;) (param $0 f64) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + (local $11 i64) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 f64) + (local $17 i32) + (local $18 f64) + (local $19 f64) + (local $20 f64) + (local $21 f64) + (local $22 f64) + (local $23 f64) + local.get $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $2 + local.get $2 + i32.const 31 + i32.shr_u + local.set $3 + local.get $2 + i32.const 2147483647 + i32.and + local.set $2 + local.get $2 + i32.const 1072243195 + i32.le_u + if + local.get $2 + i32.const 1044816030 + i32.lt_u + if + local.get $0 + global.set $~lib/math/NativeMath.sincos_sin + f64.const 1 + global.set $~lib/math/NativeMath.sincos_cos + return + end + block $~lib/math/sin_kern|inlined.3 (result f64) + local.get $0 + local.set $6 + f64.const 0 + local.set $5 + i32.const 0 + local.set $4 + local.get $6 + local.get $6 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $8 + f64.const 0.00833333333332249 + local.get $7 + f64.const -1.984126982985795e-04 + local.get $7 + f64.const 2.7557313707070068e-06 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $8 + f64.mul + f64.const -2.5050760253406863e-08 + local.get $7 + f64.const 1.58969099521155e-10 + f64.mul + f64.add + f64.mul + f64.add + local.set $9 + local.get $7 + local.get $6 + f64.mul + local.set $10 + local.get $4 + i32.eqz + if + local.get $6 + local.get $10 + f64.const -0.16666666666666632 + local.get $7 + local.get $9 + f64.mul + f64.add + f64.mul + f64.add + br $~lib/math/sin_kern|inlined.3 + else + local.get $6 + local.get $7 + f64.const 0.5 + local.get $5 + f64.mul + local.get $10 + local.get $9 + f64.mul + f64.sub + f64.mul + local.get $5 + f64.sub + local.get $10 + f64.const -0.16666666666666632 + f64.mul + f64.sub + f64.sub + br $~lib/math/sin_kern|inlined.3 + end + unreachable + end + global.set $~lib/math/NativeMath.sincos_sin + local.get $0 + local.set $6 + f64.const 0 + local.set $5 + local.get $6 + local.get $6 + f64.mul + local.set $10 + local.get $10 + local.get $10 + f64.mul + local.set $9 + local.get $10 + f64.const 0.0416666666666666 + local.get $10 + f64.const -0.001388888888887411 + local.get $10 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $9 + local.get $9 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $10 + f64.const 2.087572321298175e-09 + local.get $10 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $8 + f64.const 0.5 + local.get $10 + f64.mul + local.set $7 + f64.const 1 + local.get $7 + f64.sub + local.set $9 + local.get $9 + f64.const 1 + local.get $9 + f64.sub + local.get $7 + f64.sub + local.get $10 + local.get $8 + f64.mul + local.get $6 + local.get $5 + f64.mul + f64.sub + f64.add + f64.add + global.set $~lib/math/NativeMath.sincos_cos + return + end + local.get $2 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + local.get $0 + f64.sub + local.set $7 + local.get $7 + global.set $~lib/math/NativeMath.sincos_sin + local.get $7 + global.set $~lib/math/NativeMath.sincos_cos + return + end + block $~lib/math/rempio2|inlined.3 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $11 + local.get $3 + local.set $4 + local.get $11 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $12 + local.get $12 + i32.const 1073928572 + i32.lt_u + if + i32.const 1 + local.set $13 + local.get $4 + i32.eqz + if + local.get $5 + f64.const 1.5707963267341256 + f64.sub + local.set $7 + local.get $12 + i32.const 1073291771 + i32.ne + if + local.get $7 + f64.const 6.077100506506192e-11 + f64.sub + local.set $8 + local.get $7 + local.get $8 + f64.sub + f64.const 6.077100506506192e-11 + f64.sub + local.set $9 + else + local.get $7 + f64.const 6.077100506303966e-11 + f64.sub + local.set $7 + local.get $7 + f64.const 2.0222662487959506e-21 + f64.sub + local.set $8 + local.get $7 + local.get $8 + f64.sub + f64.const 2.0222662487959506e-21 + f64.sub + local.set $9 + end + else + local.get $5 + f64.const 1.5707963267341256 + f64.add + local.set $7 + local.get $12 + i32.const 1073291771 + i32.ne + if + local.get $7 + f64.const 6.077100506506192e-11 + f64.add + local.set $8 + local.get $7 + local.get $8 + f64.sub + f64.const 6.077100506506192e-11 + f64.add + local.set $9 + else + local.get $7 + f64.const 6.077100506303966e-11 + f64.add + local.set $7 + local.get $7 + f64.const 2.0222662487959506e-21 + f64.add + local.set $8 + local.get $7 + local.get $8 + f64.sub + f64.const 2.0222662487959506e-21 + f64.add + local.set $9 + end + i32.const -1 + local.set $13 + end + local.get $8 + global.set $~lib/math/rempio2_y0 + local.get $9 + global.set $~lib/math/rempio2_y1 + local.get $13 + br $~lib/math/rempio2|inlined.3 + end + local.get $12 + i32.const 1094263291 + i32.lt_u + if + local.get $5 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $9 + local.get $5 + local.get $9 + f64.const 1.5707963267341256 + f64.mul + f64.sub + local.set $8 + local.get $9 + f64.const 6.077100506506192e-11 + f64.mul + local.set $7 + local.get $12 + i32.const 20 + i32.shr_u + local.set $13 + local.get $8 + local.get $7 + f64.sub + local.set $10 + local.get $10 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $14 + local.get $13 + local.get $14 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $15 + local.get $15 + i32.const 16 + i32.gt_u + if + local.get $8 + local.set $6 + local.get $9 + f64.const 6.077100506303966e-11 + f64.mul + local.set $7 + local.get $6 + local.get $7 + f64.sub + local.set $8 + local.get $9 + f64.const 2.0222662487959506e-21 + f64.mul + local.get $6 + local.get $8 + f64.sub + local.get $7 + f64.sub + f64.sub + local.set $7 + local.get $8 + local.get $7 + f64.sub + local.set $10 + local.get $10 + i64.reinterpret_f64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $14 + local.get $13 + local.get $14 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + i32.sub + local.set $15 + local.get $15 + i32.const 49 + i32.gt_u + if + local.get $8 + local.set $16 + local.get $9 + f64.const 2.0222662487111665e-21 + f64.mul + local.set $7 + local.get $16 + local.get $7 + f64.sub + local.set $8 + local.get $9 + f64.const 8.4784276603689e-32 + f64.mul + local.get $16 + local.get $8 + f64.sub + local.get $7 + f64.sub + f64.sub + local.set $7 + local.get $8 + local.get $7 + f64.sub + local.set $10 + end + end + local.get $8 + local.get $10 + f64.sub + local.get $7 + f64.sub + local.set $6 + local.get $10 + global.set $~lib/math/rempio2_y0 + local.get $6 + global.set $~lib/math/rempio2_y1 + local.get $9 + i32.trunc_f64_s + br $~lib/math/rempio2|inlined.3 + end + local.get $5 + local.get $11 + call $~lib/math/pio2_large_quot + local.set $15 + i32.const 0 + local.get $15 + i32.sub + local.get $15 + local.get $4 + select + end + local.set $17 + global.get $~lib/math/rempio2_y0 + local.set $18 + global.get $~lib/math/rempio2_y1 + local.set $19 + block $~lib/math/sin_kern|inlined.4 (result f64) + local.get $18 + local.set $9 + local.get $19 + local.set $16 + i32.const 1 + local.set $13 + local.get $9 + local.get $9 + f64.mul + local.set $5 + local.get $5 + local.get $5 + f64.mul + local.set $6 + f64.const 0.00833333333332249 + local.get $5 + f64.const -1.984126982985795e-04 + local.get $5 + f64.const 2.7557313707070068e-06 + f64.mul + f64.add + f64.mul + f64.add + local.get $5 + local.get $6 + f64.mul + f64.const -2.5050760253406863e-08 + local.get $5 + f64.const 1.58969099521155e-10 + f64.mul + f64.add + f64.mul + f64.add + local.set $10 + local.get $5 + local.get $9 + f64.mul + local.set $7 + local.get $13 + i32.eqz + if + local.get $9 + local.get $7 + f64.const -0.16666666666666632 + local.get $5 + local.get $10 + f64.mul + f64.add + f64.mul + f64.add + br $~lib/math/sin_kern|inlined.4 + else + local.get $9 + local.get $5 + f64.const 0.5 + local.get $16 + f64.mul + local.get $7 + local.get $10 + f64.mul + f64.sub + f64.mul + local.get $16 + f64.sub + local.get $7 + f64.const -0.16666666666666632 + f64.mul + f64.sub + f64.sub + br $~lib/math/sin_kern|inlined.4 + end + unreachable + end + local.set $20 + local.get $18 + local.set $16 + local.get $19 + local.set $8 + local.get $16 + local.get $16 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $10 + local.get $7 + f64.const 0.0416666666666666 + local.get $7 + f64.const -0.001388888888887411 + local.get $7 + f64.const 2.480158728947673e-05 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.get $10 + local.get $10 + f64.mul + f64.const -2.7557314351390663e-07 + local.get $7 + f64.const 2.087572321298175e-09 + local.get $7 + f64.const -1.1359647557788195e-11 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + f64.add + local.set $6 + f64.const 0.5 + local.get $7 + f64.mul + local.set $5 + f64.const 1 + local.get $5 + f64.sub + local.set $10 + local.get $10 + f64.const 1 + local.get $10 + f64.sub + local.get $5 + f64.sub + local.get $7 + local.get $6 + f64.mul + local.get $16 + local.get $8 + f64.mul + f64.sub + f64.add + f64.add + local.set $21 + local.get $20 + local.set $22 + local.get $21 + local.set $23 + local.get $17 + i32.const 1 + i32.and + if + local.get $21 + local.set $22 + local.get $20 + f64.neg + local.set $23 + end + local.get $17 + i32.const 2 + i32.and + if + local.get $22 + f64.neg + local.set $22 + local.get $23 + f64.neg + local.set $23 + end + local.get $22 + global.set $~lib/math/NativeMath.sincos_sin + local.get $23 + global.set $~lib/math/NativeMath.sincos_cos + ) + (func $std/math/test_sincos (; 170 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i32) (result i32) + (local $6 f64) + (local $7 f64) + (local $8 f64) + (local $9 f64) + (local $10 f64) + local.get $0 + f64.reinterpret_i64 + local.set $6 + local.get $1 + f64.reinterpret_i64 + local.set $7 + local.get $3 + f64.reinterpret_i64 + local.set $8 + local.get $2 + f64.reinterpret_i64 + local.set $9 + local.get $4 + f64.reinterpret_i64 + local.set $10 + local.get $6 + call $~lib/math/NativeMath.sincos + global.get $~lib/math/NativeMath.sincos_sin + local.get $7 + local.get $9 + local.get $5 + call $std/math/check + if (result i32) + global.get $~lib/math/NativeMath.sincos_cos + local.get $8 + local.get $10 + local.get $5 + call $std/math/check + else + i32.const 0 + end + ) + (func $~lib/math/dtoi32 (; 171 ;) (param $0 f64) (result i32) + (local $1 i32) + (local $2 i64) + (local $3 i64) + (local $4 i64) + i32.const 0 + local.set $1 + local.get $0 + i64.reinterpret_f64 + local.set $2 + local.get $2 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $3 + local.get $3 + i64.const 1053 + i64.le_u + if + local.get $0 + i32.trunc_f64_s + local.set $1 + else + local.get $3 + i64.const 1106 + i64.le_u + if + local.get $2 + i64.const 1 + i64.const 52 + i64.shl + i64.const 1 + i64.sub + i64.and + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $4 + local.get $4 + local.get $3 + i64.const 1023 + i64.sub + i64.const 52 + i64.sub + i64.const 32 + i64.add + i64.shl + local.set $4 + local.get $4 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $1 + i32.const 0 + local.get $1 + i32.sub + local.get $1 + local.get $2 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + select + local.set $1 + end + end + local.get $1 + return + ) + (func $~lib/math/NativeMath.imul (; 172 ;) (param $0 f64) (param $1 f64) (result f64) + (local $2 f64) + local.get $0 + local.get $1 + f64.add + local.tee $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + f64.const 0 + return + end + local.get $0 + call $~lib/math/dtoi32 + local.get $1 + call $~lib/math/dtoi32 + i32.mul + f64.convert_i32_s + ) + (func $~lib/math/NativeMath.clz32 (; 173 ;) (param $0 f64) (result f64) + local.get $0 + local.get $0 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + f64.const 32 + return + end + local.get $0 + call $~lib/math/dtoi32 + i32.clz + f64.convert_i32_s + ) + (func $~lib/math/ipow64 (; 174 ;) (param $0 i64) (param $1 i64) (result i64) + (local $2 i64) + (local $3 i32) + (local $4 i32) + i64.const 1 + local.set $2 + local.get $1 + i64.const 0 + i64.le_s + if + local.get $1 + i64.const 0 + i64.eq + i64.extend_i32_u + return + end + local.get $1 + i64.const 1 + i64.eq + if + local.get $0 + return + end + local.get $1 + i64.const 2 + i64.eq + if + local.get $0 + local.get $0 + i64.mul + return + end + i32.const 64 + i64.extend_i32_s + local.get $1 + i64.clz + i64.sub + i32.wrap_i64 + local.set $3 + local.get $3 + i32.const 6 + i32.le_s + if + block $break|0 + block $case5|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 6 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 5 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case4|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case5|0 + br $break|0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_s + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_s + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_s + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_s + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_s + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + end + local.get $2 + return + end + loop $while-continue|1 + local.get $1 + i64.const 0 + i64.gt_s + local.set $3 + local.get $3 + if + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_s + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + br $while-continue|1 + end + end + local.get $2 + ) + (func $~lib/math/ipow32 (; 175 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + local.set $2 + local.get $1 + i32.const 0 + i32.le_s + if + local.get $1 + i32.const 0 + i32.eq + return + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + local.get $3 + i32.const 5 + i32.le_s + if + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + end + local.get $2 + return + end + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.gt_s + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 + end + end + local.get $2 + ) + (func $start:std/math (; 176 ;) + (local $0 f64) + (local $1 i32) + (local $2 i32) + (local $3 i64) + (local $4 f32) + f64.const 2.718281828459045 + global.get $~lib/bindings/Math/E + f64.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6931471805599453 + global.get $~lib/bindings/Math/LN2 + f64.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.302585092994046 + global.get $~lib/bindings/Math/LN10 + f64.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.4426950408889634 + global.get $~lib/bindings/Math/LOG2E + f64.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.141592653589793 + global.get $~lib/bindings/Math/PI + f64.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7071067811865476 + global.get $~lib/bindings/Math/SQRT1_2 + f64.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.4142135623730951 + global.get $~lib/bindings/Math/SQRT2 + f64.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.7182817459106445 + global.get $~lib/bindings/Math/E + f32.demote_f64 + f32.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6931471824645996 + global.get $~lib/bindings/Math/LN2 + f32.demote_f64 + f32.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3025851249694824 + global.get $~lib/bindings/Math/LN10 + f32.demote_f64 + f32.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4426950216293335 + global.get $~lib/bindings/Math/LOG2E + f32.demote_f64 + f32.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3.1415927410125732 + global.get $~lib/bindings/Math/PI + f32.demote_f64 + f32.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7071067690849304 + global.get $~lib/bindings/Math/SQRT1_2 + f32.demote_f64 + f32.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4142135381698608 + global.get $~lib/bindings/Math/SQRT2 + f32.demote_f64 + f32.const 0 + i32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + i32.const -2 + f64.const -2.01671209764492 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + i32.const -1 + f64.const 2.1726199246691524 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + i32.const 0 + f64.const -8.38143342755525 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + i32.const 1 + f64.const -13.063347163826968 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + i32.const 2 + f64.const 37.06822786789034 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + i32.const 3 + f64.const 5.295887184796036 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + i32.const 4 + f64.const -6.505662758165685 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + i32.const 5 + f64.const 17.97631187906317 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + i32.const 6 + f64.const 49.545746981843436 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + i32.const 7 + f64.const -86.88175393784351 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + i32.const 2147483647 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + i32.const -2147483647 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + i32.const 2147483647 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + i32.const 0 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + i32.const 0 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + i32.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + i32.const 1 + f64.const 2 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + i32.const -1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + i32.const 2147483647 + f64.const inf + f64.const 0 + i32.const 17 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + i32.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + i32.const 2147483647 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + i32.const -2147483647 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + i32.const 2147483647 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311579538646525e283 + i32.const -2097 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + i32.const 2097 + f64.const 8988465674311579538646525e283 + f64.const 0 + i32.const 0 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.000244140625 + i32.const -1074 + f64.const 5e-324 + f64.const 0 + i32.const 9 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 164 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7499999999999999 + i32.const -1073 + f64.const 5e-324 + f64.const 0 + i32.const 9 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 165 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5000000000000012 + i32.const -1024 + f64.const 2.781342323134007e-309 + f64.const 0 + i32.const 9 + call $std/math/test_scalbn + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 166 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + i32.const -2 + f32.const -2.016712188720703 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + i32.const -1 + f32.const 2.1726198196411133 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + i32.const 0 + f32.const -8.381433486938477 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 177 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + i32.const 1 + f32.const -13.063346862792969 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 178 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + i32.const 2 + f32.const 37.06822967529297 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 179 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + i32.const 3 + f32.const 5.295886993408203 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + i32.const 4 + f32.const -6.50566291809082 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + i32.const 5 + f32.const 17.9763126373291 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 182 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + i32.const 6 + f32.const 49.545745849609375 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 183 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + i32.const 7 + f32.const -86.88175201416016 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + i32.const 2147483647 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + i32.const -2147483647 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + i32.const 2147483647 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + i32.const 0 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + i32.const 0 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + i32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + i32.const 1 + f32.const 2 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + i32.const -1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + i32.const 2147483647 + f32.const inf + f32.const 0 + i32.const 17 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + i32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + i32.const 2147483647 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + i32.const -2147483647 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + i32.const 2147483647 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1701411834604692317316873e14 + i32.const -276 + f32.const 1.401298464324817e-45 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + i32.const 276 + f32.const 1701411834604692317316873e14 + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.000244140625 + i32.const -149 + f32.const 1.401298464324817e-45 + f32.const 0 + i32.const 9 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7499999403953552 + i32.const -148 + f32.const 1.401298464324817e-45 + f32.const 0 + i32.const 9 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5000006556510925 + i32.const -128 + f32.const 1.4693693398263237e-39 + f32.const 0 + i32.const 9 + call $std/math/test_scalbnf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 8.06684839057968 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 217 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4.345239849338305 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 218 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 8.38143342755525 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 219 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 6.531673581913484 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 220 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9.267056966972586 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.6619858980995045 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 0.4066039223853553 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5617597462207241 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 224 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.7741522965913037 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 225 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 0.6787637026394024 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 226 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 229 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 230 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 231 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 232 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 233 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_abs + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 235 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 8.066848754882812 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4.345239639282227 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 8.381433486938477 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 6.531673431396484 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9.267057418823242 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.6619858741760254 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 0.40660393238067627 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5617597699165344 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.7741522789001465 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 0.6787636876106262 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 260 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 261 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_absf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 262 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 276 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 277 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.8473310828433507 + f64.const -0.41553276777267456 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 1.989530071088669 + f64.const 0.4973946213722229 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.9742849645674904 + f64.const -0.4428897500038147 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6854215158636222 + f64.const -0.12589527666568756 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 2.316874138205964 + f64.const -0.17284949123859406 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5309227209592985 + f64.const 2.1304853799705463 + f64.const 0.1391008496284485 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.4939556746399746 + f64.const 1.0541629875851946 + f64.const 0.22054767608642578 + i32.const 1 + call $std/math/test_acos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 308 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.8473311066627502 + f32.const -0.13588131964206696 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 1.989530086517334 + f32.const 0.03764917701482773 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.9742849469184875 + f32.const 0.18443739414215088 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.6854215264320374 + f32.const -0.29158344864845276 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 2.3168740272521973 + f32.const -0.3795364499092102 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 319 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 320 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.49965065717697144 + f32.const 1.0476008653640747 + f32.const -0.21161814033985138 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 324 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5051405429840088 + f32.const 2.1003410816192627 + f32.const -0.20852705836296082 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 325 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5189794898033142 + f32.const 2.116452932357788 + f32.const -0.14600826799869537 + i32.const 1 + call $std/math/test_acosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 326 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.1487163980597503 + f64.const -0.291634738445282 + i32.const 1 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.91668914109908 + f64.const -0.24191908538341522 + i32.const 1 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 344 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 345 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 346 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 347 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 350 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 351 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 352 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 353 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 354 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 355 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 356 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1060831199926429 + f64.const 0.4566373404384803 + f64.const -0.29381608963012695 + i32.const 1 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 372 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1089809557628658 + f64.const 0.4627246859959428 + f64.const -0.3990095555782318 + i32.const 1 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 374 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1169429159875521 + f64.const 0.47902433134075284 + f64.const -0.321674108505249 + i32.const 1 + call $std/math/test_acosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 375 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 384 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.148716449737549 + f32.const 0.4251045286655426 + i32.const 1 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 385 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 386 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 387 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.916689157485962 + f32.const -0.1369788944721222 + i32.const 1 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 388 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 389 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 390 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 391 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 392 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 393 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 396 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 399 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 400 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 401 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 402 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1125899906842624 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_acoshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 403 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 415 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 416 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 418 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7234652439515459 + f64.const -0.13599912822246552 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.41873374429377225 + f64.const -0.09264230728149414 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5965113622274062 + f64.const -0.10864213854074478 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 422 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.8853748109312743 + f64.const -0.4256366193294525 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 423 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.7460778114110673 + f64.const 0.13986606895923615 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 424 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 427 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 428 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 433 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 434 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 435 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5073043929119148 + f64.const 0.5320538997772349 + f64.const -0.16157317161560059 + i32.const 1 + call $std/math/test_asin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 436 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 446 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 449 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7234652042388916 + f32.const -0.1307632476091385 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.41873374581336975 + f32.const 0.3161141574382782 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 451 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5965113639831543 + f32.const -0.4510819613933563 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 452 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.8853747844696045 + f32.const 0.02493886835873127 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.7460777759552002 + f32.const 0.2515012323856354 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 458 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 459 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 460 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 461 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 462 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 463 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 464 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 465 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5004770159721375 + f32.const 0.5241496562957764 + f32.const -0.29427099227905273 + i32.const 1 + call $std/math/test_asinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 466 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -2.784729878387861 + f64.const -0.4762189984321594 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 478 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.175213389013164 + f64.const -0.02728751301765442 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.822706083697696 + f64.const 0.20985257625579834 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 480 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -2.575619446591922 + f64.const 0.3113134205341339 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 481 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.9225114951048674 + f64.const 0.4991756081581116 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 482 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.6212462762707166 + f64.const -0.4697347581386566 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.39615990393192035 + f64.const -0.40814438462257385 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5357588870255474 + f64.const 0.3520713150501251 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 485 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.7123571263197349 + f64.const 0.13371451199054718 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 486 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.635182348903198 + f64.const 0.04749670997262001 + i32.const 1 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 487 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 492 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 493 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_asinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -2.7847299575805664 + f32.const -0.14418013393878937 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.17521333694458 + f32.const -0.020796965807676315 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.8227059841156006 + f32.const 0.44718533754348755 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -2.5756194591522217 + f32.const -0.14822272956371307 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.922511577606201 + f32.const 0.14270681142807007 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.6212462782859802 + f32.const 0.3684912919998169 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.39615991711616516 + f32.const -0.13170306384563446 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.535758912563324 + f32.const 0.08184859901666641 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.7123571038246155 + f32.const -0.14270737767219543 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.6351823210716248 + f32.const 0.2583143711090088 + i32.const 1 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 535 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 536 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 537 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 538 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_asinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 539 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -1.4474613762633468 + f64.const 0.14857111871242523 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 551 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.344597927114538 + f64.const -0.08170335739850998 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 552 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -1.4520463463295539 + f64.const -0.07505480200052261 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 553 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -1.4188758658752532 + f64.const -0.057633496820926666 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 554 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 1.463303145448706 + f64.const 0.1606956422328949 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 555 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.5847550670238325 + f64.const 0.4582556486129761 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 556 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.3861864177552131 + f64.const -0.2574281692504883 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 557 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5118269531628881 + f64.const -0.11444277316331863 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 558 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6587802431653822 + f64.const -0.11286488175392151 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 559 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.5963307826973472 + f64.const -0.2182842344045639 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 560 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 563 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 564 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.7853981633974483 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 565 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0.7853981633974483 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 566 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 567 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 568 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 569 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6929821535674624 + f64.const 0.6060004555152562 + f64.const -0.17075790464878082 + i32.const 1 + call $std/math/test_atan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 570 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -1.4474613666534424 + f32.const 0.12686480581760406 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 579 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 1.3445979356765747 + f32.const 0.16045434772968292 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 580 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -1.4520463943481445 + f32.const -0.39581751823425293 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 581 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -1.418875813484192 + f32.const 0.410570353269577 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 582 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 1.4633032083511353 + f32.const 0.48403501510620117 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 583 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5847550630569458 + f32.const 0.2125193476676941 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 584 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.386186420917511 + f32.const 0.18169628083705902 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 585 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5118269920349121 + f32.const 0.3499770760536194 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 586 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.6587802171707153 + f32.const -0.2505330741405487 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 587 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.5963307619094849 + f32.const 0.17614826560020447 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 588 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 591 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 592 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0.7853981852531433 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 593 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0.7853981852531433 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 594 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 595 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 596 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_atanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 597 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 609 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 610 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 611 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 612 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 613 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7963404371347943 + f64.const 0.21338365972042084 + i32.const 1 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 614 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.43153570730602897 + f64.const -0.4325666129589081 + i32.const 1 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 615 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.6354006111644578 + f64.const -0.06527865678071976 + i32.const 1 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 616 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1.0306085575277995 + f64.const 0.14632052183151245 + i32.const 1 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 617 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.8268179645205255 + f64.const 0.1397128701210022 + i32.const 1 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 618 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 621 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 622 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 623 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 624 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 625 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 626 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 627 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.3552527156068805e-20 + f64.const 1.3552527156068805e-20 + f64.const 0 + i32.const 1 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 630 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.332636185032189e-302 + f64.const 9.332636185032189e-302 + f64.const 0 + i32.const 1 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 631 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.562684646268003e-309 + f64.const 5.562684646268003e-309 + f64.const 0 + i32.const 9 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 632 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5.562684646268003e-309 + f64.const -5.562684646268003e-309 + f64.const 0 + i32.const 9 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 633 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311579538646525e283 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 634 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 643 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 644 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 645 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 646 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 647 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7963404059410095 + f32.const 0.19112196564674377 + i32.const 1 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 648 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.4315357208251953 + f32.const -0.05180925130844116 + i32.const 1 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 649 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.635400652885437 + f32.const 0.11911056190729141 + i32.const 1 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 650 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1.0306085348129272 + f32.const 0.1798270344734192 + i32.const 1 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 651 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.8268179297447205 + f32.const 0.11588983237743378 + i32.const 1 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 652 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 657 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 658 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 661 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 662 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.3552527156068805e-20 + f32.const 1.3552527156068805e-20 + f32.const 0 + i32.const 1 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 7.888609052210118e-31 + f32.const 0 + i32.const 1 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + i32.const 9 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 666 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + i32.const 9 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 667 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1701411834604692317316873e14 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_atanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 668 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -1.0585895402489023 + f64.const 0.09766263514757156 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 680 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 2.6868734126013067 + f64.const 0.35833948850631714 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 681 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -1.889300091849528 + f64.const -0.46235957741737366 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 682 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -0.9605469021111489 + f64.const -0.21524477005004883 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 683 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 1.0919123946142109 + f64.const 0.3894443213939667 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 684 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -1.468508500616424 + f64.const -0.448591411113739 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 685 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 1.5641600512601268 + f64.const 0.3784842789173126 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 686 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.10281658910678508 + f64.const -0.13993260264396667 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 687 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.29697974004493516 + f64.const 0.44753071665763855 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 688 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -1.5131612053303916 + f64.const 0.39708876609802246 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 689 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 692 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 693 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 695 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 696 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 697 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 698 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 699 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 700 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 701 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 702 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 703 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 704 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 705 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 706 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 707 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 708 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 709 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 710 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 711 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 712 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 713 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0.7853981633974483 + f64.const -0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 714 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -inf + f64.const 2.356194490192345 + f64.const -0.20682445168495178 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 715 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const -0.7853981633974483 + f64.const 0.27576595544815063 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 716 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const -2.356194490192345 + f64.const 0.20682445168495178 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 717 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1125369292536007e-308 + f64.const 1 + f64.const 1.1125369292536007e-308 + f64.const 0 + i32.const 9 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 718 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 8988465674311579538646525e283 + f64.const 1.1125369292536007e-308 + f64.const 0 + i32.const 9 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 719 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 8988465674311579538646525e283 + f64.const 1.668805393880401e-308 + f64.const 0 + i32.const 9 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 720 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -8988465674311579538646525e283 + f64.const 3.141592653589793 + f64.const 0 + i32.const 1 + call $std/math/test_atan2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 721 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -1.0585895776748657 + f32.const -0.22352588176727295 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 730 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 2.686873435974121 + f32.const 0.09464472532272339 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 731 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -1.8893001079559326 + f32.const -0.21941901743412018 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 732 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -0.9605468511581421 + f32.const 0.46015575528144836 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 733 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 1.0919123888015747 + f32.const -0.05708503723144531 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 734 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -1.4685084819793701 + f32.const 0.19611206650733948 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 735 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 1.5641601085662842 + f32.const 0.48143187165260315 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 736 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.10281659662723541 + f32.const -0.4216274917125702 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 737 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.29697975516319275 + f32.const 0.2322007566690445 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 738 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -1.5131611824035645 + f32.const 0.16620726883411407 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 739 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 742 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 743 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 748 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 749 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 750 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 751 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 752 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 753 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 754 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 755 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 756 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 757 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 758 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 761 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 762 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 763 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0.7853981852531433 + f32.const 0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 764 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -inf + f32.const 2.356194496154785 + f32.const 0.02500828728079796 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 765 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const -0.7853981852531433 + f32.const -0.3666777014732361 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 766 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const -2.356194496154785 + f32.const -0.02500828728079796 + i32.const 1 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 767 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 1 + f32.const 5.877471754111438e-39 + f32.const 0 + i32.const 9 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 768 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1701411834604692317316873e14 + f32.const 5.877471754111438e-39 + f32.const 0 + i32.const 9 + call $std/math/test_atan2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 769 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -2.0055552545020245 + f64.const 0.46667951345443726 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.6318162410515635 + f64.const -0.08160271495580673 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.031293910673361 + f64.const -0.048101816326379776 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -1.8692820012204925 + f64.const 0.08624018728733063 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 784 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.100457720859702 + f64.const -0.2722989022731781 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 785 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.8715311470455973 + f64.const 0.4414918124675751 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 786 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.740839030300223 + f64.const 0.016453813761472702 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 787 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.8251195400559286 + f64.const 0.30680638551712036 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 788 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.9182102478959914 + f64.const 0.06543998420238495 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 789 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.8788326906580094 + f64.const -0.2016713172197342 + i32.const 1 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 790 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 793 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 794 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 795 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 796 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 797 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.313225746154785e-10 + f64.const 0.0009765625 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 798 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -9.313225746154785e-10 + f64.const -0.0009765625 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 799 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 800 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 801 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8 + f64.const 2 + f64.const 0 + i32.const 0 + call $std/math/test_cbrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 802 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -2.0055553913116455 + f32.const -0.44719240069389343 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 811 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 1.6318162679672241 + f32.const 0.44636252522468567 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 812 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.0312938690185547 + f32.const 0.19483426213264465 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -1.8692820072174072 + f32.const -0.17075514793395996 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.1004576683044434 + f32.const -0.36362043023109436 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.8715311288833618 + f32.const -0.12857209146022797 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.7408390641212463 + f32.const -0.4655757546424866 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 817 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.8251195549964905 + f32.const 0.05601907894015312 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 818 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.9182102680206299 + f32.const 0.45498204231262207 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 819 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.8788326978683472 + f32.const -0.22978967428207397 + i32.const 1 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 820 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 823 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 824 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 825 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 826 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 827 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.313225746154785e-10 + f32.const 0.0009765625 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 828 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -9.313225746154785e-10 + f32.const -0.0009765625 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 829 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 830 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 831 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 8 + f32.const 2 + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 832 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 844 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 5 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 845 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 846 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -6 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 847 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 10 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 848 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 849 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 850 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 851 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 852 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 853 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 856 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 857 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 858 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 859 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 860 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 861 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 862 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 863 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 864 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 865 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 866 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 867 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 868 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 869 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 870 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 871 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 873 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 874 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 875 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 879 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 880 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 881 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 882 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 883 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 884 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 885 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 886 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 887 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 888 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 889 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 892 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 893 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 894 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 898 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 899 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_ceil + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 900 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 909 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 5 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 910 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 911 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -6 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 912 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 10 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 913 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 914 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 915 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 916 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 917 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 918 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 922 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 923 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 924 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 925 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 926 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 927 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 928 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 929 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 930 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 931 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 932 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 933 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 934 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 935 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 936 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 937 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 938 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 947 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 951 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 952 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 953 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 954 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 955 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 956 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 957 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 958 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 959 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 960 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 961 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 962 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 963 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 964 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_ceilf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 965 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -0.21126281599887137 + f64.const -0.10962469130754471 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 976 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -0.35895602297578955 + f64.const -0.10759828239679337 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 977 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -0.503333091765516 + f64.const -0.021430473774671555 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 978 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 0.9692853212503283 + f64.const -0.4787876307964325 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 979 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const -0.9875878064788627 + f64.const 0.4880668818950653 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 980 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7887730869248576 + f64.const 0.12708666920661926 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 981 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 0.9184692397007294 + f64.const -0.26120713353157043 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 982 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.8463190467415896 + f64.const -0.302586168050766 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 983 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.7150139289952383 + f64.const -0.08537746220827103 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 984 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 0.7783494994757447 + f64.const 0.30890750885009766 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 985 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 988 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 989 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 990 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 991 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 992 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.5403023058681398 + f64.const 0.4288286566734314 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 993 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const -0.4161468365471424 + f64.const -0.35859397053718567 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 994 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3 + f64.const -0.9899924966004454 + f64.const 0.3788451552391052 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 995 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const -0.6536436208636119 + f64.const -0.23280560970306396 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 996 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5 + f64.const 0.28366218546322625 + f64.const -0.3277357816696167 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 997 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.1 + f64.const 0.9950041652780258 + f64.const 0.49558526277542114 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 998 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.2 + f64.const 0.9800665778412416 + f64.const -0.02407640963792801 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 999 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.3 + f64.const 0.955336489125606 + f64.const -0.37772229313850403 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1000 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.4 + f64.const 0.9210609940028851 + f64.const 0.25818485021591187 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1001 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 0.8775825618903728 + f64.const 0.3839152157306671 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1002 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3641409746639015e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1003 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1820704873319507e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1004 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1005 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1006 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -3.14 + f64.const -0.9999987317275395 + f64.const 0.3855516016483307 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1007 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311579538646525e283 + f64.const -0.826369834614148 + f64.const -0.3695965111255646 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1008 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const -0.9999876894265599 + f64.const 0.23448343575000763 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1009 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8988465674311579538646525e283 + f64.const -0.826369834614148 + f64.const -0.3695965111255646 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1010 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.14 + f64.const -0.9999987317275395 + f64.const 0.3855516016483307 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1011 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.1415 + f64.const -0.9999999957076562 + f64.const -0.30608975887298584 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1012 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.141592 + f64.const -0.9999999999997864 + f64.const 0.15403328835964203 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1013 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.14159265 + f64.const -1 + f64.const -0.02901807427406311 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1014 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.1415926535 + f64.const -1 + f64.const -1.8155848010792397e-05 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1015 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.141592653589 + f64.const -1 + f64.const -1.4169914130945926e-09 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1016 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.14159265358979 + f64.const -1 + f64.const -2.350864897985184e-14 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1017 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.141592653589793 + f64.const -1 + f64.const -3.377158741883318e-17 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1018 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.57 + f64.const 7.963267107332633e-04 + f64.const 0.2968159317970276 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1019 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.570796 + f64.const 3.2679489653813835e-07 + f64.const -0.32570895552635193 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1020 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5707963267 + f64.const 9.489659630678013e-11 + f64.const -0.27245646715164185 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1021 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.57079632679489 + f64.const 6.722570487708307e-15 + f64.const -0.10747683793306351 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1022 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5707963267948966 + f64.const 6.123233995736766e-17 + f64.const 0.12148229777812958 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1023 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6700635199486106 + f64.const 0.7837822193016158 + f64.const -0.07278502732515335 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1024 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5343890189437553 + f64.const 0.8605799719039517 + f64.const -0.48434028029441833 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1025 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.43999702754890085 + f64.const 0.9047529293001976 + f64.const 0.029777472838759422 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1026 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9902840844687313 + f64.const 0.5484523364480768 + f64.const 0.19765280187129974 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1027 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.45381447534338915 + f64.const 0.8987813902263783 + f64.const -0.017724866047501564 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1028 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.4609888813583589 + f64.const 0.8956130474713057 + f64.const 0.36449819803237915 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1029 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9285434097956422 + f64.const 0.5990009794292984 + f64.const -0.2899416387081146 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1030 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9109092124488352 + f64.const 0.6130276692774378 + f64.const -0.49353134632110596 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1031 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.8328600650359556 + f64.const 0.6727624710046357 + f64.const -0.36606088280677795 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1032 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9536201252203433 + f64.const 0.5787346183487084 + f64.const -0.17089833319187164 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1033 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.8726590065457699 + f64.const 0.6427919144259047 + f64.const -0.2744986116886139 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1034 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.18100447535968447 + f64.const 0.9836633656884893 + f64.const 3.0195272993296385e-03 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1035 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.356194490349839 + f64.const -0.7071067812979126 + f64.const -0.48278746008872986 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1036 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.356194490372272 + f64.const -0.7071067813137752 + f64.const -0.4866050183773041 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1037 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3561944902251115 + f64.const -0.707106781209717 + f64.const -0.3533952236175537 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1038 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3561944903149996 + f64.const -0.7071067812732775 + f64.const -0.41911986470222473 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1039 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3561944903603527 + f64.const -0.707106781305347 + f64.const -0.4706200063228607 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1040 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3561944903826197 + f64.const -0.7071067813210922 + f64.const -0.30618351697921753 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1041 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.356194490371803 + f64.const -0.7071067813134436 + f64.const -0.30564820766448975 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1042 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.356194490399931 + f64.const -0.7071067813333329 + f64.const -0.38845571875572205 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1043 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.356194490260191 + f64.const -0.707106781234522 + f64.const -0.23796851933002472 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1044 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3561944904043153 + f64.const -0.7071067813364332 + f64.const -0.3274589478969574 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1045 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0943951024759446 + f64.const -0.5000000000716629 + f64.const -0.41711342334747314 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1046 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.09439510243324 + f64.const -0.5000000000346797 + f64.const -0.3566164970397949 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1047 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0943951025133885 + f64.const -0.5000000001040902 + f64.const -0.2253485918045044 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1048 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0943951025466707 + f64.const -0.5000000001329135 + f64.const -0.12982259690761566 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1049 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.094395102413896 + f64.const -0.5000000000179272 + f64.const -0.15886764228343964 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1050 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0943951024223404 + f64.const -0.5000000000252403 + f64.const -0.266656756401062 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1051 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0943951024960477 + f64.const -0.5000000000890726 + f64.const -0.4652077853679657 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1052 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0943951025173315 + f64.const -0.500000000107505 + f64.const -0.46710994839668274 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1053 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.094395102405924 + f64.const -0.5000000000110234 + f64.const -0.2469603717327118 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1054 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.094395102428558 + f64.const -0.500000000030625 + f64.const -0.3799441158771515 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1055 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.513210770864056 + f64.const -0.6125076939987759 + f64.const 0.4989966154098511 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1056 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 6.802886129801017 + f64.const 0.8679677961345452 + f64.const 0.4972165524959564 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1057 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.171925393086408 + f64.const -0.9682027440424544 + f64.const -0.49827584624290466 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1058 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.854690112888573 + f64.const -0.8418535663818527 + f64.const 0.4974979758262634 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1059 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.213510813859608 + f64.const -0.9777659802838506 + f64.const -0.4995604455471039 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1060 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.782449081542151 + f64.const 0.07147156381293339 + f64.const 0.49858126044273376 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1061 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.500261332273616 + f64.const 0.34639017633458113 + f64.const -0.4996210038661957 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1062 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.121739418731588 + f64.const -0.9544341297541811 + f64.const 0.4982815086841583 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1063 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 6.784954020476316 + f64.const 0.8767332233166646 + f64.const -0.4988083839416504 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1064 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.770846542666664 + f64.const -0.7936984117400705 + f64.const 0.4999682903289795 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1065 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.313225746154785e-10 + f64.const 1 + f64.const 0.001953125 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1068 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -9.313225746154785e-10 + f64.const 1 + f64.const 0.001953125 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1069 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1070 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072014e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1071 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1072 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1073 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1074 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1075 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1076 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.4e-323 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1077 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.562684646268003e-309 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1078 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1125369292536007e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1079 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072004e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1080 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1081 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507202e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1082 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072024e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1083 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.4501477170144003e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1084 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.450147717014403e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1085 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.450147717014406e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1086 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.900295434028806e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1087 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.450580596923828e-09 + f64.const 1 + f64.const 0.125 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1088 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.4901161193847656e-08 + f64.const 0.9999999999999999 + f64.const -1.850372590034581e-17 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1089 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.470348358154297e-08 + f64.const 0.999999999999999 + f64.const -1.4988010832439613e-15 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1090 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-323 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1091 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.4e-323 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1092 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5.562684646268003e-309 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1093 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.1125369292536007e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1094 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072004e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1095 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507201e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1096 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507202e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1097 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072024e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1098 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.4501477170144003e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1099 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.450147717014403e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.450147717014406e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.900295434028806e-308 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.450580596923828e-09 + f64.const 1 + f64.const 0.125 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.4901161193847656e-08 + f64.const 0.9999999999999999 + f64.const -1.850372590034581e-17 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.470348358154297e-08 + f64.const 0.999999999999999 + f64.const -1.4988010832439613e-15 + i32.const 1 + call $std/math/test_cos + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5707963267948966 + call $~lib/math/NativeMath.cos + f64.const 1.5707963267948966 + call $~lib/bindings/Math/cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1107 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.141592653589793 + call $~lib/math/NativeMath.cos + f64.const 3.141592653589793 + call $~lib/bindings/Math/cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3141592653589793231804887e66 + call $~lib/math/NativeMath.cos + f64.const 3141592653589793231804887e66 + call $~lib/bindings/Math/cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3283064365386963e-10 + call $~lib/math/NativeMath.cos + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.3283064365386963e-10 + call $~lib/math/NativeMath.cos + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.15707963267948966 + call $~lib/math/NativeMath.cos + f64.const 0.9876883405951378 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7812504768371582 + call $~lib/math/NativeMath.cos + f64.const 0.7100335477927638 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.78125 + call $~lib/math/NativeMath.cos + f64.const 0.7100338835660797 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9238795325112867 + f64.const 0.39269908169872414 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9238795325112867 + f64.const -0.39269908169872414 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.725290298461914e-09 + call $~lib/math/NativeMath.cos + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9689124217106447 + f64.const 0.25 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1130 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.8775825618903728 + f64.const 0.5 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1131 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7073882691671998 + f64.const 0.785 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1132 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 6.123233995736766e-17 + f64.const 1.5707963267948966 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7071067811865474 + f64.const 5.497787143782138 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7071067811865477 + f64.const 7.0685834705770345 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.7071067811865467 + f64.const 8.63937979737193 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.7071067811865471 + f64.const 10.210176124166829 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9367521275331447 + f64.const 1e6 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -3.435757038074824e-12 + f64.const 1647097.7583689587 + call $~lib/math/NativeMath.cos + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.21126316487789154 + f32.const 0.48328569531440735 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -0.3589562177658081 + f32.const 0.042505208402872086 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.5033331513404846 + f32.const -0.1386195719242096 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 0.9692853689193726 + f32.const 0.1786951720714569 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const -0.9875878691673279 + f32.const 0.1389600932598114 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7887731194496155 + f32.const 0.2989593744277954 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 0.918469250202179 + f32.const 0.24250665307044983 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.8463190197944641 + f32.const -0.24033240973949432 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.7150139212608337 + f32.const -0.3372635245323181 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 0.7783495187759399 + f32.const 0.16550153493881226 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1164 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1165 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1166 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1 + f32.const 1.4551915228366852e-11 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1169 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const 1 + f32.const 1.4551915228366852e-11 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1170 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1171 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1177 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1178 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1179 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1182 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1183 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.450580596923828e-09 + f32.const 1 + f32.const 2.3283064365386963e-10 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 1 + f32.const 0.25 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.00048828125 + f32.const 0.9999998807907104 + f32.const -3.973643103449831e-08 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.0009765625 + f32.const 0.9999995231628418 + f32.const -6.357828397085541e-07 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.350988701644575e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.450580596923828e-09 + f32.const 1 + f32.const 2.3283064365386963e-10 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const 1 + f32.const 0.25 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.00048828125 + f32.const 0.9999998807907104 + f32.const -3.973643103449831e-08 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.0009765625 + f32.const 0.9999995231628418 + f32.const -6.357828397085541e-07 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1206 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 255.99993896484375 + f32.const -0.03985174745321274 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1209 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5033165 + f32.const 0.8471871614456177 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1210 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 421657440 + f32.const 0.6728929281234741 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1211 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2147483392 + f32.const 0.9610780477523804 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1212 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 68719476736 + f32.const 0.1694190502166748 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1213 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 549755813888 + f32.const 0.20735950767993927 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1214 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const 0.8530210256576538 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1215 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -255.99993896484375 + f32.const -0.03985174745321274 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1216 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5033165 + f32.const 0.8471871614456177 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1217 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -421657440 + f32.const 0.6728929281234741 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1218 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2147483392 + f32.const 0.9610780477523804 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1219 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -68719476736 + f32.const 0.1694190502166748 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1220 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -549755813888 + f32.const 0.20735950767993927 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3402823466385288598117041e14 + f32.const 0.8530210256576538 + f32.const 0 + i32.const 1 + call $std/math/test_cosf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 1593.5209938862329 + f64.const -0.38098856806755066 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1233 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 38.56174928426729 + f64.const -0.2712278366088867 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 2182.630979595893 + f64.const 0.0817827582359314 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1235 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 343.273849250879 + f64.const -0.429940402507782 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1236 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 5291.779170005587 + f64.const -0.1592995822429657 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1237 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1.2272321957342842 + f64.const 0.23280741274356842 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1238 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 1.083808541871197 + f64.const -0.3960916996002197 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1239 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1.1619803583175077 + f64.const 0.37748390436172485 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1240 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1.3149236876276706 + f64.const 0.43587008118629456 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1241 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 1.2393413245934533 + f64.const 0.10201606154441833 + i32.const 1 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1242 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_cosh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 1593.5216064453125 + f32.const 0.26242581009864807 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 38.56174087524414 + f32.const -0.08168885856866837 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 2182.631103515625 + f32.const -0.02331414446234703 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1260 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 343.2738037109375 + f32.const 0.20081493258476257 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1261 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 5291.78173828125 + f32.const 0.36286723613739014 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1262 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1.2272322177886963 + f32.const 0.32777416706085205 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1263 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 1.0838085412979126 + f32.const -0.039848703891038895 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1264 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1.161980390548706 + f32.const 0.15274477005004883 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1265 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1.314923644065857 + f32.const -0.2387111485004425 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 1.2393412590026855 + f32.const -0.45791932940483093 + i32.const 1 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1267 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_coshf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 3.137706068161745e-04 + f64.const -0.2599197328090668 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 77.11053017112141 + f64.const -0.02792675793170929 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 2.290813384916323e-04 + f64.const -0.24974334239959717 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 1.4565661260931588e-03 + f64.const -0.4816822409629822 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 10583.558245524993 + f64.const 0.17696762084960938 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1.9386384525571998 + f64.const -0.4964246451854706 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 0.6659078892838025 + f64.const -0.10608318448066711 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1.7537559518626311 + f64.const -0.39162111282348633 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 2.1687528885129246 + f64.const -0.2996125817298889 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 0.5072437089402843 + f64.const 0.47261738777160645 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1298 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1299 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 2.718281828459045 + f64.const -0.3255307376384735 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1300 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0.36787944117144233 + f64.const 0.22389651834964752 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1301 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1302 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1303 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0397214889526365 + f64.const 2.828429155876411 + f64.const 0.18803080916404724 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0397214889526365 + f64.const 0.35355313670217847 + f64.const 0.2527272403240204 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0397210121154785 + f64.const 2.8284278071766122 + f64.const -0.4184139370918274 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0397214889526367 + f64.const 2.8284291558764116 + f64.const -0.22618377208709717 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1308 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 709.782712893384 + f64.const 1797693134862273196746681e284 + f64.const -0.10568465292453766 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 709.7827128933841 + f64.const inf + f64.const 0 + i32.const 17 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -745.1332191019411 + f64.const 5e-324 + f64.const 0.5 + i32.const 9 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -745.1332191019412 + f64.const 0 + f64.const -0.5 + i32.const 9 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1329 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -708.3964185322641 + f64.const 2.2250738585072626e-308 + f64.const 0.26172348856925964 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -708.3964185322642 + f64.const 2.2250738585070097e-308 + f64.const 2.2250738585070097e-308 + i32.const 9 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5006933289508785 + f64.const 1.6498647732549399 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1350 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.628493326460252 + f64.const 1.8747837631658781 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1357 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.837522455340574 + f64.const 2.3106351774748006 + f64.const -0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1364 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.8504909932810999 + f64.const 2.3407958848710777 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1370 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.6270060846924657 + f64.const 5.088617001442459 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1376 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.6744336219614115 + f64.const 5.335772228886831 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1382 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 6.657914718791208 + f64.const 778.924964819056 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1389 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 11.022872793631722 + f64.const 61259.41271820104 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1396 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 11.411195701885317 + f64.const 90327.36165653409 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1403 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 11.794490387560606 + f64.const 132520.20290772576 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1410 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 412.83872756953286 + f64.const 1965989977109266413433084e155 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 510.87569028483415 + f64.const 7421526272656495968225491e197 + f64.const -0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1424 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.6589841439772853e-14 + f64.const 0.9999999999999735 + f64.const 0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.7144952952085447e-14 + f64.const 0.9999999999999728 + f64.const -0.5 + i32.const 1 + call $std/math/test_exp + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1438 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 3.1377049162983894e-04 + f32.const -0.030193336308002472 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1452 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 77.11051177978516 + f32.const -0.2875460684299469 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 2.2908132814336568e-04 + f32.const 0.2237040400505066 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 1.4565663877874613e-03 + f32.const 0.36469703912734985 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1455 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 10583.5634765625 + f32.const 0.45962104201316833 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1.93863844871521 + f32.const 0.3568260967731476 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 0.6659078598022461 + f32.const -0.38294991850852966 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1458 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1.753756046295166 + f32.const 0.44355490803718567 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1459 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 2.168752908706665 + f32.const 0.24562469124794006 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1460 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 0.5072436928749084 + f32.const -0.3974292278289795 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1461 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1464 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1465 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 2.7182817459106445 + f32.const -0.3462330996990204 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1466 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0.3678794503211975 + f32.const 0.3070148527622223 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1467 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1468 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1469 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1470 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 88.72283172607422 + f32.const 340279851902147610656242e15 + f32.const -0.09067153930664062 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1471 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 88.72283935546875 + f32.const inf + f32.const 0 + i32.const 17 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1472 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -103.97207641601562 + f32.const 1.401298464324817e-45 + f32.const 0.49999967217445374 + i32.const 9 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1473 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -103.97208404541016 + f32.const 0 + f32.const -0.49999651312828064 + i32.const 9 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1474 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.3465735614299774 + f32.const 1.4142135381698608 + f32.const 0.13922421634197235 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1475 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.3465735912322998 + f32.const 1.4142135381698608 + f32.const -0.21432916820049286 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.3465736210346222 + f32.const 1.4142136573791504 + f32.const 0.43211743235588074 + i32.const 1 + call $std/math/test_expf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1477 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -0.9996862293931839 + f64.const -0.2760058343410492 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1489 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 76.11053017112141 + f64.const -0.02792675793170929 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -0.9997709186615084 + f64.const 0.10052496194839478 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -0.9985434338739069 + f64.const -0.27437829971313477 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1492 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 10582.558245524993 + f64.const 0.17696762084960938 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1493 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.9386384525571999 + f64.const 0.007150684483349323 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.3340921107161975 + f64.const -0.21216636896133423 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1495 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.7537559518626312 + f64.const 0.21675777435302734 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1496 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1.1687528885129248 + f64.const 0.4007748067378998 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1497 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.4927562910597158 + f64.const -0.05476519837975502 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1498 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1501 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1502 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1.7182818284590453 + f64.const 0.348938524723053 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1503 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0.6321205588285577 + f64.const 0.11194825917482376 + i32.const 1 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1504 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1505 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1506 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1507 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const 2.225073858507201e-308 + f64.const 0 + i32.const 9 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1508 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507201e-308 + f64.const -2.225073858507201e-308 + f64.const 0 + i32.const 9 + call $std/math/test_expm1 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1509 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.9996862411499023 + f32.const -0.19532723724842072 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1518 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 76.11051177978516 + f32.const -0.2875460684299469 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1519 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.9997709393501282 + f32.const -0.34686920046806335 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.9985434412956238 + f32.const -0.1281939446926117 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1521 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 10582.5634765625 + f32.const 0.45962104201316833 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1522 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.9386383891105652 + f32.const -0.28634780645370483 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.3340921103954315 + f32.const 0.23410017788410187 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.7537559866905212 + f32.const -0.11289017647504807 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1.168752908706665 + f32.const 0.4912493824958801 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.49275627732276917 + f32.const 0.20514154434204102 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1.718281865119934 + f32.const 0.3075338304042816 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0.6321205496788025 + f32.const 0.15350742638111115 + i32.const 1 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1533 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1534 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1535 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_expm1f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1536 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 0.003729380227666592 + f64.const 0.1281578093767166 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1548 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 20.32579462123892 + f64.const 0.03073759749531746 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1549 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 2.9987283924334954e-03 + f64.const -0.31000515818595886 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1550 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 0.010808622025681005 + f64.const -0.28607869148254395 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1551 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 616.1154770730207 + f64.const -0.08883064985275269 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1552 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1.5822591361986904 + f64.const -0.1258980929851532 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1553 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const 0.7543971221632684 + f64.const -0.24229088425636292 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1554 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1.4760685736993149 + f64.const 0.27173060178756714 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1555 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1.710184880131433 + f64.const -0.0205493476241827 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1556 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const 0.6247003734030933 + f64.const -0.31195688247680664 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1557 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1560 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1561 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 2 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1562 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1563 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1564 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1565 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1566 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.998046875 + f64.const 3.9945884515638808 + f64.const 0.1476455181837082 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1567 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1021.9 + f64.const 2.384775113731291e-308 + f64.const -0.2217157781124115 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1568 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1022 + f64.const 2.2250738585072014e-308 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1569 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1022.1 + f64.const 2.0760673185932884e-308 + f64.const 0.198451966047287 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1570 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1023 + f64.const 1.1125369292536007e-308 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1571 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1023.9 + f64.const 1677307003485741635311718e284 + f64.const 0.396903932094574 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1572 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1024 + f64.const inf + f64.const 0 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1573 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1024.1 + f64.const inf + f64.const 0 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1574 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.14 + f64.const 8.815240927012887 + f64.const 0.39309585094451904 + i32.const 1 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1575 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1022.5 + f64.const 1.5733648139913585e-308 + f64.const -0.28231191635131836 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1576 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1023 + f64.const 1.1125369292536007e-308 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1577 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1023.5 + f64.const 7.866824069956793e-309 + f64.const -0.14115595817565918 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1578 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1024 + f64.const 5.562684646268003e-309 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1579 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1025 + f64.const 2.781342323134e-309 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1580 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1074 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1581 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1074.5 + f64.const 5e-324 + f64.const 0.2928932309150696 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1582 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1075 + f64.const 0 + f64.const -0.5 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1583 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2048 + f64.const 0 + f64.const 0 + i32.const 9 + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1584 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 3.7293792702257633e-03 + f32.const -0.0674908235669136 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1595 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 20.32579231262207 + f32.const 0.34121403098106384 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1596 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 2.9987283051013947e-03 + f32.const 0.15504619479179382 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1597 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 0.010808623395860195 + f32.const 0.2603940963745117 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1598 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 616.1156616210938 + f32.const -0.1379322111606598 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1599 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1.5822590589523315 + f32.const -0.427890807390213 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1600 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const 0.7543970942497253 + f32.const -0.38062313199043274 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1601 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1.4760686159133911 + f32.const 0.1507442593574524 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1602 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1.7101848125457764 + f32.const -0.39102980494499207 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1603 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const 0.6247003674507141 + f32.const -0.20904375612735748 + i32.const 1 + call $std/math/test_exp2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1604 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -9 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1616 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1617 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -9 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1618 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -7 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1619 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1620 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1621 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1622 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1623 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1624 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1625 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1630 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1631 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1632 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1633 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1634 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1635 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1636 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1637 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -2 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1638 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1639 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1640 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1641 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_floor + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1642 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -9 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1651 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1652 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -9 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1653 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -7 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1654 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1657 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1658 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1666 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1667 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1668 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1669 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1670 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1671 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1672 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -2 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1673 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1674 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1675 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1676 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1677 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 9.25452742288464 + f64.const -0.31188681721687317 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1691 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 9.893305808328252 + f64.const 0.4593673348426819 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1692 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const 8.825301797432132 + f64.const -0.1701754331588745 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1693 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const 7.970265885519092 + f64.const -0.3176782727241516 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 10.441639651824575 + f64.const -0.2693633437156677 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1695 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 6.483936052542593 + f64.const 0.35618898272514343 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1696 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 7.859063309581766 + f64.const 0.08044655621051788 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1697 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const 7.717156764899584 + f64.const 0.05178084969520569 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1698 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 2.104006123874314 + f64.const -0.0918039008975029 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1699 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const 0.5596880129062913 + f64.const 0.1383407711982727 + i32.const 1 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1700 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3 + f64.const 4 + f64.const 5 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1703 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -3 + f64.const 4 + f64.const 5 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1704 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const 3 + f64.const 5 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1705 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const -3 + f64.const 5 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1706 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -3 + f64.const -4 + f64.const 5 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1707 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 0 + f64.const 1797693134862315708145274e284 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1708 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const -0 + f64.const 1797693134862315708145274e284 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1709 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 0 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1710 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const -0 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1711 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1712 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1713 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1714 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1715 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1716 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1717 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1718 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1719 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1720 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1721 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1722 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_hypot + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1723 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 9.254528045654297 + f32.const 0.2735958993434906 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1732 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 9.893305778503418 + f32.const 0.4530770778656006 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1733 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const 8.825302124023438 + f32.const 0.30755728483200073 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1734 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const 7.970265865325928 + f32.const 0.06785223633050919 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1735 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 10.44163990020752 + f32.const -0.26776307821273804 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1736 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 6.483936309814453 + f32.const 0.48381292819976807 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1737 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 7.859063148498535 + f32.const 0.07413065433502197 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1738 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const 7.717156887054443 + f32.const 0.4940592646598816 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1739 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 2.104006052017212 + f32.const -0.287089467048645 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1740 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const 0.5596880316734314 + f32.const 0.4191940724849701 + i32.const 1 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1741 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3 + f32.const 4 + f32.const 5 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3 + f32.const 4 + f32.const 5 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4 + f32.const 3 + f32.const 5 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4 + f32.const -3 + f32.const 5 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3 + f32.const -4 + f32.const 5 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1748 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const 0 + f32.const 3402823466385288598117041e14 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1749 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const -0 + f32.const 3402823466385288598117041e14 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1750 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 0 + f32.const 1.401298464324817e-45 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1751 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const -0 + f32.const 1.401298464324817e-45 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1752 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1753 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1754 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1755 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1756 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 1 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1757 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1758 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1761 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_hypotf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1762 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1774 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.4690809584224322 + f64.const -0.3412533402442932 + i32.const 1 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1775 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1776 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1777 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.2264658498795615 + f64.const 0.3638114035129547 + i32.const 1 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1778 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const -0.4125110252365137 + f64.const -0.29108747839927673 + i32.const 1 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1779 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1780 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const -0.5766810183195862 + f64.const -0.10983199626207352 + i32.const 1 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const -0.2559866591263865 + f64.const -0.057990044355392456 + i32.const 1 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1786 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1787 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1788 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1789 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1790 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1791 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1792 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1793 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1802 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1803 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1804 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1805 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1806 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1807 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1808 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1809 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1812 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1817 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1818 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_logf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1819 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1831 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 0.6380137537120029 + f64.const -0.2088824063539505 + i32.const 1 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1832 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1833 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1834 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 0.9669418327487274 + f64.const -0.06120431795716286 + i32.const 1 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1835 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const -0.17915126198447093 + f64.const 0.39090874791145325 + i32.const 1 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1836 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1837 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const -0.25044938407454437 + f64.const -0.3046841621398926 + i32.const 1 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1838 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const -0.11117359349943837 + f64.const -0.31503361463546753 + i32.const 1 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1839 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1840 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1843 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1844 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1845 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1846 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1847 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1848 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1849 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_log10 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1850 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1859 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 0.6380137205123901 + f32.const -0.20476758480072021 + i32.const 1 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1860 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1861 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1862 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 0.9669418334960938 + f32.const -0.34273025393486023 + i32.const 1 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1863 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const -0.1791512817144394 + f32.const -0.27078554034233093 + i32.const 1 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1864 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1865 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const -0.25044935941696167 + f32.const 0.2126826047897339 + i32.const 1 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1866 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const -0.1111735999584198 + f32.const 0.46515095233917236 + i32.const 1 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1867 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1868 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1871 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1873 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1874 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1875 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_log10f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 1.6762064170601734 + f64.const 0.46188199520111084 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1892 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1893 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 2.3289404168523826 + f64.const -0.411114901304245 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1894 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.5080132114992477 + f64.const -0.29306045174598694 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.5218931811663979 + f64.const -0.25825726985931396 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.4458132279488102 + f64.const -0.13274887204170227 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.5733227294648414 + f64.const 0.02716583013534546 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1898 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -1.1355782978128564 + f64.const 0.2713092863559723 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1899 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1902 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1903 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -7.888609052210118e-31 + f64.const 1.7763568394002505e-15 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1904 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.6931471805599453 + f64.const -0.2088811695575714 + i32.const 1 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1905 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1906 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1907 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1908 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_log1p + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1909 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1918 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 1.676206350326538 + f32.const -0.23014859855175018 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1919 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1920 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 2.3289403915405273 + f32.const -0.29075589776039124 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1922 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5080131888389587 + f32.const -0.1386766880750656 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1923 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.5218932032585144 + f32.const -0.08804433047771454 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1924 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.44581323862075806 + f32.const -0.15101368725299835 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1925 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.5733227133750916 + f32.const -0.10264533013105392 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1926 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -1.1355782747268677 + f32.const -0.19879481196403503 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1927 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1930 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1931 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -7.888609052210118e-31 + f32.const 3.308722450212111e-24 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1932 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0.6931471824645996 + f32.const 0.031954795122146606 + i32.const 1 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1933 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1934 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1935 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1936 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1937 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 4.930380657631324e-32 + i32.const 9 + call $std/math/test_log1pf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1938 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.1194358133804485 + f64.const -0.10164877772331238 + i32.const 1 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1951 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1952 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1953 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 3.2121112403298744 + f64.const -0.15739446878433228 + i32.const 1 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1954 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const -0.5951276104207402 + f64.const 0.3321485221385956 + i32.const 1 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1955 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1956 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const -0.8319748453044644 + f64.const 0.057555437088012695 + i32.const 1 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1957 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const -0.36931068365537134 + f64.const -0.19838279485702515 + i32.const 1 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1958 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1959 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1962 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1963 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1964 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1965 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1966 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1967 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1968 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_log2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1969 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1978 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.1194357872009277 + f32.const 0.18271538615226746 + i32.const 1 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1979 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1980 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1981 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 3.212111234664917 + f32.const -0.3188050389289856 + i32.const 1 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1982 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const -0.5951276421546936 + f32.const 0.34231460094451904 + i32.const 1 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1983 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1984 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const -0.8319748044013977 + f32.const -0.33473604917526245 + i32.const 1 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1985 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const -0.3693107068538666 + f32.const 0.3278401792049408 + i32.const 1 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1986 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1987 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1990 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1991 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1992 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1993 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1994 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1995 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1996 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_log2f + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1997 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 4.535662560676869 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2009 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2010 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -2.763607337379588 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2011 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const 4.567535276842744 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2012 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 9.267056966972586 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2013 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 0.6620717923376739 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2014 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 7.858890253041697 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2015 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const 7.67640268511754 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2016 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 2.0119025790324803 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2017 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const 0.03223983060263804 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2018 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2021 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2022 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2023 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2024 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2025 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2026 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2027 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2028 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2029 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2030 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2031 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2032 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2033 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2034 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2035 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2036 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2037 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2038 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2039 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2040 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2041 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2042 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2043 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2044 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2045 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2046 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2047 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2048 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2049 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2050 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2051 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2052 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2053 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2054 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2055 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2056 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2057 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2058 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2059 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2060 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 2 + f64.const 2 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2061 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0.5 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2062 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2063 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2064 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2065 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2066 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2067 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2068 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2069 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2070 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2071 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2072 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2073 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2074 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const 1.75 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2075 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2076 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const 1.75 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2077 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_max + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2078 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 4.535662651062012 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2087 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2088 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -2.7636072635650635 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2089 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const 4.567535400390625 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2090 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 9.267057418823242 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2091 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 0.6620717644691467 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2092 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 7.858890056610107 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2093 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const 7.676402568817139 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2094 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 2.0119025707244873 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2095 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const 0.03223983198404312 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2096 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2099 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2106 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2107 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2110 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2130 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2131 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2132 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2133 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2135 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 2 + f32.const 2 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0.5 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const 1.75 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const 1.75 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_maxf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -8.06684839057968 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2168 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const -8.88799136300345 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2169 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -8.38143342755525 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2170 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -6.531673581913484 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2171 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 4.811392084359796 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -6.450045556060236 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 0.05215452675006225 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2175 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2176 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.5587586823609152 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2177 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2180 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2181 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2182 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2183 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2184 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2185 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2196 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2197 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2206 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2207 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2208 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2209 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2210 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2211 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2212 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2213 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2214 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2215 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2216 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const 2 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2217 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2218 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2219 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 2 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2220 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0.5 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2224 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2225 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2226 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2227 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2228 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2229 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2230 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2231 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2232 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2233 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const -1.75 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2235 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2236 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const -1.75 + f64.const 0 + i32.const 0 + call $std/math/test_min + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2237 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -8.066848754882812 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2246 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const -8.887990951538086 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2247 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -8.381433486938477 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -6.531673431396484 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 4.811392307281494 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2250 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -6.450045585632324 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 0.052154526114463806 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2253 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2254 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.5587586760520935 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2259 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2260 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2261 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2262 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2263 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2264 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 1 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2265 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2267 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2268 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2269 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2272 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2273 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2274 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2275 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2276 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2277 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2278 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2279 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2290 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2291 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const 2 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2296 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2297 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 2 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2298 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0.5 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2299 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2300 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2301 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2302 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2303 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2308 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const -1.75 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const -1.75 + f32.const 0 + i32.const 0 + call $std/math/test_minf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2315 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -3.531185829902812 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2329 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2330 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -0.09061141541648476 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2331 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -1.9641383050707404 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2332 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 4.45566488261279 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2333 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -0.4913994250211714 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2334 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 0.035711240532359426 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2337 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.0106815621160685 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2338 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2344 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2345 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2346 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2347 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2348 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2349 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2350 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2351 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2352 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2353 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2354 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2355 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2356 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2357 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2358 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2359 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2360 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2361 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2362 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2363 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2364 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2365 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2366 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2367 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2368 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2369 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2370 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2371 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2372 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2373 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2374 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2375 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2376 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2377 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2378 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2379 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2380 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2381 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2382 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2383 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2384 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2385 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2386 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2387 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2388 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2389 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2390 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2391 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2392 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2393 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2394 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2395 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2396 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2399 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2400 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2401 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2402 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const 0.25 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2403 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const -0.25 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2404 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const 0.25 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2405 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const -0.25 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2406 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const 2.2250738585072014e-308 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2409 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const -2.2250738585072014e-308 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2410 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072014e-308 + f64.const 2.2250738585072014e-308 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2411 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072014e-308 + f64.const -2.2250738585072014e-308 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2412 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 1797693134862315708145274e284 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2413 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const -1797693134862315708145274e284 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2414 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const 1797693134862315708145274e284 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2415 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const -1797693134862315708145274e284 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2416 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 2.2250738585072014e-308 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1797693134862315708145274e284 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -2.2250738585072014e-308 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1797693134862315708145274e284 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2422 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 2.2250738585072014e-308 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2423 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1797693134862315708145274e284 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2424 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -2.2250738585072014e-308 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2425 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1797693134862315708145274e284 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2426 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 1797693134862315508561243e284 + f64.const 1995840309534719811656372e268 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const 1797693134862315508561243e284 + f64.const -1995840309534719811656372e268 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const -8988465674311579538646525e283 + f64.const 8988465674311577542806216e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const -8988465674311579538646525e283 + f64.const -8988465674311577542806216e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2433 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 8988465674311578540726371e283 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2435 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const 8988465674311578540726371e283 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2436 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const -8988465674311577542806216e283 + f64.const 1995840309534719811656372e268 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2438 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const -8988465674311577542806216e283 + f64.const -1995840309534719811656372e268 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2439 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311579538646525e283 + f64.const 1797693134862315708145274e284 + f64.const 8988465674311579538646525e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2441 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8988465674311579538646525e283 + f64.const 1797693134862315708145274e284 + f64.const -8988465674311579538646525e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2442 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311578540726371e283 + f64.const -1797693134862315708145274e284 + f64.const 8988465674311578540726371e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2444 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8988465674311578540726371e283 + f64.const -1797693134862315708145274e284 + f64.const -8988465674311578540726371e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311577542806216e283 + f64.const 1797693134862315708145274e284 + f64.const 8988465674311577542806216e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8988465674311577542806216e283 + f64.const 1797693134862315708145274e284 + f64.const -8988465674311577542806216e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315508561243e284 + f64.const -1797693134862315708145274e284 + f64.const 1797693134862315508561243e284 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315508561243e284 + f64.const -1797693134862315708145274e284 + f64.const -1797693134862315508561243e284 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2451 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315508561243e284 + f64.const 8988465674311578540726371e283 + f64.const 8988465674311576544886061e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315508561243e284 + f64.const 8988465674311578540726371e283 + f64.const -8988465674311576544886061e283 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 6.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2458 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2459 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2460 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2461 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2462 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2463 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585071994e-308 + f64.const 2.2250738585072004e-308 + f64.const 2.2250738585071994e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2465 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585071994e-308 + f64.const -2.2250738585072004e-308 + f64.const 2.2250738585071994e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2466 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const 1.5e-323 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2467 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const 4.4501477170144023e-308 + f64.const 2.225073858507201e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2468 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const inf + f64.const 2.225073858507201e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2469 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const -1.5e-323 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2470 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const 1.5e-323 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2471 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const 2.2250738585072004e-308 + f64.const 1e-323 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2472 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const 4.4501477170144023e-308 + f64.const 2.2250738585072014e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2473 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const -1.5e-323 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2474 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507202e-308 + f64.const 2.2250738585072004e-308 + f64.const 1.5e-323 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2475 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072024e-308 + f64.const 1.5e-323 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072024e-308 + f64.const -1.5e-323 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2477 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507203e-308 + f64.const 1.5e-323 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2478 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507203e-308 + f64.const 2.225073858507204e-308 + f64.const 2.225073858507203e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507203e-308 + f64.const -1.5e-323 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2480 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072034e-308 + f64.const 2.225073858507204e-308 + f64.const 2.2250738585072034e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2481 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072043e-308 + f64.const 2.225073858507204e-308 + f64.const 5e-324 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2482 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.4501477170144023e-308 + f64.const 4.450147717014403e-308 + f64.const 4.4501477170144023e-308 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.139237815555687e-305 + f64.const 5.696189077778436e-306 + f64.const 5.696189077778434e-306 + f64.const 0 + i32.const 0 + call $std/math/test_mod + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -3.531186103820801 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2493 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -0.09061169624328613 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2495 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -1.9641380310058594 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2496 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 4.455665111541748 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2497 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -0.49139970541000366 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2498 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 0.0357111394405365 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2499 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2500 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2501 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.010681532323360443 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2502 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2505 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2506 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2507 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2508 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2509 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2510 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const 1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2511 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const 1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2512 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2513 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2514 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2515 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2516 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2517 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2518 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2519 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2521 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2522 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const -1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const -1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2533 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2534 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2535 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2536 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2537 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2538 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2539 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2540 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2541 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2542 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2543 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2544 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2545 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2546 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2547 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2548 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2549 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2550 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2551 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2552 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2553 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2554 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2555 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2556 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2557 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2558 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2559 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2560 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2561 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2562 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2563 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2564 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2565 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2566 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const 0.25 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2567 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const -0.25 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2568 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const 0.25 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2569 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const -0.25 + f32.const 0 + i32.const 0 + call $std/math/test_modf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2570 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2582 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 2.1347118825587285e-06 + f64.const 0.3250160217285156 + i32.const 1 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2583 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2584 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2585 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 44909.29941512966 + f64.const -0.26659080386161804 + i32.const 1 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2586 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2587 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 1.1135177413458652 + f64.const -0.37168607115745544 + i32.const 1 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2588 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2589 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.37690773521380183 + f64.const 0.32473301887512207 + i32.const 1 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2590 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2591 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2594 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2595 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 3 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2596 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 2 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2597 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2598 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0.5 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2599 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2600 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2601 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0.5 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2602 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2603 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -2 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2604 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -3 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2605 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -4 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2606 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2607 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2608 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2609 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 3 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2610 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 2 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2611 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2612 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0.5 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2613 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2614 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2615 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0.5 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2616 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2617 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -2 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2618 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -3 + f64.const -inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2619 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -4 + f64.const inf + f64.const 0 + i32.const 4 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2620 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2621 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2622 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2623 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2624 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2625 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2626 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2627 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2630 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2631 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2632 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2633 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2634 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2635 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2636 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 2 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2637 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2638 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -2 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2639 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -3 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2640 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2641 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2642 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2643 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2644 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 3 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2645 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.5 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2646 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -0.5 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2647 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -3 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2648 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2649 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1.5 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2650 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 2 + f64.const 0.25 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2651 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 3 + f64.const -0.125 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2652 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2653 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2654 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2657 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2658 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2661 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2662 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 3 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2666 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2667 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0.5 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2668 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2669 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2670 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -2 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2671 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2672 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2673 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2674 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 3 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2675 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 2 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2676 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2677 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0.5 + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2678 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0.5 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2679 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2680 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -2 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2681 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2682 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2683 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const 1 + f64.const -2 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2684 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_pow + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2685 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2688 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2689 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2690 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2691 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2692 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2693 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2695 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2697 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const -0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2698 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const -1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2699 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2700 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const -inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2701 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + call $~lib/math/NativeMath.pow + local.tee $0 + local.get $0 + f64.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2702 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2704 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const -inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2705 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const -1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2706 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const 2 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2707 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2708 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2709 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const -0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2710 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + call $~lib/math/NativeMath.pow + local.tee $0 + local.get $0 + f64.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2711 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 2 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2713 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 2 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2714 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 2 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2715 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 2 + call $~lib/math/NativeMath.pow + f64.const 0.25 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2716 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 2 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2717 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + call $~lib/math/NativeMath.pow + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2718 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 2 + call $~lib/math/NativeMath.pow + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2719 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 2 + call $~lib/math/NativeMath.pow + local.tee $0 + local.get $0 + f64.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2720 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2722 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2723 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0.5 + call $~lib/math/NativeMath.pow + local.tee $0 + local.get $0 + f64.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2724 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 2 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2725 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2726 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2727 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2728 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0.5 + call $~lib/math/NativeMath.pow + local.tee $0 + local.get $0 + f64.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2729 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2738 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 2.134714122803416e-06 + f32.const 0.1436440795660019 + i32.const 1 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2739 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2740 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2741 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 44909.33203125 + f32.const -0.05356409028172493 + i32.const 1 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2742 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2743 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 1.1135177612304688 + f32.const 0.19122089445590973 + i32.const 1 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.3769077658653259 + f32.const 0.337149053812027 + i32.const 1 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2750 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2751 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 3 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2752 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 2 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2753 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2754 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0.5 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2755 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2756 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2757 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0.5 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2758 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -2 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -3 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2761 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -4 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2762 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2763 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2764 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2765 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 3 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2766 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 2 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2767 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2768 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0.5 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2769 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2770 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2771 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0.5 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2772 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2773 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -2 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2774 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -3 + f32.const -inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2775 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -4 + f32.const inf + f32.const 0 + i32.const 4 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2776 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2777 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2778 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2779 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2780 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2784 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2785 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2786 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2787 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2788 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2789 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2790 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2791 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2792 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 2 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2793 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2794 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -2 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2795 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -3 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2796 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0.5 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2797 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2798 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2799 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2800 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 3 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2801 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0.5 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2802 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -0.5 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2803 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -3 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2804 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 0.5 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2805 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1.5 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2806 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 2 + f32.const 0.25 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2807 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 3 + f32.const -0.125 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2808 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2809 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2810 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2811 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2812 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const -inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2817 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2818 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2819 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2820 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 3 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2821 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2822 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2823 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0.5 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2824 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2825 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2826 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -2 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2827 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2828 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2829 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2830 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 3 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2831 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 2 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2832 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 1 + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2833 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0.5 + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2834 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0.5 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2835 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2836 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -2 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2837 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2838 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2839 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const 1 + f32.const -2 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2840 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2841 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $~lib/bindings/Math/random + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + i32.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + f64.convert_i32_s + f64.const 1e6 + f64.lt + local.set $2 + local.get $2 + if + call $~lib/math/NativeMath.random + local.set $0 + local.get $0 + f64.const 0 + f64.ge + if (result i32) + local.get $0 + f64.const 1 + f64.lt + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2850 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + call $~lib/bindings/Math/random + i64.reinterpret_f64 + local.set $3 + local.get $3 + call $~lib/math/NativeMath.seedRandom + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + f64.convert_i32_s + f64.const 1e6 + f64.lt + local.set $2 + local.get $2 + if + call $~lib/math/NativeMathf.random + local.set $4 + local.get $4 + f32.const 0 + f32.ge + if (result i32) + local.get $4 + f32.const 1 + f32.lt + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2858 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2873 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2874 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -7 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2875 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2879 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2880 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2881 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2884 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2885 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2886 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2887 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2888 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2889 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2892 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 2 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2893 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2894 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2898 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2899 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2900 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2909 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2910 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2911 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -7 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2912 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2913 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2914 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2915 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2916 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2917 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2918 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2922 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2923 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2924 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2925 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2926 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2927 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2928 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2929 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 2 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2930 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_round + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2931 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2932 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2933 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2934 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2935 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2936 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_roundf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2937 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2951 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2952 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2953 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2954 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2955 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_sign + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2956 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2964 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2965 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2966 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2967 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2968 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2969 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2970 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2971 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_signf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2972 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2978 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2979 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2980 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2981 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2982 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -nan:0x8000000000000 + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2983 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2984 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + local.set $0 + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.get $0 + local.get $0 + f64.eq + i32.and + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2985 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2991 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2992 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2993 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2994 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2995 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -nan:0x400000 + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2996 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2997 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + local.set $4 + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + local.get $4 + local.get $4 + f32.eq + i32.and + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2998 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 1.0044767307740567 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3009 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3010 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -0.09061141541648476 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3011 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -1.9641383050707404 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3012 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const -0.35572720174700656 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3013 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 0.17067236731650248 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3014 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const -0.016443286217702822 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3015 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3016 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3017 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.0106815621160685 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3018 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3021 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3022 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3023 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3024 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3025 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3026 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const 1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3027 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const 1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3028 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3029 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const 1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3030 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3031 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3032 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3033 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3034 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3035 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const -1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3036 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3037 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3038 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3039 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5 + f64.const -1 + f64.const -0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3040 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.5 + f64.const -1 + f64.const 0.5 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3041 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const -1 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3042 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -1 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3043 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3044 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3045 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3046 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3047 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3048 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3049 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -inf + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3050 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3051 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3052 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3053 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3054 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -inf + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3055 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3056 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3057 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3058 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3059 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3060 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3061 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3062 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3063 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3064 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3065 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3066 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3067 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3068 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3069 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3070 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3071 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3072 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3073 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3074 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3075 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3076 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3077 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3078 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const -inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3079 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3080 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3081 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3082 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const 0.5 + f64.const -0.25 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3083 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const 0.5 + f64.const 0.25 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3084 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.75 + f64.const -0.5 + f64.const -0.25 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3085 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.75 + f64.const -0.5 + f64.const 0.25 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3086 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8e-323 + f64.const inf + f64.const 8e-323 + f64.const 0 + i32.const 0 + call $std/math/test_rem + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3087 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 1.004476547241211 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3096 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3097 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -0.09061169624328613 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3098 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -1.9641380310058594 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3099 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const -0.3557271957397461 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3100 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 0.17067205905914307 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3101 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const -0.016443386673927307 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3102 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3103 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3104 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.010681532323360443 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3105 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3108 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3109 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3110 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3111 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3112 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3113 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const 1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3114 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const 1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3115 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const 1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3116 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const 1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3117 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3118 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3119 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3120 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3121 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3122 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const -1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3123 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3124 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3125 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3126 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.5 + f32.const -1 + f32.const -0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3127 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.5 + f32.const -1 + f32.const 0.5 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3128 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2 + f32.const -1 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3129 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -1 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3130 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3131 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3132 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3133 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3134 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3135 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3136 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const -inf + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3137 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3138 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3139 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3140 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3141 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -inf + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3142 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3143 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3144 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3145 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3146 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3147 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3148 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3149 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3150 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3151 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3152 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3153 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3154 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3155 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3156 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3157 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3158 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3159 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3160 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3161 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3162 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3163 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3164 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3165 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const -inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3166 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3167 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3168 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3169 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const 0.5 + f32.const -0.25 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3170 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const 0.5 + f32.const 0.25 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3171 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.75 + f32.const -0.5 + f32.const -0.25 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3172 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.75 + f32.const -0.5 + f32.const 0.25 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3173 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const inf + f32.const 5.877471754111438e-39 + f32.const 0 + i32.const 0 + call $std/math/test_remf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3174 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -0.9774292928781227 + f64.const -0.14564912021160126 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3186 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const -0.9333544736965718 + f64.const -0.08813747018575668 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3187 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -0.8640924711706304 + f64.const -0.11743883043527603 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3188 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -0.24593894772615374 + f64.const -0.12697851657867432 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3189 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 0.15706789772028007 + f64.const -0.029550159350037575 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3190 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.6146844860113447 + f64.const -0.09976737946271896 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3191 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.39549242182823696 + f64.const -0.3668774962425232 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3192 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5326763286672376 + f64.const -0.3550407588481903 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3193 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6991102068649779 + f64.const -0.427672415971756 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3194 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.6278312326301215 + f64.const -0.3828115463256836 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3195 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.313225746154785e-10 + f64.const 9.313225746154785e-10 + f64.const 6.510416860692203e-04 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3198 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -9.313225746154785e-10 + f64.const -9.313225746154785e-10 + f64.const -6.510416860692203e-04 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3199 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const 2.2250738585072014e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3200 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072014e-308 + f64.const -2.2250738585072014e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3201 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 5e-324 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3202 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const -5e-324 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3203 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3204 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3205 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507202e-308 + f64.const 2.225073858507202e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3206 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072024e-308 + f64.const 2.2250738585072024e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3207 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.4501477170144003e-308 + f64.const 4.4501477170144003e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3208 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.450147717014403e-308 + f64.const 4.450147717014403e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3209 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.450147717014406e-308 + f64.const 4.450147717014406e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3210 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.900295434028806e-308 + f64.const 8.900295434028806e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3211 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1175870895385742e-08 + f64.const 1.1175870895385742e-08 + f64.const 0.140625 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3212 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.4901161193847656e-08 + f64.const 1.4901161193847656e-08 + f64.const 0.1666666716337204 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3213 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507202e-308 + f64.const -2.225073858507202e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3214 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072024e-308 + f64.const -2.2250738585072024e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3215 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.4501477170144003e-308 + f64.const -4.4501477170144003e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3216 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.450147717014403e-308 + f64.const -4.450147717014403e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3217 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.450147717014406e-308 + f64.const -4.450147717014406e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3218 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.900295434028806e-308 + f64.const -8.900295434028806e-308 + f64.const 0 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3219 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.1175870895385742e-08 + f64.const -1.1175870895385742e-08 + f64.const -0.140625 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3220 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.4901161193847656e-08 + f64.const -1.4901161193847656e-08 + f64.const -0.1666666716337204 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3221 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.4901161193847656e-08 + f64.const -1.4901161193847656e-08 + f64.const -0.1666666716337204 + i32.const 1 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3222 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + f64.const 1e-323 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3223 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.4e-323 + f64.const 4.4e-323 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3224 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.562684646268003e-309 + f64.const 5.562684646268003e-309 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3225 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1125369292536007e-308 + f64.const 1.1125369292536007e-308 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3226 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072004e-308 + f64.const 2.2250738585072004e-308 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3227 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const 2.225073858507201e-308 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3228 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-323 + f64.const -1e-323 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3229 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.4e-323 + f64.const -4.4e-323 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3230 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5.562684646268003e-309 + f64.const -5.562684646268003e-309 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3231 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.1125369292536007e-308 + f64.const -1.1125369292536007e-308 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3232 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072004e-308 + f64.const -2.2250738585072004e-308 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3233 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507201e-308 + f64.const -2.225073858507201e-308 + f64.const 0 + i32.const 9 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3234 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3237 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3238 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3239 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3240 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_sin + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3241 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5707963267948966 + call $~lib/math/NativeMath.sin + f64.const 1.5707963267948966 + call $~lib/bindings/Math/sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3244 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.141592653589793 + call $~lib/math/NativeMath.sin + f64.const 3.141592653589793 + call $~lib/bindings/Math/sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3245 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3283064365386963e-10 + f64.const 2.3283064365386963e-10 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3248 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.3283064365386963e-10 + f64.const -2.3283064365386963e-10 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3249 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.3826834323650898 + f64.const 0.39269908169872414 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3251 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.3826834323650898 + f64.const -0.39269908169872414 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3252 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.479425538604203 + f64.const 0.5 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3255 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.479425538604203 + f64.const -0.5 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3256 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1.5707963267948966 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3257 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1.5707963267948966 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3258 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2246467991473532e-16 + f64.const 3.141592653589793 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3260 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.047032979958965e-14 + f64.const 6911.503837897545 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3261 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.7071067811865477 + f64.const 5.497787143782138 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3263 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7071067811865474 + f64.const 7.0685834705770345 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3264 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7071067811865483 + f64.const 8.63937979737193 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3265 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.7071067811865479 + f64.const 10.210176124166829 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3266 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -3.2103381051568376e-11 + f64.const 823549.6645826427 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3267 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.377820109360752 + f64.const 1329227995784915872903807e12 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3270 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.377820109360752 + f64.const -1329227995784915872903807e12 + call $~lib/math/NativeMath.sin + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3271 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.977429211139679 + f32.const 0.0801057294011116 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3280 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const -0.933354377746582 + f32.const 0.34475627541542053 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3281 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.8640924692153931 + f32.const -0.468659907579422 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3282 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.24593880772590637 + f32.const -0.3955177664756775 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3283 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 0.1570674479007721 + f32.const -0.24006809294223785 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3284 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.6146844625473022 + f32.const -0.07707194238901138 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3285 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.39549243450164795 + f32.const -0.11720617115497589 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3286 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5326763391494751 + f32.const -0.16059114038944244 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3287 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.699110209941864 + f32.const 0.26384368538856506 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3288 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.627831220626831 + f32.const 0.005127954296767712 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3289 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3292 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3293 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3294 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3295 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3296 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1.862645149230957e-09 + f32.const 4.850638554015907e-12 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3299 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const -1.862645149230957e-09 + f32.const -4.850638554015907e-12 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3300 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1.1754943508222875e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3301 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const -1.1754943508222875e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3302 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1.401298464324817e-45 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3303 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const -1.401298464324817e-45 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3304 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1.175494490952134e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3305 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1.1754946310819804e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3306 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 2.3509880009953429e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3307 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3308 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 2.3509895424236536e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3309 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 4.70197740328915e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3310 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1175870895385742e-08 + f32.const 1.1175870895385742e-08 + f32.const 2.6193447411060333e-10 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3311 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4901161193847656e-08 + f32.const 1.4901161193847656e-08 + f32.const 3.1044086745701804e-10 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3312 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 0.000244140625 + f32.const 0.0833333358168602 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3313 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.0003662109375 + f32.const 0.0003662109375 + f32.const 0.28125 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3314 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const -1.175494490952134e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3315 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const -1.1754946310819804e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3316 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const -2.3509880009953429e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3317 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.350988701644575e-38 + f32.const -2.350988701644575e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3318 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const -2.3509895424236536e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3319 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const -4.70197740328915e-38 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3320 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1175870895385742e-08 + f32.const -1.1175870895385742e-08 + f32.const -2.6193447411060333e-10 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3321 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.4901161193847656e-08 + f32.const -1.4901161193847656e-08 + f32.const -3.1044086745701804e-10 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3322 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const -0.000244140625 + f32.const -0.0833333358168602 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3323 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.0003662109375 + f32.const -0.0003662109375 + f32.const -0.28125 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3324 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 2.802596928649634e-45 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3325 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1.2611686178923354e-44 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3326 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3327 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 5.877471754111438e-39 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3328 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1.1754940705625946e-38 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3329 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1.1754942106924411e-38 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3330 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const -2.802596928649634e-45 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3331 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const -1.2611686178923354e-44 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3332 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3333 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const -5.877471754111438e-39 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3334 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const -1.1754940705625946e-38 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3335 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 0 + i32.const 9 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3336 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 255.99993896484375 + f32.const -0.9992055892944336 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3339 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5033165 + f32.const 0.5312945246696472 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3340 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 421657440 + f32.const -0.7397398948669434 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3341 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2147483392 + f32.const 0.2762770354747772 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3342 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 68719476736 + f32.const 0.9855440855026245 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3343 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 549755813888 + f32.const -0.9782648086547852 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3344 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const -0.5218765139579773 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3345 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -255.99993896484375 + f32.const 0.9992055892944336 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3346 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5033165 + f32.const -0.5312945246696472 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3347 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -421657440 + f32.const 0.7397398948669434 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3348 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2147483392 + f32.const -0.2762770354747772 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3349 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -68719476736 + f32.const -0.9855440855026245 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3350 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -549755813888 + f32.const 0.9782648086547852 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3351 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3402823466385288598117041e14 + f32.const 0.5218765139579773 + f32.const 0 + i32.const 1 + call $std/math/test_sinf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3352 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -1593.5206801156262 + f64.const -0.2138727605342865 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3364 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 38.54878088685412 + f64.const 0.21537430584430695 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3365 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -2182.6307505145546 + f64.const 0.16213826835155487 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3366 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -343.2723926847529 + f64.const 0.20479513704776764 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3367 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 5291.7790755194055 + f64.const -0.48676517605781555 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3368 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7114062568229157 + f64.const -0.4584641456604004 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3369 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.41790065258739445 + f64.const 0.37220045924186707 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3370 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5917755935451237 + f64.const 0.46178996562957764 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3371 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.8538292008852542 + f64.const -0.07019051909446716 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3372 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.732097615653169 + f64.const 0.26858529448509216 + i32.const 1 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3373 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3376 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3377 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3378 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3379 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_sinh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3380 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -1593.521240234375 + f32.const 0.1671663224697113 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3389 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 38.548770904541016 + f32.const -0.49340328574180603 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3390 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -2182.630859375 + f32.const 0.0849970355629921 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3391 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -343.2723388671875 + f32.const 0.0704190656542778 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3392 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 5291.78125 + f32.const -0.44362515211105347 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3393 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7114062309265137 + f32.const 0.058103885501623154 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3394 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.4179006516933441 + f32.const 0.39349499344825745 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3395 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5917755961418152 + f32.const -0.4183797240257263 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3396 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.8538292050361633 + f32.const 0.45992106199264526 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3397 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.7320976257324219 + f32.const -0.48159059882164 + i32.const 1 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3398 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3401 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3402 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3403 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3404 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_sinhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3405 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3417 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.0845238903256313 + f64.const -0.07180261611938477 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3418 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3419 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3420 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 3.0441841217266385 + f64.const -0.01546262577176094 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3421 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.8136251582267503 + f64.const -0.08618157356977463 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3422 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3423 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.7495063350104014 + f64.const -0.0981396734714508 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3424 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.879859248170583 + f64.const -0.37124353647232056 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3425 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3426 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3429 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3430 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3431 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3432 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3433 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3434 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3435 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4 + f64.const 2 + f64.const 0 + i32.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3436 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + f64.const 3.1434555694052576e-162 + f64.const 0.43537619709968567 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3437 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5e-323 + f64.const 3.849931087076416e-162 + f64.const -0.45194002985954285 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3438 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 2.2227587494850775e-162 + f64.const 0 + i32.const 0 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3439 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3440 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + f64.const 0.9999999999999999 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3441 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.9999999999999998 + f64.const 1.414213562373095 + f64.const -0.21107041835784912 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3442 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const 1 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3443 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.0000000000000004 + f64.const 1.4142135623730951 + f64.const -0.27173060178756714 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3444 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000000000000002 + f64.const 1 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3445 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999999999999999 + f64.const 0.9999999999999999 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3446 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3447 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 1340780792994259561100831e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3448 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 179769313486231490980915e285 + f64.const 134078079299425926338769e131 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3449 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862314111473026e284 + f64.const 1340780792994258965674548e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3450 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862313313136902e284 + f64.const 1340780792994258667961407e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3451 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862312514800778e284 + f64.const 1340780792994258370248265e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3452 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862311716464655e284 + f64.const 1340780792994258072535124e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3453 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862310918128531e284 + f64.const 1340780792994257774821982e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3454 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862310119792407e284 + f64.const 1340780792994257477108841e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3455 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862309321456283e284 + f64.const 1340780792994257179395699e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3456 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862308523120159e284 + f64.const 1340780792994256881682558e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3457 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862307724784036e284 + f64.const 1340780792994256583969417e130 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3458 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507203e-308 + f64.const 1.4916681462400417e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3459 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507205e-308 + f64.const 1.4916681462400423e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3460 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507207e-308 + f64.const 1.491668146240043e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3461 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507209e-308 + f64.const 1.4916681462400437e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3462 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507211e-308 + f64.const 1.4916681462400443e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3463 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072127e-308 + f64.const 1.491668146240045e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3464 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072147e-308 + f64.const 1.4916681462400457e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3465 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072167e-308 + f64.const 1.4916681462400463e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3466 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072187e-308 + f64.const 1.491668146240047e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3467 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072207e-308 + f64.const 1.4916681462400476e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3468 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072226e-308 + f64.const 1.4916681462400483e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3469 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072246e-308 + f64.const 1.491668146240049e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3470 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072266e-308 + f64.const 1.4916681462400496e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3471 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072286e-308 + f64.const 1.4916681462400503e-154 + f64.const -0.5 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3472 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 92.35130391890645 + f64.const 9.609958580499006 + f64.const 0.4998137056827545 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3473 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 93.3599596388916 + f64.const 9.662295774757238 + f64.const -0.49979978799819946 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3474 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 95.42049628886124 + f64.const 9.76834153215689 + f64.const -0.49997270107269287 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3475 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 95.87916941885449 + f64.const 9.791790919890728 + f64.const 0.4998766779899597 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3476 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 96.84804174884022 + f64.const 9.841140266698785 + f64.const 0.499801903963089 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3477 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.43639050883155 + f64.const 9.87098731175517 + f64.const 0.4997696280479431 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3478 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.50957979883047 + f64.const 9.874693909120955 + f64.const 0.49999818205833435 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3479 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 97.80496893882612 + f64.const 9.88963947466368 + f64.const -0.4999580681324005 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3480 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 98.2751822888192 + f64.const 9.913383997849534 + f64.const 0.49979931116104126 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3481 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 99.47293564880155 + f64.const 9.973611966023219 + f64.const -0.4999540448188782 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3482 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.57047130878539 + f64.const 10.028483001370914 + f64.const -0.49996453523635864 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3483 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.60954608878481 + f64.const 10.030431002144665 + f64.const 0.49975672364234924 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3484 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 100.67909109878379 + f64.const 10.033897104255344 + f64.const -0.4997771382331848 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3485 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 101.12268095877725 + f64.const 10.055977374615422 + f64.const 0.49988678097724915 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3486 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 101.3027691287746 + f64.const 10.064927676281366 + f64.const 0.4999105632305145 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3487 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.45932313565507e-307 + f64.const 4.9591563149945874e-154 + f64.const -0.4998999834060669 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3488 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.610957305180409e-307 + f64.const 7.490632353266584e-154 + f64.const -0.4999343752861023 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3489 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.8073887977408524e-307 + f64.const 7.62062254526548e-154 + f64.const -0.49989569187164307 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3490 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.026137080471427e-307 + f64.const 8.382205605013174e-154 + f64.const 0.49980640411376953 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3491 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.438697769194972e-307 + f64.const 9.186238495268328e-154 + f64.const -0.4999065697193146 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3492 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1607792515836795e-306 + f64.const 1.0773946591586944e-153 + f64.const -0.49997684359550476 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3493 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2827413827423193e-306 + f64.const 1.1325817333606962e-153 + f64.const -0.4999513030052185 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3494 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.7116604596087457e-306 + f64.const 1.3083044216117078e-153 + f64.const -0.49986395239830017 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3495 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.038173251686994e-306 + f64.const 1.4276460526639628e-153 + f64.const 0.4998403787612915 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3496 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.171572060856931e-306 + f64.const 1.4736254818836879e-153 + f64.const 0.4999290406703949 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3497 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.4681399631804094e-306 + f64.const 1.5710314965589996e-153 + f64.const 0.49989044666290283 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3498 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.5175533964200588e-306 + f64.const 1.5866799918131124e-153 + f64.const -0.4997701048851013 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3499 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.6461505468829625e-306 + f64.const 1.6266992797941982e-153 + f64.const 0.4998672902584076 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3500 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.8167076367720413e-306 + f64.const 1.9536395872248397e-153 + f64.const 0.49983471632003784 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3501 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.5743220778562766e-306 + f64.const 2.1387664851161936e-153 + f64.const 0.49985939264297485 + i32.const 1 + call $std/math/test_sqrt + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3502 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3511 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.084523916244507 + f32.const 0.3200402557849884 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3512 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3513 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3514 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 3.0441842079162598 + f32.const 0.05022354796528816 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3515 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.813625156879425 + f32.const 0.2240506112575531 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3516 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3517 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.7495063543319702 + f32.const 0.05895441770553589 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3518 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.879859209060669 + f32.const -0.4874873757362366 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3519 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3520 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3523 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3524 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3525 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3526 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3527 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3528 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3529 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4 + f32.const 2 + f32.const 0 + i32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3530 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 5.293955920339377e-23 + f32.const 0 + i32.const 0 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3531 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.203895392974451e-45 + f32.const 6.483745598763743e-23 + f32.const 0.37388554215431213 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3532 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 3.743392066509216e-23 + f32.const -0.20303145051002502 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3533 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3534 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 3402823466385288598117041e14 + f32.const 18446742974197923840 + f32.const -0.5 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3535 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -3402823466385288598117041e14 + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3536 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999998807907104 + f32.const 0.9999999403953552 + f32.const 2.980232594040899e-08 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3537 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999999403953552 + f32.const 0.9999999403953552 + f32.const -0.5 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3538 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.999999761581421 + f32.const 1.4142134189605713 + f32.const -0.4959246516227722 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3539 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.9999998807907104 + f32.const 1.4142135381698608 + f32.const 0.15052194893360138 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3540 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000001192092896 + f32.const 1 + f32.const -0.5 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3541 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.000000238418579 + f32.const 1.0000001192092896 + f32.const 5.960463766996327e-08 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3542 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.000000238418579 + f32.const 1.4142136573791504 + f32.const 0.08986179530620575 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3543 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.000000476837158 + f32.const 1.41421377658844 + f32.const 0.3827550709247589 + i32.const 1 + call $std/math/test_sqrtf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3544 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const 4.626603542401633 + f64.const -0.2727603316307068 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3556 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 2.600191705822202 + f64.const 0.2651003301143646 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3557 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const 1.7167408328741052 + f64.const -0.24687519669532776 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3558 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -0.2537322523453725 + f64.const -0.4679703712463379 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3559 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const -0.15904195727191958 + f64.const -0.06704077869653702 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3560 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.7792919106910434 + f64.const -0.038056135177612305 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3561 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.43059952879543656 + f64.const -0.09242714196443558 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3562 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.62940368731874 + f64.const -0.321913480758667 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3563 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.9777574652949645 + f64.const -0.1966651827096939 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3564 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.8066186630209123 + f64.const -0.067665696144104 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3565 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.313225746154785e-10 + f64.const 9.313225746154785e-10 + f64.const -1.3020833721384406e-03 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3568 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -9.313225746154785e-10 + f64.const -9.313225746154785e-10 + f64.const 1.3020833721384406e-03 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3569 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + f64.const 2.2250738585072014e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3570 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072014e-308 + f64.const -2.2250738585072014e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3571 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + f64.const 5e-324 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3572 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5e-324 + f64.const -5e-324 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3573 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3574 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3575 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7853981633974483 + f64.const 0.9999999999999999 + f64.const -0.4484681189060211 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3576 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.7853981633974483 + f64.const -0.9999999999999999 + f64.const 0.4484681189060211 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3577 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507202e-308 + f64.const 2.225073858507202e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3578 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072024e-308 + f64.const 2.2250738585072024e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3579 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.4501477170144003e-308 + f64.const 4.4501477170144003e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3580 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.450147717014403e-308 + f64.const 4.450147717014403e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3581 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.450147717014406e-308 + f64.const 4.450147717014406e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3582 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 8.900295434028806e-308 + f64.const 8.900295434028806e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3583 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1175870895385742e-08 + f64.const 1.1175870895385742e-08 + f64.const -0.28125 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3584 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.4901161193847656e-08 + f64.const 1.4901161193847656e-08 + f64.const -0.3333333432674408 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3585 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507202e-308 + f64.const -2.225073858507202e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3586 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072024e-308 + f64.const -2.2250738585072024e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3587 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.4501477170144003e-308 + f64.const -4.4501477170144003e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3588 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.450147717014403e-308 + f64.const -4.450147717014403e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3589 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.450147717014406e-308 + f64.const -4.450147717014406e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3590 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.900295434028806e-308 + f64.const -8.900295434028806e-308 + f64.const 0 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3591 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.1175870895385742e-08 + f64.const -1.1175870895385742e-08 + f64.const 0.28125 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3592 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.4901161193847656e-08 + f64.const -1.4901161193847656e-08 + f64.const 0.3333333432674408 + i32.const 1 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3593 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + f64.const 1e-323 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3594 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.4e-323 + f64.const 4.4e-323 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3595 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.562684646268003e-309 + f64.const 5.562684646268003e-309 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3596 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1125369292536007e-308 + f64.const 1.1125369292536007e-308 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3597 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072004e-308 + f64.const 2.2250738585072004e-308 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3598 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.225073858507201e-308 + f64.const 2.225073858507201e-308 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3599 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-323 + f64.const -1e-323 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3600 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -4.4e-323 + f64.const -4.4e-323 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3601 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -5.562684646268003e-309 + f64.const -5.562684646268003e-309 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3602 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.1125369292536007e-308 + f64.const -1.1125369292536007e-308 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3603 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.2250738585072004e-308 + f64.const -2.2250738585072004e-308 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3604 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.225073858507201e-308 + f64.const -2.225073858507201e-308 + f64.const 0 + i32.const 9 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3605 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.3283064365386963e-10 + call $~lib/math/NativeMath.tan + f64.const 2.3283064365386963e-10 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3608 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2.3283064365386963e-10 + call $~lib/math/NativeMath.tan + f64.const -2.3283064365386963e-10 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3609 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6875 + call $~lib/math/NativeMath.tan + f64.const 0.6875 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3610 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6875 + call $~lib/math/NativeMath.tan + f64.const -0.6875 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3611 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.39269908169872414 + call $~lib/math/NativeMath.tan + f64.const 0.39269908169872414 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3612 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6743358 + call $~lib/math/NativeMath.tan + f64.const 0.6743358 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3613 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 3.725290298461914e-09 + call $~lib/math/NativeMath.tan + f64.const 3.725290298461914e-09 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3614 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.5707963267948966 + call $~lib/math/NativeMath.tan + f64.const 1.5707963267948966 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3615 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + call $~lib/math/NativeMath.tan + f64.const 0.5 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3617 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.107148717794091 + call $~lib/math/NativeMath.tan + f64.const 1.107148717794091 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3618 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5.497787143782138 + call $~lib/math/NativeMath.tan + f64.const 5.497787143782138 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3619 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.0685834705770345 + call $~lib/math/NativeMath.tan + f64.const 7.0685834705770345 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3620 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1647099.3291652855 + call $~lib/math/NativeMath.tan + f64.const 1647099.3291652855 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3621 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1647097.7583689587 + call $~lib/math/NativeMath.tan + f64.const 1647097.7583689587 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3622 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1329227995784915872903807e12 + call $~lib/math/NativeMath.tan + f64.const 1329227995784915872903807e12 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3623 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1329227995784915872903807e12 + call $~lib/math/NativeMath.tan + f64.const -1329227995784915872903807e12 + call $~lib/bindings/Math/tan + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3624 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3627 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3628 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3629 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 2 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3630 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_tan + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3631 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const 4.626595497131348 + f32.const 0.2455666959285736 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3640 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 2.6001901626586914 + f32.const 0.3652407228946686 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3641 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const 1.716740608215332 + f32.const 0.08169349282979965 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3642 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.2537320852279663 + f32.const 0.23186513781547546 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3643 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const -0.15904149413108826 + f32.const -0.009332014247775078 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3644 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.7792918682098389 + f32.const -0.06759700924158096 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3645 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.43059954047203064 + f32.const 0.005771996453404427 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3646 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.6294037103652954 + f32.const -0.16838163137435913 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3647 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.977757453918457 + f32.const 0.38969388604164124 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3648 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.8066186308860779 + f32.const 0.12294059991836548 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3649 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3652 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3653 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3654 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const nan:0x400000 + f32.const 0 + i32.const 2 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3655 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3656 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.862645149230957e-09 + f32.const 1.862645149230957e-09 + f32.const -9.701277108031814e-12 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3659 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.862645149230957e-09 + f32.const -1.862645149230957e-09 + f32.const 9.701277108031814e-12 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3660 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754943508222875e-38 + f32.const 1.1754943508222875e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3661 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754943508222875e-38 + f32.const -1.1754943508222875e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3662 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.401298464324817e-45 + f32.const 1.401298464324817e-45 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3663 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.401298464324817e-45 + f32.const -1.401298464324817e-45 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3664 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.175494490952134e-38 + f32.const 1.175494490952134e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3665 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754946310819804e-38 + f32.const 1.1754946310819804e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3666 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509880009953429e-38 + f32.const 2.3509880009953429e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3667 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3668 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.3509895424236536e-38 + f32.const 2.3509895424236536e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3669 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.70197740328915e-38 + f32.const 4.70197740328915e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3670 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1175870895385742e-08 + f32.const 1.1175870895385742e-08 + f32.const -5.238689482212067e-10 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3671 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.4901161193847656e-08 + f32.const 1.4901161193847656e-08 + f32.const -6.208817349140361e-10 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3672 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.000244140625 + f32.const 0.000244140625 + f32.const -0.1666666716337204 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3673 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.175494490952134e-38 + f32.const -1.175494490952134e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3674 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754946310819804e-38 + f32.const -1.1754946310819804e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3675 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509880009953429e-38 + f32.const -2.3509880009953429e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3676 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.350988701644575e-38 + f32.const 2.350988701644575e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3677 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.3509895424236536e-38 + f32.const -2.3509895424236536e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3678 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -4.70197740328915e-38 + f32.const -4.70197740328915e-38 + f32.const 0 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3679 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1175870895385742e-08 + f32.const -1.1175870895385742e-08 + f32.const 5.238689482212067e-10 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3680 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.4901161193847656e-08 + f32.const -1.4901161193847656e-08 + f32.const 6.208817349140361e-10 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3681 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.000244140625 + f32.const -0.000244140625 + f32.const 0.1666666716337204 + i32.const 1 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3682 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.802596928649634e-45 + f32.const 2.802596928649634e-45 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3683 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.2611686178923354e-44 + f32.const 1.2611686178923354e-44 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3684 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3685 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 5.877471754111438e-39 + f32.const 5.877471754111438e-39 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3686 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754940705625946e-38 + f32.const 1.1754940705625946e-38 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3687 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.1754942106924411e-38 + f32.const 1.1754942106924411e-38 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3688 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.802596928649634e-45 + f32.const -2.802596928649634e-45 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3689 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.2611686178923354e-44 + f32.const -1.2611686178923354e-44 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3690 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3691 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -5.877471754111438e-39 + f32.const -5.877471754111438e-39 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3692 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754940705625946e-38 + f32.const -1.1754940705625946e-38 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3693 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 0 + i32.const 9 + call $std/math/test_tanf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3694 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -0.999999803096032 + f64.const 0.012793331407010555 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3706 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 0.9996636978961307 + f64.const 0.1573508232831955 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3707 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -0.9999998950434862 + f64.const 0.27985066175460815 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3708 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -0.9999957568392429 + f64.const -0.44285574555397034 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3709 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 0.9999999821447234 + f64.const 0.4462755024433136 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3710 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0.5796835018635275 + f64.const 0.4892043173313141 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3711 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0.3855853099901652 + f64.const 0.35993871092796326 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3712 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0.5092819248700439 + f64.const -0.39436522126197815 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3713 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0.6493374550318555 + f64.const -0.4899396002292633 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3714 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0.590715084799841 + f64.const -0.0145387789234519 + i32.const 1 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3715 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3718 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3719 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3720 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3721 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_tanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3722 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -0.9999998211860657 + f32.const -0.3034979999065399 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3731 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 0.9996637105941772 + f32.const 0.2154078334569931 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3732 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -0.9999998807907104 + f32.const 0.23912210762500763 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3733 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -0.999995768070221 + f32.const -0.18844597041606903 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3734 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 1 + f32.const 0.1497807800769806 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3735 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5796834826469421 + f32.const -0.05590476095676422 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3736 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0.38558530807495117 + f32.const 0.349787175655365 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3737 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0.5092819333076477 + f32.const -0.1528785079717636 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3738 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0.6493374705314636 + f32.const 0.4317026138305664 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3739 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0.5907150506973267 + f32.const 0.4079873859882355 + i32.const 1 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3740 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3743 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3744 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3745 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3746 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_tanhf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3747 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3759 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3760 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -8.38143342755525 + f64.const -8 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3761 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -6.531673581913484 + f64.const -6 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3762 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3763 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.6619858980995045 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3764 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3765 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3766 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.7741522965913037 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3767 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.6787637026394024 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3768 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 + i32.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3771 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + f64.const inf + f64.const 0 + i32.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3772 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + f64.const -inf + f64.const 0 + i32.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3773 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + f64.const 0 + i32.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3774 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + f64.const -0 + f64.const 0 + i32.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3775 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + f64.const 0 + i32.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3776 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const -1 + f64.const 0 + i32.const 0 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3777 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3778 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.5 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3779 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0000152587890625 + f64.const 1 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3780 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3781 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0.9999923706054688 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3782 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3783 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 7.888609052210118e-31 + f64.const 0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3784 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + i32.const 1 + call $std/math/test_trunc + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3785 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const -8 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3794 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 4.345239639282227 + f32.const 4 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3795 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -8.381433486938477 + f32.const -8 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3796 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -6.531673431396484 + f32.const -6 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3797 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 9.267057418823242 + f32.const 9 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3798 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.6619858741760254 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3799 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.40660393238067627 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3800 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5617597699165344 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3801 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.7741522789001465 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3802 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.6787636876106262 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3803 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 + i32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3806 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const inf + f32.const inf + f32.const 0 + i32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3807 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -inf + f32.const -inf + f32.const 0 + i32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3808 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + i32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3809 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const -0 + f32.const 0 + i32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3810 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + i32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3811 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + i32.const 0 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3812 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.5 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3813 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.5 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3814 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 1.0000152587890625 + f32.const 1 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3815 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3816 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 0.9999923706054688 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3817 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3818 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const 7.888609052210118e-31 + f32.const 0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3819 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + i32.const 1 + call $std/math/test_truncf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3820 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -4602641186874283791 + i64.const -4616392916911125550 + i64.const -4628956453976145920 + i64.const -4626592471448962314 + i64.const -4630808324688838656 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const 4616578323568966759 + i64.const -4616789907589610460 + i64.const -4632356642145435648 + i64.const -4623234040091605244 + i64.const -4630954342839484416 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const -4602464091242371353 + i64.const -4617413764247143988 + i64.const -4630245256623816704 + i64.const -4620663195860462557 + i64.const -4641537901929168896 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const -4604332007749985084 + i64.const -4625343132137557201 + i64.const -4629629133364658176 + i64.const 4606905765568473756 + i64.const -4621075345754292224 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const 4621406507342668262 + i64.const 4594826987695694788 + i64.const -4639197561901547520 + i64.const -4616301417154991689 + i64.const 4602463851227643904 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const 4604137858433287319 + i64.const 4603711805189578650 + i64.const -4631518618864058368 + i64.const 4605279855905985745 + i64.const 4593746800099196928 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const -4622375691843501615 + i64.const -4622575858842575876 + i64.const -4623091339515396096 + i64.const 4606448054996611351 + i64.const -4624994927539912704 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const 4603235101512779211 + i64.const 4602973141375866126 + i64.const -4623304571219869696 + i64.const 4605798183832360369 + i64.const -4624249509122146304 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const 4605148163534189634 + i64.const 4604472244479532466 + i64.const -4621996155604041728 + i64.const 4604615492473651755 + i64.const -4632555521679818752 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + i64.const -4619083057392940530 + i64.const -4619541816298850243 + i64.const -4622804297187328000 + i64.const 4605185968576882368 + i64.const 4599236402884902912 + global.get $std/math/INEXACT + call $std/math/test_sincos + drop + f64.const 2 + f64.const 4 + call $~lib/math/NativeMath.imul + f64.const 8 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3861 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + f64.const 8 + call $~lib/math/NativeMath.imul + f64.const -8 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3862 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -2 + f64.const -2 + call $~lib/math/NativeMath.imul + f64.const 4 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3863 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295 + f64.const 5 + call $~lib/math/NativeMath.imul + f64.const -5 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3864 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967294 + f64.const 5 + call $~lib/math/NativeMath.imul + f64.const -10 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3865 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+60 + f64.const 1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3866 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+60 + f64.const -1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3867 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1.e+60 + f64.const -1.e+60 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3868 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+24 + f64.const 100 + call $~lib/math/NativeMath.imul + f64.const -2147483648 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3869 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + f64.const 1 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3870 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const inf + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3871 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + f64.const 1797693134862315708145274e284 + call $~lib/math/NativeMath.imul + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3872 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3876 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3877 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3878 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -128 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3879 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3880 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967295.5 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3881 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967296 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3882 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 4294967297 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3883 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3884 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3885 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 9007199254740991 + call $~lib/math/NativeMath.clz32 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3886 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -9007199254740991 + call $~lib/math/NativeMath.clz32 + f64.const 31 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3887 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3888 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3889 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3890 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 2.220446049250313e-16 + call $~lib/math/NativeMath.clz32 + f64.const 32 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3891 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i64.const 0 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3895 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i64.const 1 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3896 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i64.const 2 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3897 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i64.const 3 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3898 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i64.const 0 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3900 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i64.const 1 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3901 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i64.const 2 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3902 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i64.const 3 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3903 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 0 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3905 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 1 + call $~lib/math/ipow64 + i64.const 2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3906 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 2 + call $~lib/math/ipow64 + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3907 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 3 + call $~lib/math/ipow64 + i64.const 8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3908 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i64.const 0 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3910 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i64.const 1 + call $~lib/math/ipow64 + i64.const -1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3911 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i64.const 2 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3912 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i64.const 3 + call $~lib/math/ipow64 + i64.const -1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3913 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i64.const 0 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3915 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i64.const 1 + call $~lib/math/ipow64 + i64.const -2 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3916 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i64.const 2 + call $~lib/math/ipow64 + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3917 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const -2 + i64.const 3 + call $~lib/math/ipow64 + i64.const -8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3918 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i64.const 40 + call $~lib/math/ipow64 + i64.const -6289078614652622815 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3920 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i64.const 41 + call $~lib/math/ipow64 + i64.const -420491770248316829 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i64.const 42 + call $~lib/math/ipow64 + i64.const -1261475310744950487 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3922 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i64.const 43 + call $~lib/math/ipow64 + i64.const -3784425932234851461 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3923 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i64.const 63 + call $~lib/math/ipow64 + i64.const -3237885987332494933 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3924 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i64.const 64 + call $~lib/math/ipow64 + i64.const 8733086111712066817 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3925 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 3 + i64.const 128 + call $~lib/math/ipow64 + i64.const -9204772141784466943 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3926 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 57055 + i64.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i64.const 3 + call $~lib/math/ipow64 + i64.add + i64.const 39347712995520375 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3928 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3932 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3933 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 3 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3934 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2 + i32.const 3 + call $~lib/math/ipow32 + i32.const -8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3935 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + ) + (func $~start (; 177 ;) + call $start:std/math + ) +) From 6c7f493915011cbed46ae21d2c4dc5b2921a5f8a Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 21:57:30 +0200 Subject: [PATCH 05/64] fixes --- std/assembly/math.ts | 27 +++--- tests/compiler/std/math.optimized.wat | 99 ++++++++++++++++++-- tests/compiler/std/math.ts | 8 ++ tests/compiler/std/math.untouched.wat | 124 +++++++++++++++++++++++--- 4 files changed, 225 insertions(+), 33 deletions(-) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index 542136d550..5c47fef11f 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3015,22 +3015,22 @@ export function ipow32(x: i32, e: i32): i32 { switch (log) { case 5: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 4: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 3: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 2: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 1: { @@ -3041,9 +3041,9 @@ export function ipow32(x: i32, e: i32): i32 { } } - while (e > 0) { + while (e) { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } return out; @@ -3063,27 +3063,27 @@ export function ipow64(x: i64, e: i64): i64 { switch (log) { case 6: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 5: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 4: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 3: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 2: { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } case 1: { @@ -3093,10 +3093,9 @@ export function ipow64(x: i64, e: i64): i64 { return out; } } - - while (e > 0) { + while (e) { if (e & 1) out *= x; - e >>= 1; + e >>>= 1; x *= x; } return out; diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 1e45810fb8..c61ec2b7b1 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -11438,7 +11438,7 @@ loop $while-continue|0 local.get $1 i64.const 0 - i64.gt_s + i64.ne if local.get $0 local.get $2 @@ -11453,7 +11453,7 @@ local.set $2 local.get $1 i64.const 1 - i64.shr_s + i64.shr_u local.set $1 local.get $0 local.get $0 @@ -11476,8 +11476,6 @@ local.set $2 loop $while-continue|0 local.get $0 - i32.const 0 - i32.gt_s if local.get $1 local.get $2 @@ -11490,7 +11488,7 @@ local.set $2 local.get $0 i32.const 1 - i32.shr_s + i32.shr_u local.set $0 local.get $1 local.get $1 @@ -46829,6 +46827,97 @@ call $~lib/builtins/abort unreachable end + i64.const 0 + i64.const 0 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3937 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i64.const 1 + call $~lib/math/ipow64 + i64.eqz + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3938 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i64.const 3 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 3 + call $~lib/math/ipow64 + i64.const 8 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + i64.const 3 + call $~lib/math/ipow64 + i64.const 12884901887 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 65535 + i64.const 3 + call $~lib/math/ipow64 + i64.const 281462092005375 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 65535 + i64.const 8 + call $~lib/math/ipow64 + i64.const -15762478437236735 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end ) (func $~start (; 175 ;) call $start:std/math diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 14f1b9b8ee..c180c6120d 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3933,3 +3933,11 @@ assert( 0 ** 0 == 1); assert( 0 ** 1 == 0); assert( 1 ** 3 == 1); assert((-2) ** 3 == -8); + +assert(( 0) ** 0 == 1 as u64); +assert(( 0) ** 1 == 0 as u64); +assert(( 1) ** 3 == 1 as u64); +assert(( 2) ** 3 == 8 as u64); +assert((0xFFFFFFFF) ** 3 == 12884901887 as u64); +assert((0xFFFF) ** 3 == 281462092005375 as u64); +assert((0xFFFF) ** 8 == 18430981595272314881 as u64); \ No newline at end of file diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index cf965b10cd..a43118bff8 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -15826,7 +15826,7 @@ end local.get $1 i64.const 1 - i64.shr_s + i64.shr_u local.set $1 local.get $0 local.get $0 @@ -15846,7 +15846,7 @@ end local.get $1 i64.const 1 - i64.shr_s + i64.shr_u local.set $1 local.get $0 local.get $0 @@ -15866,7 +15866,7 @@ end local.get $1 i64.const 1 - i64.shr_s + i64.shr_u local.set $1 local.get $0 local.get $0 @@ -15886,7 +15886,7 @@ end local.get $1 i64.const 1 - i64.shr_s + i64.shr_u local.set $1 local.get $0 local.get $0 @@ -15906,7 +15906,7 @@ end local.get $1 i64.const 1 - i64.shr_s + i64.shr_u local.set $1 local.get $0 local.get $0 @@ -15931,7 +15931,7 @@ loop $while-continue|1 local.get $1 i64.const 0 - i64.gt_s + i64.ne local.set $3 local.get $3 if @@ -15948,7 +15948,7 @@ end local.get $1 i64.const 1 - i64.shr_s + i64.shr_u local.set $1 local.get $0 local.get $0 @@ -16040,7 +16040,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -16058,7 +16058,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -16076,7 +16076,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -16094,7 +16094,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -16116,8 +16116,6 @@ end loop $while-continue|1 local.get $1 - i32.const 0 - i32.gt_s local.set $3 local.get $3 if @@ -16132,7 +16130,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -55620,6 +55618,104 @@ call $~lib/builtins/abort unreachable end + i64.const 0 + i64.const 0 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3937 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i64.const 1 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3938 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i64.const 3 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 3 + call $~lib/math/ipow64 + i64.const 8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + i64.const 3 + call $~lib/math/ipow64 + i64.const 12884901887 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 65535 + i64.const 3 + call $~lib/math/ipow64 + i64.const 281462092005375 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 65535 + i64.const 8 + call $~lib/math/ipow64 + i64.const -15762478437236735 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end ) (func $~start (; 177 ;) call $start:std/math From 1757ecb01911fc9e91e6a0f3faed2d70f003714e Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 22:06:50 +0200 Subject: [PATCH 06/64] add Fermat's Last Theorem case --- tests/compiler/std/math.optimized.wat | 317 +++++++++++++------------ tests/compiler/std/math.ts | 5 +- tests/compiler/std/math.untouched.wat | 321 ++++++++++++++------------ 3 files changed, 352 insertions(+), 291 deletions(-) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index c61ec2b7b1..449887711c 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -12,6 +12,7 @@ (type $none_=>_none (func)) (type $none_=>_f64 (func (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) (type $i64_=>_none (func (param i64))) (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) (type $f64_=>_none (func (param f64))) @@ -68,6 +69,7 @@ (import "Math" "tan" (func $~lib/bindings/Math/tan (param f64) (result f64))) (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") (data (i32.const 64) "\c0\00\00\00\01\00\00\00\03\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") @@ -78,6 +80,7 @@ (data (i32.const 2657) "\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") (data (i32.const 2928) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") (data (i32.const 2976) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") + (data (i32.const 3044) "\01\00\00\00\01") (global $~lib/math/rempio2_y0 (mut f64) (f64.const 0)) (global $~lib/math/rempio2_y1 (mut f64) (f64.const 0)) (global $~lib/math/res128_hi (mut i64) (i64.const 0)) @@ -91,7 +94,7 @@ (global $~lib/math/NativeMath.sincos_cos (mut f64) (f64.const 0)) (export "memory" (memory $0)) (start $~start) - (func $~lib/math/NativeMath.scalbn (; 32 ;) (param $0 f64) (param $1 i32) (result f64) + (func $~lib/math/NativeMath.scalbn (; 33 ;) (param $0 f64) (param $1 i32) (result f64) local.get $1 i32.const 1023 i32.gt_s @@ -168,7 +171,7 @@ f64.reinterpret_i64 f64.mul ) - (func $std/math/ulperr (; 33 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) + (func $std/math/ulperr (; 34 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) (local $3 i32) local.get $1 local.get $1 @@ -258,7 +261,7 @@ local.get $2 f64.add ) - (func $std/math/check (; 34 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/check (; 35 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 f64.eq @@ -288,7 +291,7 @@ end i32.const 1 ) - (func $~lib/math/NativeMathf.scalbn (; 35 ;) (param $0 f32) (param $1 i32) (result f32) + (func $~lib/math/NativeMathf.scalbn (; 36 ;) (param $0 f32) (param $1 i32) (result f32) local.get $1 i32.const 127 i32.gt_s @@ -364,7 +367,7 @@ f32.reinterpret_i32 f32.mul ) - (func $std/math/ulperrf (; 36 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) + (func $std/math/ulperrf (; 37 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) (local $3 i32) local.get $1 local.get $1 @@ -451,7 +454,7 @@ local.get $2 f32.add ) - (func $std/math/check (; 37 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/check (; 38 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 f32.eq @@ -481,7 +484,7 @@ end i32.const 1 ) - (func $std/math/test_scalbn (; 38 ;) (param $0 f64) (param $1 i32) (param $2 f64) (result i32) + (func $std/math/test_scalbn (; 39 ;) (param $0 f64) (param $1 i32) (param $2 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.scalbn @@ -489,7 +492,7 @@ f64.const 0 call $std/math/check ) - (func $std/math/test_scalbnf (; 39 ;) (param $0 f32) (param $1 i32) (param $2 f32) (result i32) + (func $std/math/test_scalbnf (; 40 ;) (param $0 f32) (param $1 i32) (param $2 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.scalbn @@ -497,7 +500,7 @@ f32.const 0 call $std/math/check ) - (func $std/math/test_abs (; 40 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_abs (; 41 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.abs local.get $1 @@ -513,14 +516,14 @@ i32.const 0 end ) - (func $std/math/test_absf (; 41 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_absf (; 42 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.abs local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/R (; 42 ;) (param $0 f64) (result f64) + (func $~lib/math/R (; 43 ;) (param $0 f64) (result f64) local.get $0 f64.const 0.16666666666666666 local.get $0 @@ -563,7 +566,7 @@ f64.add f64.div ) - (func $~lib/math/NativeMath.acos (; 43 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acos (; 44 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -687,7 +690,7 @@ f64.add f64.mul ) - (func $std/math/test_acos (; 44 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_acos (; 45 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.acos local.get $1 @@ -703,7 +706,7 @@ i32.const 0 end ) - (func $~lib/math/Rf (; 45 ;) (param $0 f32) (result f32) + (func $~lib/math/Rf (; 46 ;) (param $0 f32) (result f32) local.get $0 f32.const 0.16666586697101593 local.get $0 @@ -722,7 +725,7 @@ f32.add f32.div ) - (func $~lib/math/NativeMathf.acos (; 46 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acos (; 47 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -838,14 +841,14 @@ f32.add f32.mul ) - (func $std/math/test_acosf (; 47 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_acosf (; 48 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.acos local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.log1p (; 48 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log1p (; 49 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -1043,7 +1046,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.log (; 49 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log (; 50 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i64) (local $3 f64) @@ -1211,7 +1214,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.acosh (; 50 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acosh (; 51 ;) (param $0 f64) (result f64) (local $1 i64) local.get $0 i64.reinterpret_f64 @@ -1265,7 +1268,7 @@ f64.const 0.6931471805599453 f64.add ) - (func $std/math/test_acosh (; 51 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_acosh (; 52 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.acosh local.get $1 @@ -1281,7 +1284,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log1p (; 52 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log1p (; 53 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -1451,7 +1454,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.log (; 53 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log (; 54 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -1585,7 +1588,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.acosh (; 54 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acosh (; 55 ;) (param $0 f32) (result f32) (local $1 i32) local.get $0 i32.reinterpret_f32 @@ -1635,14 +1638,14 @@ f32.const 0.6931471824645996 f32.add ) - (func $std/math/test_acoshf (; 55 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_acoshf (; 56 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.acosh local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.asin (; 56 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asin (; 57 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -1780,7 +1783,7 @@ end local.get $0 ) - (func $std/math/test_asin (; 57 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_asin (; 58 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.asin local.get $1 @@ -1796,7 +1799,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asin (; 58 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asin (; 59 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f64) @@ -1876,14 +1879,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_asinf (; 59 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_asinf (; 60 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.asin local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.asinh (; 60 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asinh (; 61 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) local.get $0 @@ -1953,7 +1956,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_asinh (; 61 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_asinh (; 62 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.asinh local.get $1 @@ -1969,7 +1972,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asinh (; 62 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asinh (; 63 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) local.get $0 @@ -2034,14 +2037,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_asinhf (; 63 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_asinhf (; 64 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.asinh local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.atan (; 64 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atan (; 65 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -2264,7 +2267,7 @@ local.get $3 f64.copysign ) - (func $std/math/test_atan (; 65 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_atan (; 66 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.atan local.get $1 @@ -2280,7 +2283,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan (; 66 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atan (; 67 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -2476,14 +2479,14 @@ local.get $4 f32.copysign ) - (func $std/math/test_atanf (; 67 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_atanf (; 68 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.atan local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.atanh (; 68 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atanh (; 69 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -2537,7 +2540,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_atanh (; 69 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_atanh (; 70 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.atanh local.get $1 @@ -2553,7 +2556,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atanh (; 70 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atanh (; 71 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) local.get $0 @@ -2601,14 +2604,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_atanhf (; 71 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_atanhf (; 72 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.atanh local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.atan2 (; 72 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.atan2 (; 73 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2818,7 +2821,7 @@ i32.and select ) - (func $std/math/test_atan2 (; 73 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) + (func $std/math/test_atan2 (; 74 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.atan2 @@ -2836,7 +2839,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan2 (; 74 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.atan2 (; 75 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3029,7 +3032,7 @@ i32.and select ) - (func $std/math/test_atan2f (; 75 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) + (func $std/math/test_atan2f (; 76 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.atan2 @@ -3037,7 +3040,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.cbrt (; 76 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cbrt (; 77 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -3159,7 +3162,7 @@ f64.mul f64.add ) - (func $std/math/test_cbrt (; 77 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_cbrt (; 78 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.cbrt local.get $1 @@ -3175,7 +3178,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cbrt (; 78 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cbrt (; 79 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 f64) (local $3 i32) @@ -3274,14 +3277,14 @@ f64.div f32.demote_f64 ) - (func $std/math/test_cbrtf (; 79 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_cbrtf (; 80 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.cbrt local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_ceil (; 80 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_ceil (; 81 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.ceil local.get $1 @@ -3297,14 +3300,14 @@ i32.const 0 end ) - (func $std/math/test_ceilf (; 81 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_ceilf (; 82 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.ceil local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/pio2_large_quot (; 82 ;) (param $0 i64) (result i32) + (func $~lib/math/pio2_large_quot (; 83 ;) (param $0 i64) (result i32) (local $1 i64) (local $2 i64) (local $3 i64) @@ -3590,7 +3593,7 @@ i64.sub i32.wrap_i64 ) - (func $~lib/math/NativeMath.cos (; 83 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cos (; 84 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 f64) @@ -3928,7 +3931,7 @@ end local.get $0 ) - (func $std/math/test_cos (; 84 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_cos (; 85 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.cos local.get $1 @@ -3944,7 +3947,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cos (; 85 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cos (; 86 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -4213,14 +4216,14 @@ end local.get $0 ) - (func $std/math/test_cosf (; 86 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_cosf (; 87 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.cos local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.expm1 (; 87 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.expm1 (; 88 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -4491,7 +4494,7 @@ local.get $4 f64.mul ) - (func $~lib/math/NativeMath.exp (; 88 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp (; 89 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -4643,7 +4646,7 @@ end local.get $0 ) - (func $~lib/math/NativeMath.cosh (; 89 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cosh (; 90 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i64) local.get $0 @@ -4707,7 +4710,7 @@ f64.const 2247116418577894884661631e283 f64.mul ) - (func $std/math/test_cosh (; 90 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_cosh (; 91 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.cosh local.get $1 @@ -4723,7 +4726,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.expm1 (; 91 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.expm1 (; 92 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -4973,7 +4976,7 @@ local.get $4 f32.mul ) - (func $~lib/math/NativeMathf.exp (; 92 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp (; 93 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -5107,7 +5110,7 @@ end local.get $0 ) - (func $~lib/math/NativeMathf.cosh (; 93 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cosh (; 94 ;) (param $0 f32) (result f32) (local $1 i32) local.get $0 i32.reinterpret_f32 @@ -5166,14 +5169,14 @@ f32.const 1661534994731144841129758e11 f32.mul ) - (func $std/math/test_coshf (; 94 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_coshf (; 95 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.cosh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_exp (; 95 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_exp (; 96 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.exp local.get $1 @@ -5189,14 +5192,14 @@ i32.const 0 end ) - (func $std/math/test_expf (; 96 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_expf (; 97 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_expm1 (; 97 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_expm1 (; 98 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.expm1 local.get $1 @@ -5212,14 +5215,14 @@ i32.const 0 end ) - (func $std/math/test_expm1f (; 98 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_expm1f (; 99 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.expm1 local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.exp2 (; 99 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp2 (; 100 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 i32) @@ -5425,7 +5428,7 @@ f64.add end ) - (func $std/math/test_exp2 (; 100 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_exp2 (; 101 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.exp2 local.get $1 @@ -5442,7 +5445,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.exp2 (; 101 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp2 (; 102 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i64) (local $3 i32) @@ -5537,14 +5540,14 @@ f32.demote_f64 end ) - (func $std/math/test_exp2f (; 102 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_exp2f (; 103 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp2 local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_floor (; 103 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_floor (; 104 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.floor local.get $1 @@ -5560,14 +5563,14 @@ i32.const 0 end ) - (func $std/math/test_floorf (; 104 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_floorf (; 105 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.floor local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.hypot (; 105 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.hypot (; 106 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 i64) (local $4 i64) @@ -5736,7 +5739,7 @@ f64.sqrt f64.mul ) - (func $std/math/test_hypot (; 106 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) + (func $std/math/test_hypot (; 107 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.hypot @@ -5744,7 +5747,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMathf.hypot (; 107 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.hypot (; 108 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -5849,7 +5852,7 @@ f32.sqrt f32.mul ) - (func $std/math/test_hypotf (; 108 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) + (func $std/math/test_hypotf (; 109 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.hypot @@ -5857,7 +5860,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_log (; 109 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log (; 110 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log local.get $1 @@ -5873,14 +5876,14 @@ i32.const 0 end ) - (func $std/math/test_logf (; 110 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_logf (; 111 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.log10 (; 111 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log10 (; 112 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -6082,7 +6085,7 @@ local.get $1 f64.add ) - (func $std/math/test_log10 (; 112 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log10 (; 113 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log10 local.get $1 @@ -6098,7 +6101,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log10 (; 113 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log10 (; 114 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -6256,14 +6259,14 @@ f32.mul f32.add ) - (func $std/math/test_log10f (; 114 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_log10f (; 115 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log10 local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_log1p (; 115 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log1p (; 116 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log1p local.get $1 @@ -6279,14 +6282,14 @@ i32.const 0 end ) - (func $std/math/test_log1pf (; 116 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_log1pf (; 117 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log1p local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.log2 (; 117 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log2 (; 118 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -6481,7 +6484,7 @@ local.get $1 f64.add ) - (func $std/math/test_log2 (; 118 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log2 (; 119 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log2 local.get $1 @@ -6497,7 +6500,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log2 (; 119 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log2 (; 120 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -6647,14 +6650,14 @@ f32.convert_i32_s f32.add ) - (func $std/math/test_log2f (; 120 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_log2f (; 121 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log2 local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_max (; 121 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_max (; 122 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 f64.max @@ -6672,7 +6675,7 @@ i32.const 0 end ) - (func $std/math/test_maxf (; 122 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_maxf (; 123 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 f32.max @@ -6680,7 +6683,7 @@ f32.const 0 call $std/math/check ) - (func $std/math/test_min (; 123 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_min (; 124 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 f64.min @@ -6698,7 +6701,7 @@ i32.const 0 end ) - (func $std/math/test_minf (; 124 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_minf (; 125 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 f32.min @@ -6706,7 +6709,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.mod (; 125 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 126 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -6909,7 +6912,7 @@ local.get $0 f64.mul ) - (func $std/math/test_mod (; 126 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_mod (; 127 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.mod @@ -6927,7 +6930,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.mod (; 127 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 128 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7119,7 +7122,7 @@ local.get $0 f32.mul ) - (func $std/math/test_modf (; 128 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_modf (; 129 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.mod @@ -7127,7 +7130,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.pow (; 129 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.pow (; 130 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -8083,7 +8086,7 @@ f64.const 1e-300 f64.mul ) - (func $std/math/test_pow (; 130 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) + (func $std/math/test_pow (; 131 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.pow @@ -8101,7 +8104,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.pow (; 131 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.pow (; 132 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -8559,7 +8562,7 @@ end local.get $0 ) - (func $std/math/test_powf (; 132 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) + (func $std/math/test_powf (; 133 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.pow @@ -8567,7 +8570,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/murmurHash3 (; 133 ;) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 134 ;) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -8588,7 +8591,7 @@ i64.shr_u i64.xor ) - (func $~lib/math/splitMix32 (; 134 ;) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 135 ;) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -8620,7 +8623,7 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 135 ;) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 136 ;) (param $0 i64) i32.const 1 global.set $~lib/math/random_seeded local.get $0 @@ -8664,7 +8667,7 @@ unreachable end ) - (func $~lib/math/NativeMath.random (; 136 ;) (result f64) + (func $~lib/math/NativeMath.random (; 137 ;) (result f64) (local $0 i64) (local $1 i64) global.get $~lib/math/random_seeded @@ -8708,7 +8711,7 @@ f64.const 1 f64.sub ) - (func $~lib/math/NativeMathf.random (; 137 ;) (result f32) + (func $~lib/math/NativeMathf.random (; 138 ;) (result f32) (local $0 i32) (local $1 i32) global.get $~lib/math/random_seeded @@ -8754,7 +8757,7 @@ f32.const 1 f32.sub ) - (func $std/math/test_round (; 138 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_round (; 139 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.const 0.5 f64.add @@ -8765,7 +8768,7 @@ f64.const 0 call $std/math/check ) - (func $std/math/test_roundf (; 139 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_roundf (; 140 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.const 0.5 f32.add @@ -8776,7 +8779,7 @@ f32.const 0 call $std/math/check ) - (func $std/math/test_sign (; 140 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_sign (; 141 ;) (param $0 f64) (param $1 f64) (result i32) f64.const 1 local.get $0 f64.copysign @@ -8799,7 +8802,7 @@ i32.const 0 end ) - (func $std/math/test_signf (; 141 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_signf (; 142 ;) (param $0 f32) (param $1 f32) (result i32) f32.const 1 local.get $0 f32.copysign @@ -8813,7 +8816,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.rem (; 142 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.rem (; 143 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -9062,7 +9065,7 @@ end local.get $0 ) - (func $std/math/test_rem (; 143 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_rem (; 144 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.rem @@ -9070,7 +9073,7 @@ f64.const 0 call $std/math/check ) - (func $~lib/math/NativeMathf.rem (; 144 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.rem (; 145 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9311,7 +9314,7 @@ end local.get $0 ) - (func $std/math/test_remf (; 145 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_remf (; 146 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.rem @@ -9319,7 +9322,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.sin (; 146 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sin (; 147 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 f64) @@ -9639,7 +9642,7 @@ end local.get $0 ) - (func $std/math/test_sin (; 147 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sin (; 148 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.sin local.get $1 @@ -9655,7 +9658,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sin (; 148 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sin (; 149 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -9925,14 +9928,14 @@ end local.get $0 ) - (func $std/math/test_sinf (; 149 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sinf (; 150 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.sin local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.sinh (; 150 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sinh (; 151 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 i32) @@ -10009,7 +10012,7 @@ f64.mul f64.mul ) - (func $std/math/test_sinh (; 151 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sinh (; 152 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.sinh local.get $1 @@ -10025,7 +10028,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sinh (; 152 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sinh (; 153 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 f32) @@ -10097,14 +10100,14 @@ f32.mul f32.mul ) - (func $std/math/test_sinhf (; 153 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sinhf (; 154 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.sinh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_sqrt (; 154 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sqrt (; 155 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 f64.sqrt local.get $1 @@ -10120,14 +10123,14 @@ i32.const 0 end ) - (func $std/math/test_sqrtf (; 155 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sqrtf (; 156 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 f32.sqrt local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/tan_kern (; 156 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) + (func $~lib/math/tan_kern (; 157 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) (local $3 f64) (local $4 f64) (local $5 f64) @@ -10309,7 +10312,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.tan (; 157 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tan (; 158 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -10486,7 +10489,7 @@ i32.sub call $~lib/math/tan_kern ) - (func $std/math/test_tan (; 158 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_tan (; 159 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.tan local.get $1 @@ -10502,7 +10505,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tan (; 159 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tan (; 160 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -10756,14 +10759,14 @@ local.get $1 f32.demote_f64 ) - (func $std/math/test_tanf (; 160 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_tanf (; 161 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.tan local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.tanh (; 161 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tanh (; 162 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -10842,7 +10845,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_tanh (; 162 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_tanh (; 163 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.tanh local.get $1 @@ -10858,7 +10861,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tanh (; 163 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tanh (; 164 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) local.get $0 @@ -10932,14 +10935,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_tanhf (; 164 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_tanhf (; 165 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.tanh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_trunc (; 165 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_trunc (; 166 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.trunc local.get $1 @@ -10955,14 +10958,14 @@ i32.const 0 end ) - (func $std/math/test_truncf (; 166 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_truncf (; 167 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.trunc local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.sincos (; 167 ;) (param $0 f64) + (func $~lib/math/NativeMath.sincos (; 168 ;) (param $0 f64) (local $1 f64) (local $2 f64) (local $3 f64) @@ -11357,7 +11360,7 @@ local.get $1 global.set $~lib/math/NativeMath.sincos_cos ) - (func $std/math/test_sincos (; 168 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) + (func $std/math/test_sincos (; 169 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 f64) (local $6 f64) local.get $3 @@ -11383,7 +11386,7 @@ drop end ) - (func $~lib/math/dtoi32 (; 169 ;) (param $0 f64) (result i32) + (func $~lib/math/dtoi32 (; 170 ;) (param $0 f64) (result i32) local.get $0 f64.const 4294967296 local.get $0 @@ -11395,7 +11398,7 @@ i64.trunc_f64_s i32.wrap_i64 ) - (func $~lib/math/NativeMath.imul (; 170 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (; 171 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) local.get $0 local.get $1 @@ -11416,7 +11419,7 @@ i32.mul f64.convert_i32_s ) - (func $~lib/math/NativeMath.clz32 (; 171 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.clz32 (; 172 ;) (param $0 f64) (result f64) local.get $0 local.get $0 f64.sub @@ -11431,7 +11434,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 172 ;) (param $0 i64) (param $1 i64) (result i64) + (func $~lib/math/ipow64 (; 173 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) i64.const 1 local.set $2 @@ -11464,7 +11467,7 @@ end local.get $2 ) - (func $~lib/math/ipow32 (; 173 ;) (result i32) + (func $~lib/math/ipow32 (; 174 ;) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11499,7 +11502,7 @@ end local.get $2 ) - (func $start:std/math (; 174 ;) + (func $start:std/math (; 175 ;) (local $0 f64) (local $1 i32) (local $2 f32) @@ -46918,8 +46921,34 @@ call $~lib/builtins/abort unreachable end + i32.const 3056 + i32.const 2 + i64.const 57055 + i64.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i64.add + i64.const 3 + call $~lib/math/ipow64 + i32.wrap_i64 + f64.convert_i32_u + i64.const 57055 + i64.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i64.add + i64.const 3 + call $~lib/math/ipow64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace ) - (func $~start (; 175 ;) + (func $~start (; 176 ;) call $start:std/math ) ) diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index c180c6120d..89f86df34f 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3940,4 +3940,7 @@ assert(( 1) ** 3 == 1 as u64); assert(( 2) ** 3 == 8 as u64); assert((0xFFFFFFFF) ** 3 == 12884901887 as u64); assert((0xFFFF) ** 3 == 281462092005375 as u64); -assert((0xFFFF) ** 8 == 18430981595272314881 as u64); \ No newline at end of file +assert((0xFFFF) ** 8 == 18430981595272314881 as u64); +// should be 1473408887, 9161353 +trace('', 2, (57055 as u64 ** 3 + 339590 as u64 ** 3), ((57055 as u64 ** 3 + 339590 as u64 ** 3) >>> 32)); +// assert(57055 as u64 ** 3 + 339590 as u64 ** 3 == 340126 as u64 ** 3); // Fermat's Last Theorem \ No newline at end of file diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index a43118bff8..f35f883a64 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -11,6 +11,7 @@ (type $f64_=>_i32 (func (param f64) (result i32))) (type $none_=>_f64 (func (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) (type $i64_=>_none (func (param i64))) (type $f64_=>_none (func (param f64))) (type $i32_=>_i32 (func (param i32) (result i32))) @@ -67,6 +68,7 @@ (import "Math" "tan" (func $~lib/bindings/Math/tan (param f64) (result f64))) (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) + (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00") (data (i32.const 64) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") @@ -82,6 +84,7 @@ (data (i32.const 9408) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8 (; 35 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/check (; 36 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.get $1 @@ -357,7 +360,7 @@ end i32.const 1 ) - (func $std/math/eulpf (; 36 ;) (param $0 f32) (result i32) + (func $std/math/eulpf (; 37 ;) (param $0 f32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -383,7 +386,7 @@ i32.const 23 i32.sub ) - (func $~lib/math/NativeMathf.scalbn (; 37 ;) (param $0 f32) (param $1 i32) (result f32) + (func $~lib/math/NativeMathf.scalbn (; 38 ;) (param $0 f32) (param $1 i32) (result f32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -473,7 +476,7 @@ f32.reinterpret_i32 f32.mul ) - (func $std/math/ulperrf (; 38 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) + (func $std/math/ulperrf (; 39 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) (local $3 f32) local.get $0 local.get $0 @@ -552,7 +555,7 @@ local.get $2 f32.add ) - (func $std/math/check (; 39 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/check (; 40 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.get $1 @@ -585,7 +588,7 @@ end i32.const 1 ) - (func $std/math/test_scalbn (; 40 ;) (param $0 f64) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_scalbn (; 41 ;) (param $0 f64) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.scalbn @@ -594,7 +597,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_scalbnf (; 41 ;) (param $0 f32) (param $1 i32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_scalbnf (; 42 ;) (param $0 f32) (param $1 i32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.scalbn @@ -603,7 +606,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_abs (; 42 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_abs (; 43 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -630,7 +633,7 @@ i32.const 0 end ) - (func $std/math/test_absf (; 43 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_absf (; 44 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -641,7 +644,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/R (; 44 ;) (param $0 f64) (result f64) + (func $~lib/math/R (; 45 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) local.get $0 @@ -690,7 +693,7 @@ local.get $2 f64.div ) - (func $~lib/math/NativeMath.acos (; 45 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acos (; 46 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -842,7 +845,7 @@ f64.add f64.mul ) - (func $std/math/test_acos (; 46 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_acos (; 47 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.acos local.get $1 @@ -866,7 +869,7 @@ i32.const 0 end ) - (func $~lib/math/Rf (; 47 ;) (param $0 f32) (result f32) + (func $~lib/math/Rf (; 48 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 f32) local.get $0 @@ -891,7 +894,7 @@ local.get $2 f32.div ) - (func $~lib/math/NativeMathf.acos (; 48 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acos (; 49 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -1031,7 +1034,7 @@ f32.add f32.mul ) - (func $std/math/test_acosf (; 49 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_acosf (; 50 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.acos local.get $1 @@ -1039,7 +1042,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log1p (; 50 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log1p (; 51 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -1281,7 +1284,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.log (; 51 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log (; 52 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -1599,7 +1602,7 @@ end return ) - (func $~lib/math/NativeMath.acosh (; 52 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acosh (; 53 ;) (param $0 f64) (result f64) (local $1 i64) local.get $0 i64.reinterpret_f64 @@ -1659,7 +1662,7 @@ f64.const 0.6931471805599453 f64.add ) - (func $std/math/test_acosh (; 53 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_acosh (; 54 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.acosh local.get $1 @@ -1683,7 +1686,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log1p (; 54 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log1p (; 55 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -1892,7 +1895,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.log (; 55 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log (; 56 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -2057,7 +2060,7 @@ end return ) - (func $~lib/math/NativeMathf.acosh (; 56 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acosh (; 57 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -2113,7 +2116,7 @@ f32.const 0.6931471824645996 f32.add ) - (func $std/math/test_acoshf (; 57 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_acoshf (; 58 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.acosh local.get $1 @@ -2121,7 +2124,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.asin (; 58 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asin (; 59 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2280,7 +2283,7 @@ end local.get $0 ) - (func $std/math/test_asin (; 59 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_asin (; 60 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.asin local.get $1 @@ -2304,7 +2307,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asin (; 60 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asin (; 61 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 f32) @@ -2396,7 +2399,7 @@ local.get $1 f32.copysign ) - (func $std/math/test_asinf (; 61 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_asinf (; 62 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.asin local.get $1 @@ -2404,7 +2407,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.asinh (; 62 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asinh (; 63 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 f64) @@ -2480,7 +2483,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_asinh (; 63 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_asinh (; 64 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.asinh local.get $1 @@ -2504,7 +2507,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asinh (; 64 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asinh (; 65 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) local.get $0 @@ -2573,7 +2576,7 @@ local.get $0 f32.copysign ) - (func $std/math/test_asinhf (; 65 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_asinhf (; 66 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.asinh local.get $1 @@ -2581,7 +2584,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atan (; 66 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atan (; 67 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 f64) (local $3 f64) @@ -2839,7 +2842,7 @@ local.get $2 f64.copysign ) - (func $std/math/test_atan (; 67 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_atan (; 68 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.atan local.get $1 @@ -2863,7 +2866,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan (; 68 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atan (; 69 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -3093,7 +3096,7 @@ local.get $2 f32.copysign ) - (func $std/math/test_atanf (; 69 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_atanf (; 70 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.atan local.get $1 @@ -3101,7 +3104,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atanh (; 70 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atanh (; 71 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 f64) @@ -3160,7 +3163,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_atanh (; 71 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_atanh (; 72 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.atanh local.get $1 @@ -3184,7 +3187,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atanh (; 72 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atanh (; 73 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) local.get $0 @@ -3234,7 +3237,7 @@ local.get $0 f32.copysign ) - (func $std/math/test_atanhf (; 73 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_atanhf (; 74 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.atanh local.get $1 @@ -3242,7 +3245,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atan2 (; 74 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.atan2 (; 75 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -3542,7 +3545,7 @@ end unreachable ) - (func $std/math/test_atan2 (; 75 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_atan2 (; 76 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.atan2 @@ -3568,7 +3571,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan2 (; 76 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.atan2 (; 77 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3840,7 +3843,7 @@ end unreachable ) - (func $std/math/test_atan2f (; 77 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_atan2f (; 78 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.atan2 @@ -3849,7 +3852,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.cbrt (; 78 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cbrt (; 79 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 f64) @@ -3993,7 +3996,7 @@ local.set $3 local.get $3 ) - (func $std/math/test_cbrt (; 79 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_cbrt (; 80 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.cbrt local.get $1 @@ -4017,7 +4020,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cbrt (; 80 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cbrt (; 81 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -4133,7 +4136,7 @@ local.get $3 f32.demote_f64 ) - (func $std/math/test_cbrtf (; 81 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_cbrtf (; 82 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.cbrt local.get $1 @@ -4141,7 +4144,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_ceil (; 82 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_ceil (; 83 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -4168,7 +4171,7 @@ i32.const 0 end ) - (func $std/math/test_ceilf (; 83 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_ceilf (; 84 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -4179,7 +4182,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/pio2_large_quot (; 84 ;) (param $0 f64) (param $1 i64) (result i32) + (func $~lib/math/pio2_large_quot (; 85 ;) (param $0 f64) (param $1 i64) (result i32) (local $2 i64) (local $3 i64) (local $4 i64) @@ -4577,7 +4580,7 @@ local.get $30 i32.wrap_i64 ) - (func $~lib/math/NativeMath.cos (; 85 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cos (; 86 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -5095,7 +5098,7 @@ local.get $0 end ) - (func $std/math/test_cos (; 86 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_cos (; 87 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.cos local.get $1 @@ -5119,7 +5122,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cos (; 87 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cos (; 88 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -5733,7 +5736,7 @@ local.get $26 end ) - (func $std/math/test_cosf (; 88 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_cosf (; 89 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.cos local.get $1 @@ -5741,7 +5744,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.expm1 (; 89 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.expm1 (; 90 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -6054,7 +6057,7 @@ local.get $14 f64.mul ) - (func $~lib/math/NativeMath.exp (; 90 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp (; 91 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 i32) @@ -6332,7 +6335,7 @@ end return ) - (func $~lib/math/NativeMath.cosh (; 91 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cosh (; 92 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 f64) @@ -6421,7 +6424,7 @@ local.set $3 local.get $3 ) - (func $std/math/test_cosh (; 92 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_cosh (; 93 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.cosh local.get $1 @@ -6445,7 +6448,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.expm1 (; 93 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.expm1 (; 94 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6738,7 +6741,7 @@ local.get $13 f32.mul ) - (func $~lib/math/NativeMathf.exp (; 94 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp (; 95 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 f64) (local $3 i32) @@ -6869,7 +6872,7 @@ end return ) - (func $~lib/math/NativeMathf.cosh (; 95 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cosh (; 96 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -6946,7 +6949,7 @@ local.get $3 f32.mul ) - (func $std/math/test_coshf (; 96 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_coshf (; 97 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.cosh local.get $1 @@ -6954,7 +6957,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_exp (; 97 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_exp (; 98 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.exp local.get $1 @@ -6978,7 +6981,7 @@ i32.const 0 end ) - (func $std/math/test_expf (; 98 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_expf (; 99 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp local.get $1 @@ -6986,7 +6989,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_expm1 (; 99 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_expm1 (; 100 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.expm1 local.get $1 @@ -7010,7 +7013,7 @@ i32.const 0 end ) - (func $std/math/test_expm1f (; 100 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_expm1f (; 101 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.expm1 local.get $1 @@ -7018,7 +7021,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.exp2 (; 101 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp2 (; 102 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 i32) @@ -7285,7 +7288,7 @@ f64.add end ) - (func $std/math/test_exp2 (; 102 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_exp2 (; 103 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.exp2 local.get $1 @@ -7310,7 +7313,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.exp2 (; 103 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp2 (; 104 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 f64) (local $3 i32) @@ -7433,7 +7436,7 @@ f32.demote_f64 end ) - (func $std/math/test_exp2f (; 104 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_exp2f (; 105 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp2 local.get $1 @@ -7441,7 +7444,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_floor (; 105 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_floor (; 106 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -7468,7 +7471,7 @@ i32.const 0 end ) - (func $std/math/test_floorf (; 106 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_floorf (; 107 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -7479,7 +7482,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.hypot (; 107 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.hypot (; 108 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -7674,7 +7677,7 @@ f64.sqrt f64.mul ) - (func $std/math/test_hypot (; 108 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_hypot (; 109 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.hypot @@ -7683,7 +7686,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMathf.hypot (; 109 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.hypot (; 110 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7800,7 +7803,7 @@ f32.sqrt f32.mul ) - (func $std/math/test_hypotf (; 110 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_hypotf (; 111 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.hypot @@ -7809,7 +7812,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_log (; 111 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log (; 112 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log local.get $1 @@ -7833,7 +7836,7 @@ i32.const 0 end ) - (func $std/math/test_logf (; 112 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_logf (; 113 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log local.get $1 @@ -7841,7 +7844,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log10 (; 113 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log10 (; 114 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -8101,7 +8104,7 @@ local.get $8 f64.add ) - (func $std/math/test_log10 (; 114 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log10 (; 115 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log10 local.get $1 @@ -8125,7 +8128,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log10 (; 115 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log10 (; 116 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -8325,7 +8328,7 @@ f32.mul f32.add ) - (func $std/math/test_log10f (; 116 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_log10f (; 117 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log10 local.get $1 @@ -8333,7 +8336,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_log1p (; 117 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log1p (; 118 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log1p local.get $1 @@ -8357,7 +8360,7 @@ i32.const 0 end ) - (func $std/math/test_log1pf (; 118 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_log1pf (; 119 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log1p local.get $1 @@ -8365,7 +8368,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log2 (; 119 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log2 (; 120 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -8708,7 +8711,7 @@ end return ) - (func $std/math/test_log2 (; 120 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log2 (; 121 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log2 local.get $1 @@ -8732,7 +8735,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log2 (; 121 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log2 (; 122 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -8901,7 +8904,7 @@ end return ) - (func $std/math/test_log2f (; 122 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_log2f (; 123 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log2 local.get $1 @@ -8909,7 +8912,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_max (; 123 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_max (; 124 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) (local $5 f64) (local $6 f64) local.get $0 @@ -8941,7 +8944,7 @@ i32.const 0 end ) - (func $std/math/test_maxf (; 124 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_maxf (; 125 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) (local $5 f32) (local $6 f32) local.get $0 @@ -8956,7 +8959,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_min (; 125 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_min (; 126 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) (local $5 f64) (local $6 f64) local.get $0 @@ -8988,7 +8991,7 @@ i32.const 0 end ) - (func $std/math/test_minf (; 126 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_minf (; 127 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) (local $5 f32) (local $6 f32) local.get $0 @@ -9003,7 +9006,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.mod (; 127 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 128 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -9257,7 +9260,7 @@ local.get $2 f64.reinterpret_i64 ) - (func $std/math/test_mod (; 128 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_mod (; 129 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.mod @@ -9283,7 +9286,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.mod (; 129 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 130 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9531,7 +9534,7 @@ local.get $2 f32.reinterpret_i32 ) - (func $std/math/test_modf (; 130 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_modf (; 131 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.mod @@ -9540,7 +9543,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.pow (; 131 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.pow (; 132 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -10500,7 +10503,7 @@ end return ) - (func $std/math/test_pow (; 132 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_pow (; 133 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.pow @@ -10526,7 +10529,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.pow (; 133 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.pow (; 134 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 f32) (local $3 f32) (local $4 i32) @@ -11111,7 +11114,7 @@ f32.demote_f64 end ) - (func $std/math/test_powf (; 134 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_powf (; 135 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.pow @@ -11120,7 +11123,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/murmurHash3 (; 135 ;) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 136 ;) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -11149,7 +11152,7 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (; 136 ;) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 137 ;) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -11184,7 +11187,7 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 137 ;) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 138 ;) (param $0 i64) i32.const 1 global.set $~lib/math/random_seeded local.get $0 @@ -11236,7 +11239,7 @@ unreachable end ) - (func $~lib/math/NativeMath.random (; 138 ;) (result f64) + (func $~lib/math/NativeMath.random (; 139 ;) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) @@ -11291,7 +11294,7 @@ f64.const 1 f64.sub ) - (func $~lib/math/NativeMathf.random (; 139 ;) (result f32) + (func $~lib/math/NativeMathf.random (; 140 ;) (result f32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11346,7 +11349,7 @@ f32.const 1 f32.sub ) - (func $std/math/test_round (; 140 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_round (; 141 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -11361,7 +11364,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_roundf (; 141 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_roundf (; 142 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -11376,7 +11379,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_sign (; 142 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sign (; 143 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) block $~lib/math/NativeMath.sign|inlined.0 (result f64) local.get $0 @@ -11419,7 +11422,7 @@ i32.const 0 end ) - (func $std/math/test_signf (; 143 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_signf (; 144 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) block $~lib/math/NativeMathf.sign|inlined.0 (result f32) local.get $0 @@ -11446,7 +11449,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.rem (; 144 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.rem (; 145 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -11764,7 +11767,7 @@ local.get $0 end ) - (func $std/math/test_rem (; 145 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_rem (; 146 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.rem @@ -11773,7 +11776,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMathf.rem (; 146 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.rem (; 147 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12084,7 +12087,7 @@ local.get $0 end ) - (func $std/math/test_remf (; 147 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_remf (; 148 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.rem @@ -12093,7 +12096,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.sin (; 148 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sin (; 149 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -12622,7 +12625,7 @@ local.get $0 end ) - (func $std/math/test_sin (; 149 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sin (; 150 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.sin local.get $1 @@ -12646,7 +12649,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sin (; 150 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sin (; 151 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -13252,7 +13255,7 @@ local.get $26 end ) - (func $std/math/test_sinf (; 151 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sinf (; 152 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.sin local.get $1 @@ -13260,7 +13263,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.sinh (; 152 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sinh (; 153 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -13358,7 +13361,7 @@ local.set $4 local.get $4 ) - (func $std/math/test_sinh (; 153 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sinh (; 154 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.sinh local.get $1 @@ -13382,7 +13385,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sinh (; 154 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sinh (; 155 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -13471,7 +13474,7 @@ local.set $3 local.get $3 ) - (func $std/math/test_sinhf (; 155 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sinhf (; 156 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.sinh local.get $1 @@ -13479,7 +13482,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_sqrt (; 156 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sqrt (; 157 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -13506,7 +13509,7 @@ i32.const 0 end ) - (func $std/math/test_sqrtf (; 157 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sqrtf (; 158 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -13517,7 +13520,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/tan_kern (; 158 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) + (func $~lib/math/tan_kern (; 159 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) (local $3 f64) (local $4 f64) (local $5 f64) @@ -13730,7 +13733,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.tan (; 159 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tan (; 160 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -14042,7 +14045,7 @@ i32.sub call $~lib/math/tan_kern ) - (func $std/math/test_tan (; 160 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_tan (; 161 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.tan local.get $1 @@ -14066,7 +14069,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tan (; 161 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tan (; 162 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14713,7 +14716,7 @@ end f32.demote_f64 ) - (func $std/math/test_tanf (; 162 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_tanf (; 163 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.tan local.get $1 @@ -14721,7 +14724,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.tanh (; 163 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tanh (; 164 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -14813,7 +14816,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_tanh (; 164 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_tanh (; 165 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.tanh local.get $1 @@ -14837,7 +14840,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tanh (; 165 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tanh (; 166 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -14923,7 +14926,7 @@ local.get $0 f32.copysign ) - (func $std/math/test_tanhf (; 166 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_tanhf (; 167 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.tanh local.get $1 @@ -14931,7 +14934,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_trunc (; 167 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_trunc (; 168 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -14958,7 +14961,7 @@ i32.const 0 end ) - (func $std/math/test_truncf (; 168 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_truncf (; 169 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -14969,7 +14972,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.sincos (; 169 ;) (param $0 f64) + (func $~lib/math/NativeMath.sincos (; 170 ;) (param $0 f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -15588,7 +15591,7 @@ local.get $23 global.set $~lib/math/NativeMath.sincos_cos ) - (func $std/math/test_sincos (; 170 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i32) (result i32) + (func $std/math/test_sincos (; 171 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i32) (result i32) (local $6 f64) (local $7 f64) (local $8 f64) @@ -15626,7 +15629,7 @@ i32.const 0 end ) - (func $~lib/math/dtoi32 (; 171 ;) (param $0 f64) (result i32) + (func $~lib/math/dtoi32 (; 172 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i64) (local $3 i64) @@ -15697,7 +15700,7 @@ local.get $1 return ) - (func $~lib/math/NativeMath.imul (; 172 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (; 173 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) local.get $0 local.get $1 @@ -15719,7 +15722,7 @@ i32.mul f64.convert_i32_s ) - (func $~lib/math/NativeMath.clz32 (; 173 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.clz32 (; 174 ;) (param $0 f64) (result f64) local.get $0 local.get $0 f64.sub @@ -15735,7 +15738,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 174 ;) (param $0 i64) (param $1 i64) (result i64) + (func $~lib/math/ipow64 (; 175 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -15959,7 +15962,7 @@ end local.get $2 ) - (func $~lib/math/ipow32 (; 175 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/math/ipow32 (; 176 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16141,7 +16144,7 @@ end local.get $2 ) - (func $start:std/math (; 176 ;) + (func $start:std/math (; 177 ;) (local $0 f64) (local $1 i32) (local $2 i32) @@ -55716,8 +55719,34 @@ call $~lib/builtins/abort unreachable end + i32.const 13648 + i32.const 2 + i64.const 57055 + i64.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i64.add + i64.const 3 + call $~lib/math/ipow64 + i32.wrap_i64 + f64.convert_i32_u + i64.const 57055 + i64.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i64.add + i64.const 3 + call $~lib/math/ipow64 + i64.const 32 + i64.shr_u + i32.wrap_i64 + f64.convert_i32_u + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace ) - (func $~start (; 177 ;) + (func $~start (; 178 ;) call $start:std/math ) ) From b773944677acbef0925443522816618a52cfa385 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 22:10:15 +0200 Subject: [PATCH 07/64] simplify --- std/assembly/math.ts | 2 +- tests/compiler/std/math.untouched.wat | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index 5c47fef11f..572e445119 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3056,7 +3056,7 @@ export function ipow64(x: i64, e: i64): i64 { if (e == 1) return x; if (e == 2) return x * x; - let log = (64 - clz(e)); + let log = 64 - clz(e); if (log <= 6) { // 64 = 2 ^ 6, so need only six cases. // But some extra cases needs for properly overflowing diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index f35f883a64..3a9566df05 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -15771,11 +15771,10 @@ return end i32.const 64 - i64.extend_i32_s local.get $1 i64.clz - i64.sub i32.wrap_i64 + i32.sub local.set $3 local.get $3 i32.const 6 From 8fa08f0b5eb7b88d08ea325a09df1437b03b065e Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 4 Mar 2020 22:19:01 +0200 Subject: [PATCH 08/64] rebuild rest tests --- tests/compiler/binary.optimized.wat | 47 +- tests/compiler/binary.untouched.wat | 208 +++- .../std/operator-overloading.optimized.wat | 1085 +--------------- .../std/operator-overloading.untouched.wat | 1108 +++-------------- tests/compiler/std/string.optimized.wat | 4 +- tests/compiler/std/string.untouched.wat | 81 +- 6 files changed, 464 insertions(+), 2069 deletions(-) diff --git a/tests/compiler/binary.optimized.wat b/tests/compiler/binary.optimized.wat index 6961e182ef..1bb4bc38be 100644 --- a/tests/compiler/binary.optimized.wat +++ b/tests/compiler/binary.optimized.wat @@ -1,5 +1,6 @@ (module (type $none_=>_none (func)) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $f32_=>_f32 (func (param f32) (result f32))) (type $f64_=>_f64 (func (param f64) (result f64))) (memory $0 1) @@ -12,7 +13,39 @@ (global $binary/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) (start $~start) - (func $~lib/math/NativeMathf.mod (; 0 ;) (param $0 f32) (result f32) + (func $~lib/math/ipow32 (; 0 ;) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + i32.const 1 + local.set $1 + i32.const 1 + local.set $2 + loop $while-continue|0 + local.get $1 + if + local.get $0 + local.get $2 + i32.mul + local.get $2 + local.get $1 + i32.const 1 + i32.and + select + local.set $2 + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|0 + end + end + local.get $2 + ) + (func $~lib/math/NativeMathf.mod (; 1 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -156,7 +189,7 @@ local.get $0 f32.mul ) - (func $~lib/math/NativeMath.mod (; 1 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 2 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 i64) @@ -307,12 +340,15 @@ local.get $0 f64.mul ) - (func $start:binary (; 2 ;) + (func $start:binary (; 3 ;) global.get $binary/i i32.const 1 i32.rem_s drop global.get $binary/i + call $~lib/math/ipow32 + drop + global.get $binary/i i32.const 1 i32.lt_s global.set $binary/b @@ -349,8 +385,7 @@ i32.rem_s global.set $binary/i global.get $binary/i - f64.convert_i32_s - i32.trunc_f64_s + call $~lib/math/ipow32 global.set $binary/i global.get $binary/i i32.const 1 @@ -615,7 +650,7 @@ call $~lib/math/NativeMath.mod global.set $binary/F ) - (func $~start (; 3 ;) + (func $~start (; 4 ;) call $start:binary ) ) diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index 35b4803fc9..171b62e19e 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -2,6 +2,7 @@ (type $none_=>_none (func)) (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (memory $0 1) (data (i32.const 16) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") @@ -11,13 +12,195 @@ (global $binary/b (mut i32) (i32.const 0)) (global $binary/i (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/util/math/log_tail (mut f64) (f64.const 0)) (global $binary/I (mut i64) (i64.const 0)) + (global $~lib/util/math/log_tail (mut f64) (f64.const 0)) (global $binary/f (mut f32) (f32.const 0)) (global $binary/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) (start $~start) - (func $~lib/math/NativeMath.pow (; 0 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/ipow32 (; 0 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + local.set $2 + local.get $1 + i32.const 0 + i32.le_s + if + local.get $1 + i32.const 0 + i32.eq + return + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + local.get $3 + i32.const 5 + i32.le_s + if + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + end + local.get $2 + return + end + loop $while-continue|1 + local.get $1 + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 + end + end + local.get $2 + ) + (func $~lib/math/NativeMath.pow (; 1 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -977,7 +1160,7 @@ end return ) - (func $~lib/math/NativeMathf.mod (; 1 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 2 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1225,7 +1408,7 @@ local.get $2 f32.reinterpret_i32 ) - (func $~lib/math/NativeMathf.pow (; 2 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.pow (; 3 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 f32) (local $3 f32) (local $4 i32) @@ -1810,7 +1993,7 @@ f32.demote_f64 end ) - (func $~lib/math/NativeMath.mod (; 3 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 4 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -2064,7 +2247,7 @@ local.get $2 f64.reinterpret_i64 ) - (func $start:binary (; 4 ;) + (func $start:binary (; 5 ;) global.get $binary/i i32.const 1 i32.lt_s @@ -2110,9 +2293,8 @@ i32.rem_s drop global.get $binary/i - f64.convert_i32_s - f64.const 1 - call $~lib/math/NativeMath.pow + i32.const 1 + call $~lib/math/ipow32 drop global.get $binary/i i32.const 1 @@ -2183,10 +2365,8 @@ 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 + i32.const 1 + call $~lib/math/ipow32 global.set $binary/i global.get $binary/i i32.const 1 @@ -2672,7 +2852,7 @@ call $~lib/math/NativeMath.pow global.set $binary/F ) - (func $~start (; 5 ;) + (func $~start (; 6 ;) call $start:binary ) ) diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index cf08182ac6..4eda247f05 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -4,8 +4,6 @@ (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_=>_i32 (func (param i32) (result i32))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "6\00\00\00\01\00\00\00\01\00\00\006\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") @@ -160,1059 +158,36 @@ i32.store offset=4 local.get $2 ) - (func $~lib/math/NativeMath.scalbn (; 4 ;) (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 (; 5 ;) (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f64) - (local $10 i32) - (local $11 i32) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 i64) - (local $16 i32) - (local $17 i32) - (local $18 f64) - (local $19 i32) - (local $20 f64) - local.get $1 - f64.abs - f64.const 2 - f64.le - if - local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const -inf - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - local.get $0 - i64.reinterpret_f64 - local.tee $15 - i32.wrap_i64 - local.set $19 - local.get $15 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $16 - i32.const 2147483647 - i32.and - local.set $4 - local.get $1 - i64.reinterpret_f64 - local.tee $15 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 2147483647 - i32.and - local.tee $8 - local.get $15 - i32.wrap_i64 - local.tee $6 - i32.or - i32.eqz - if - f64.const 1 - return - end - i32.const 1 - local.get $6 - i32.const 0 - local.get $8 - i32.const 2146435072 - i32.eq - select - i32.const 1 - local.get $8 - i32.const 2146435072 - i32.gt_s + (func $~lib/math/ipow32 (; 4 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) i32.const 1 - local.get $19 - i32.const 0 - local.get $4 - i32.const 2146435072 - i32.eq - select - local.get $4 - i32.const 2146435072 - i32.gt_s - select - select - select - if - local.get $0 + local.set $2 + loop $while-continue|0 local.get $1 - f64.add - return - end - local.get $16 - 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) - i32.const 52 - i32.const 20 - local.get $8 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $11 - i32.const 20 - i32.gt_s - local.tee $5 - select - local.get $11 - i32.sub - local.set $10 - i32.const 2 - local.get $6 - local.get $8 - local.get $5 - select - local.tee $5 - local.get $10 - i32.shr_u - local.tee $11 - i32.const 1 - i32.and - i32.sub - i32.const 0 - local.get $5 - local.get $11 - local.get $10 - i32.shl - i32.eq - select - else - i32.const 0 - end - end - local.set $17 - end - local.get $6 - i32.eqz - if - local.get $8 - i32.const 2146435072 - i32.eq - if - local.get $19 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if - local.get $4 - i32.const 1072693248 - i32.ge_s - if - local.get $7 - 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 $7 - 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 $7 - i32.const 0 - i32.ge_s - if - local.get $0 - return - end - f64.const 1 - local.get $0 - f64.div - return - end - local.get $7 - i32.const 1073741824 - i32.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $7 - i32.const 1071644672 - i32.eq - if - local.get $16 - i32.const 0 - i32.ge_s - if - local.get $0 - f64.sqrt - return - end - end - end - local.get $0 - f64.abs - local.set $3 - local.get $19 - i32.eqz - if - i32.const 1 - local.get $4 - i32.const 1072693248 - i32.eq - local.get $4 - i32.const 2146435072 - i32.eq - i32.const 1 - local.get $4 - select - select - if - f64.const 1 - local.get $3 - f64.div - local.get $3 - local.get $7 - i32.const 0 - i32.lt_s - select - local.set $3 - local.get $16 - i32.const 0 - i32.lt_s - if (result f64) - local.get $17 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if (result f64) - local.get $3 - f64.neg - local.get $3 - local.get $17 - i32.const 1 - i32.eq - select - else - local.get $3 - local.get $3 - f64.sub - local.tee $0 - local.get $0 - f64.div - end - else - local.get $3 - end - return - end - end - f64.const 1 - local.set $12 - local.get $16 - i32.const 0 - i32.lt_s - if - local.get $17 - 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 $17 - i32.const 1 - i32.eq - select - local.set $12 - 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 $4 - i32.const 1072693247 - i32.le_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.ge_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - end - local.get $4 - i32.const 1072693247 - i32.lt_s - if - local.get $12 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $12 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.gt_s - if - local.get $12 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $12 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - local.get $3 - f64.const 1 - f64.sub - local.tee $2 - local.get $2 - f64.mul - f64.const 0.5 - local.get $2 - f64.const 0.3333333333333333 - local.get $2 - f64.const 0.25 - f64.mul - f64.sub - f64.mul - f64.sub - f64.mul - local.set $0 - f64.const 1.4426950216293335 - local.get $2 - f64.mul - local.tee $3 - local.get $2 - 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 $9 - local.get $0 - local.get $9 - local.get $3 - f64.sub - f64.sub - else - i32.const 0 - local.set $6 - local.get $4 - i32.const 1048576 - i32.lt_s - if (result i32) - local.get $3 - f64.const 9007199254740992 - f64.mul - local.tee $3 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $4 - i32.const -53 - else - i32.const 0 - end - local.get $4 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - i32.add - local.set $6 - local.get $4 - i32.const 1048575 - i32.and - local.tee $5 - i32.const 1072693248 - i32.or - local.set $4 - local.get $5 - i32.const 235662 - i32.le_s - if (result i32) - i32.const 0 - else - local.get $5 - 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 $4 - i32.const -1048576 - i32.add - local.set $4 - i32.const 0 - end - end - local.set $5 - local.get $3 - i64.reinterpret_f64 - i64.const 4294967295 - i64.and - local.get $4 - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - local.tee $3 - f64.const 1.5 - f64.const 1 - local.get $5 - select - local.tee $0 - f64.sub - local.tee $9 - f64.const 1 - local.get $3 - local.get $0 - f64.add - f64.div - local.tee $2 - f64.mul - local.tee $18 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $13 - local.get $3 - local.get $4 - i32.const 1 - i32.shr_s - i32.const 536870912 - i32.or - i32.const 524288 - i32.add - local.get $5 - i32.const 18 - i32.shl - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.tee $3 - local.get $0 - f64.sub - f64.sub - local.set $0 - f64.const 0.9617967009544373 - local.get $13 - f64.const 3 - local.get $13 - local.get $13 - f64.mul - local.tee $20 - f64.add - local.get $18 - local.get $18 - f64.mul - local.tee $14 - local.get $14 - f64.mul - f64.const 0.5999999999999946 - local.get $14 - f64.const 0.4285714285785502 - local.get $14 - f64.const 0.33333332981837743 - local.get $14 - f64.const 0.272728123808534 - local.get $14 - f64.const 0.23066074577556175 - local.get $14 - 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 $2 - local.get $9 - local.get $13 - local.get $3 - f64.mul - f64.sub - local.get $13 - local.get $0 - f64.mul - f64.sub - f64.mul - local.tee $2 - local.get $13 - 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 $9 - f64.mul - local.tee $3 - local.get $2 - local.get $9 - f64.mul - local.get $0 - local.get $9 - 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 $2 - f64.mul - local.tee $20 - f64.const -7.028461650952758e-09 - local.get $2 - f64.mul - local.get $0 - local.get $2 - local.get $3 - f64.sub - f64.sub - f64.const 0.9617966939259756 - f64.mul - f64.add - f64.const 1.350039202129749e-08 - f64.const 0 - local.get $5 - select - f64.add - local.tee $2 - f64.add - f64.const 0.5849624872207642 - f64.const 0 - local.get $5 - select - local.tee $3 - 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 $9 - local.get $2 - local.get $9 - local.get $0 - f64.sub - local.get $3 - f64.sub - local.get $20 - f64.sub - f64.sub - end - local.set $3 - local.get $1 - local.get $1 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - f64.sub - local.get $9 - f64.mul - local.get $1 - local.get $3 - f64.mul - f64.add - local.tee $1 - local.get $0 - local.get $9 - f64.mul - local.tee $2 - f64.add - local.tee $0 - i64.reinterpret_f64 - local.tee $15 - i32.wrap_i64 - local.set $5 - block $folding-inner1 - block $folding-inner0 - local.get $15 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $10 - i32.const 1083179008 - i32.ge_s - if - local.get $5 - local.get $10 - i32.const 1083179008 - i32.sub - i32.or - local.get $1 - f64.const 8.008566259537294e-17 - f64.add - local.get $0 - local.get $2 - f64.sub - f64.gt - i32.or - br_if $folding-inner0 - else - local.get $10 - i32.const 2147483647 - i32.and - i32.const 1083231232 - i32.ge_s - i32.const 0 - local.get $5 - local.get $10 - i32.const -1064252416 - i32.sub - i32.or - local.get $1 - local.get $0 - local.get $2 - f64.sub - f64.le - i32.or - select - br_if $folding-inner1 - end - local.get $10 - i32.const 2147483647 - i32.and - local.tee $11 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.set $5 - i32.const 0 - local.set $6 - local.get $11 - i32.const 1071644672 - i32.gt_s - if - i32.const 1048575 - local.get $10 - i32.const 1048576 - local.get $5 - i32.const 1 - i32.add - i32.shr_s - i32.add - local.tee $11 - i32.const 2147483647 - i32.and - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $5 - i32.shr_s - i32.const -1 - i32.xor - local.get $11 - i32.and - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $0 - i32.const 0 - local.get $11 - i32.const 1048575 - i32.and - i32.const 1048576 - i32.or - i32.const 20 - local.get $5 - i32.sub - i32.shr_s - local.tee $6 - i32.sub - local.get $6 - local.get $10 - i32.const 0 - i32.lt_s - select - local.set $6 - local.get $2 - local.get $0 - f64.sub - local.set $2 - end - local.get $1 local.get $2 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - f64.const 0.6931471824645996 - f64.mul - local.tee $3 + i32.mul + local.get $2 + local.get $1 + i32.const 1 + i32.and + select + local.set $2 local.get $1 + i32.const 1 + i32.shr_u + local.set $1 local.get $0 - local.get $2 - 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 $2 - local.get $2 - f64.mul + i32.mul local.set $0 - local.get $12 - f64.const 1 - local.get $2 - local.get $2 - 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 $2 - local.get $3 - f64.sub - f64.sub - local.tee $0 - local.get $2 - local.get $0 - f64.mul - f64.add - f64.sub - local.get $2 - 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 $5 - 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 $5 - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - end - f64.mul - return + br $while-continue|0 end - local.get $12 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - return - end - local.get $12 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - ) - (func $std/operator-overloading/Tester.pow (; 6 ;) (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 + end + local.get $2 ) - (func $std/operator-overloading/Tester.equals (; 7 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/Tester.equals (; 5 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 @@ -1228,7 +203,7 @@ i32.const 0 end ) - (func $std/operator-overloading/Tester.notEquals (; 8 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/Tester.notEquals (; 6 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 @@ -1244,7 +219,7 @@ i32.const 0 end ) - (func $std/operator-overloading/TesterInlineStatic#constructor (; 9 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/TesterInlineStatic#constructor (; 7 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) i32.const 4 call $~lib/rt/stub/__alloc @@ -1256,7 +231,7 @@ i32.store offset=4 local.get $2 ) - (func $std/operator-overloading/TesterInlineInstance#constructor (; 10 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/TesterInlineInstance#constructor (; 8 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) i32.const 5 call $~lib/rt/stub/__alloc @@ -1268,7 +243,7 @@ i32.store offset=4 local.get $2 ) - (func $start:std/operator-overloading (; 11 ;) + (func $start:std/operator-overloading (; 9 ;) (local $0 i32) (local $1 i32) i32.const 96 @@ -1496,8 +471,18 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/p2 global.get $std/operator-overloading/p1 + local.tee $0 + i32.load global.get $std/operator-overloading/p2 - call $std/operator-overloading/Tester.pow + local.tee $1 + i32.load + call $~lib/math/ipow32 + local.get $0 + i32.load offset=4 + local.get $1 + i32.load offset=4 + call $~lib/math/ipow32 + call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/p global.get $std/operator-overloading/p i32.load @@ -2429,7 +1414,7 @@ unreachable end ) - (func $~start (; 12 ;) + (func $~start (; 10 ;) call $start:std/operator-overloading ) ) diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index dc0f890de4..2ccf6e2aca 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -5,12 +5,9 @@ (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "6\00\00\00\01\00\00\00\01\00\00\006\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\00") - (data (i32.const 96) "\00\10\00\00\01\00\00\00\04\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") (table $0 1 funcref) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) @@ -32,7 +29,6 @@ (global $std/operator-overloading/p1 (mut i32) (i32.const 0)) (global $std/operator-overloading/p2 (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/util/math/log_tail (mut f64) (f64.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)) @@ -83,7 +79,7 @@ (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)) - (global $~lib/heap/__heap_base i32 (i32.const 6272)) + (global $~lib/heap/__heap_base i32 (i32.const 88)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/stub/maybeGrowMemory (; 1 ;) (param $0 i32) @@ -352,965 +348,187 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/math/NativeMath.pow (; 11 ;) (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) + (func $~lib/math/ipow32 (; 11 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 f64) - (local $11 i64) - (local $12 i32) - (local $13 i64) - (local $14 i64) - (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 f64) - (local $29 f64) - (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 i32) - (local $40 i32) - (local $41 i32) - (local $42 i32) - (local $43 i64) - (local $44 i64) - local.get $1 - f64.abs - f64.const 2 - f64.le + i32.const 1 + local.set $2 + local.get $1 + i32.const 0 + i32.le_s if local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const inf - f64.neg - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end + i32.const 0 + i32.eq + return end - block $~lib/util/math/pow_lut|inlined.0 (result f64) + local.get $1 + i32.const 1 + i32.eq + if local.get $0 - local.set $3 - local.get $1 - local.set $2 - i32.const 0 - local.set $4 - local.get $3 - i64.reinterpret_f64 - local.set $5 - local.get $2 - i64.reinterpret_f64 - local.set $6 - local.get $5 - i64.const 52 - i64.shr_u - local.set $7 - local.get $6 - i64.const 52 - i64.shr_u - local.set $8 - local.get $7 - i64.const 1 - i64.sub - i64.const 2046 - i64.ge_u - if (result i32) - i32.const 1 - else - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 128 - i64.ge_u - end - if - local.get $6 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740993 - i64.ge_u - if - local.get $6 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - if (result i32) - i32.const 1 - else - local.get $6 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - end - if - local.get $3 - local.get $2 - f64.add - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.lt_u - local.get $6 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.eqz - i32.eq - if - f64.const 0 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $2 - local.get $2 - f64.mul - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740993 - i64.ge_u - if - local.get $3 - local.get $3 - f64.mul - local.set $10 - local.get $5 - i64.const 63 - i64.shr_u - i32.wrap_i64 - if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 - end - local.get $11 - i64.const 1075 - i64.gt_u - if - i32.const 2 - br $~lib/util/math/checkint|inlined.0 - end - i64.const 1 - i64.const 1075 - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + local.get $3 + i32.const 5 + i32.le_s + if + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne + local.get $1 + i32.const 1 + i32.and if - i32.const 1 - br $~lib/util/math/checkint|inlined.0 + local.get $2 + local.get $0 + i32.mul + local.set $2 end - i32.const 2 + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end + local.get $1 i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $10 - f64.neg - local.set $10 - end - local.get $6 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if (result f64) - f64.const 1 - local.get $10 - f64.div - else - local.get $10 - end - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if - block $~lib/util/math/checkint|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u + i32.and if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 + local.get $2 + local.get $0 + i32.mul + local.set $2 end - local.get $11 - i64.const 1075 - i64.gt_u - if - i32.const 2 - br $~lib/util/math/checkint|inlined.1 - end - i64.const 1 - i64.const 1023 - i64.const 52 - i64.add - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 - end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne - if - i32.const 1 - br $~lib/util/math/checkint|inlined.1 - end - i32.const 2 - end - local.set $12 - local.get $12 - i32.const 0 - i32.eq - if - local.get $3 - local.get $3 - f64.sub - local.get $3 - local.get $3 - f64.sub - f64.div - br $~lib/util/math/pow_lut|inlined.0 + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end - local.get $12 + local.get $1 i32.const 1 - i32.eq + i32.and if - i32.const 262144 - local.set $4 - end - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $7 - i64.const 2047 - i64.and - local.set $7 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 128 - i64.ge_u - if - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.lt_u - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.gt_u - local.get $8 - i64.const 2048 - i64.lt_u - i32.eq - if (result f64) - f64.const inf - else - f64.const 0 + local.get $2 + local.get $0 + i32.mul + local.set $2 end - br $~lib/util/math/pow_lut|inlined.0 + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end - local.get $7 - i64.const 0 - i64.eq + local.get $1 + i32.const 1 + i32.and if - local.get $3 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $5 - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $5 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $5 + local.get $2 + local.get $0 + i32.mul + local.set $2 end end - local.get $5 - local.set $9 - local.get $9 - i64.const 4604531861337669632 - i64.sub - local.set $11 - local.get $11 - i64.const 52 - i64.const 7 - i64.sub - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - local.set $12 - local.get $11 - i64.const 52 - i64.shr_s - local.set $13 - local.get $9 - local.get $11 - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $14 - local.get $14 - f64.reinterpret_i64 - local.set $10 - local.get $13 - f64.convert_i64_s - local.set $15 - i32.const 112 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $16 - i32.const 112 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=16 - local.set $17 - i32.const 112 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=24 - local.set $18 - local.get $14 - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $19 - local.get $10 - local.get $19 - f64.sub - local.set $20 - local.get $19 - local.get $16 - f64.mul - f64.const 1 - f64.sub - local.set $21 - local.get $20 - local.get $16 - f64.mul - local.set $22 - local.get $21 - local.get $22 - f64.add - local.set $23 - local.get $15 - f64.const 0.6931471805598903 - f64.mul - local.get $17 - f64.add - local.set $24 - local.get $24 - local.get $23 - f64.add - local.set $25 - local.get $15 - f64.const 5.497923018708371e-14 - f64.mul - local.get $18 - f64.add - local.set $26 - local.get $24 - local.get $25 - f64.sub - local.get $23 - f64.add - local.set $27 - f64.const -0.5 - local.get $23 - f64.mul - local.set $28 - local.get $23 - local.get $28 - f64.mul - local.set $29 - local.get $23 - local.get $29 - f64.mul - local.set $30 - f64.const -0.5 - local.get $21 - f64.mul - local.set $31 - local.get $21 - local.get $31 - f64.mul - local.set $32 - local.get $25 - local.get $32 - f64.add - local.set $33 - local.get $22 - local.get $28 - local.get $31 - f64.add - f64.mul - local.set $34 - local.get $25 - local.get $33 - f64.sub - local.get $32 - f64.add - local.set $35 - local.get $30 - f64.const -0.6666666666666679 - local.get $23 - f64.const 0.5000000000000007 - f64.mul - f64.add - local.get $29 - f64.const 0.7999999995323976 - local.get $23 - f64.const -0.6666666663487739 - f64.mul - f64.add - local.get $29 - f64.const -1.142909628459501 - local.get $23 - f64.const 1.0000415263675542 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $36 - local.get $26 - local.get $27 - f64.add - local.get $34 - f64.add - local.get $35 - f64.add - local.get $36 - f64.add - local.set $37 - local.get $33 - local.get $37 - f64.add - local.set $38 - local.get $33 - local.get $38 - f64.sub - local.get $37 - f64.add - global.set $~lib/util/math/log_tail - local.get $38 - local.set $38 - global.get $~lib/util/math/log_tail - local.set $37 - local.get $6 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $34 - local.get $2 - local.get $34 - f64.sub - local.set $33 - local.get $38 - i64.reinterpret_f64 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $32 - local.get $38 - local.get $32 - f64.sub - local.get $37 - f64.add - local.set $31 - local.get $34 - local.get $32 - f64.mul - local.set $36 - local.get $33 - local.get $32 - f64.mul local.get $2 - local.get $31 - f64.mul - f64.add - local.set $35 - block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $36 - local.set $15 - local.get $35 - local.set $10 - local.get $4 - local.set $12 - local.get $15 - i64.reinterpret_f64 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i32.wrap_i64 - i32.const 2047 + return + end + loop $while-continue|1 + local.get $1 + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 i32.and - local.set $39 - local.get $39 - i32.const 969 - i32.sub - i32.const 63 - i32.ge_u - if - local.get $39 - i32.const 969 - i32.sub - i32.const -2147483648 - i32.ge_u - if - f64.const -1 - f64.const 1 - local.get $12 - select - br $~lib/util/math/exp_inline|inlined.0 - end - local.get $39 - i32.const 1033 - i32.ge_u - if - local.get $9 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if (result f64) - local.get $12 - local.set $41 - local.get $41 - local.set $42 - i64.const 1152921504606846976 - f64.reinterpret_i64 - local.set $16 - local.get $16 - f64.neg - local.get $16 - local.get $42 - select - local.get $16 - f64.mul - else - local.get $12 - local.set $42 - local.get $42 - local.set $41 - i64.const 8070450532247928832 - f64.reinterpret_i64 - local.set $17 - local.get $17 - f64.neg - local.get $17 - local.get $41 - select - local.get $17 - f64.mul - end - br $~lib/util/math/exp_inline|inlined.0 - end - i32.const 0 - local.set $39 - end - f64.const 184.6649652337873 - local.get $15 - f64.mul - local.set $29 - local.get $29 - f64.const 6755399441055744 - f64.add - local.set $30 - local.get $30 - i64.reinterpret_f64 - local.set $14 - local.get $30 - f64.const 6755399441055744 - f64.sub - local.set $30 - local.get $15 - local.get $30 - f64.const -0.005415212348111709 - f64.mul - f64.add - local.get $30 - f64.const -1.2864023111638346e-14 - f64.mul - f64.add - local.set $28 - local.get $28 - local.get $10 - f64.add - local.set $28 - local.get $14 - i64.const 127 - i64.and - i64.const 1 - i64.shl - i32.wrap_i64 - local.set $40 - local.get $14 - local.get $12 - i64.extend_i32_u - i64.add - i64.const 52 - i64.const 7 - i64.sub - i64.shl - local.set $13 - i32.const 4224 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $25 - i32.const 4224 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load offset=8 - local.get $13 - i64.add - local.set $11 - local.get $28 - local.get $28 - f64.mul - local.set $27 - local.get $25 - local.get $28 - f64.add - local.get $27 - f64.const 0.49999999999996786 - local.get $28 - f64.const 0.16666666666665886 - f64.mul - f64.add - f64.mul - f64.add - local.get $27 - local.get $27 - f64.mul - f64.const 0.0416666808410674 - local.get $28 - f64.const 0.008333335853059549 - f64.mul - f64.add - f64.mul - f64.add - local.set $24 - local.get $39 - i32.const 0 - i32.eq if - block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $24 - local.set $18 - local.get $11 - local.set $44 - local.get $14 - local.set $43 - local.get $43 - i64.const 2147483648 - i64.and - i64.const 0 - i64.ne - i32.eqz - if - local.get $44 - i64.const 1009 - i64.const 52 - i64.shl - i64.sub - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - f64.const 5486124068793688683255936e279 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - f64.mul - br $~lib/util/math/specialcase|inlined.0 - end - local.get $44 - i64.const 1022 - i64.const 52 - i64.shl - i64.add - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $16 - local.get $16 - f64.abs - f64.const 1 - f64.lt - if - f64.const 1 - local.get $16 - f64.copysign - local.set $23 - local.get $17 - local.get $16 - f64.sub - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $22 - local.get $23 - local.get $16 - f64.add - local.set $21 - local.get $23 - local.get $21 - f64.sub - local.get $16 - f64.add - local.get $22 - f64.add - local.set $22 - local.get $21 - local.get $22 - f64.add - local.get $23 - f64.sub - local.set $16 - local.get $16 - f64.const 0 - f64.eq - if - local.get $44 - i64.const -9223372036854775808 - i64.and - f64.reinterpret_i64 - local.set $16 - end - end - local.get $16 - f64.const 2.2250738585072014e-308 - f64.mul - end - br $~lib/util/math/exp_inline|inlined.0 + local.get $2 + local.get $0 + i32.mul + local.set $2 end - local.get $11 - f64.reinterpret_i64 - local.set $26 - local.get $26 - local.get $26 - local.get $24 - f64.mul - f64.add + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 end end - return + local.get $2 ) (func $std/operator-overloading/Tester.pow (; 12 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -1323,20 +541,14 @@ i32.const 0 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 + call $~lib/math/ipow32 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 $~lib/math/ipow32 call $std/operator-overloading/Tester#constructor local.set $2 local.get $0 @@ -1797,7 +1009,7 @@ i32.eqz if i32.const 8 - i32.const 6 + i32.const 4 call $~lib/rt/stub/__alloc call $~lib/rt/stub/__retain local.set $0 @@ -1815,7 +1027,7 @@ i32.eqz if i32.const 8 - i32.const 7 + i32.const 5 call $~lib/rt/stub/__alloc call $~lib/rt/stub/__retain local.set $0 diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 96d16046e2..1e1a3fa040 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -3234,8 +3234,6 @@ local.set $2 loop $while-continue|0 local.get $0 - i32.const 0 - i32.gt_s if local.get $1 local.get $2 @@ -3248,7 +3246,7 @@ local.set $2 local.get $0 i32.const 1 - i32.shr_s + i32.shr_u local.set $0 local.get $1 local.get $1 diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index ea9a9bf04a..e20d229c47 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -5291,37 +5291,24 @@ local.set $2 local.get $1 i32.const 0 - i32.lt_s + i32.le_s if + local.get $1 i32.const 0 + i32.eq return end - block $break|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $1 - local.set $3 - local.get $3 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case2|0 - br $break|0 - end - i32.const 1 - return - end - local.get $0 - return - end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if local.get $0 local.get $0 i32.mul @@ -5336,35 +5323,35 @@ i32.const 5 i32.le_s if - block $break|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 local.get $3 local.set $4 local.get $4 i32.const 5 i32.eq - br_if $case0|1 + br_if $case0|0 local.get $4 i32.const 4 i32.eq - br_if $case1|1 + br_if $case1|0 local.get $4 i32.const 3 i32.eq - br_if $case2|1 + br_if $case2|0 local.get $4 i32.const 2 i32.eq - br_if $case3|1 + br_if $case3|0 local.get $4 i32.const 1 i32.eq - br_if $case4|1 - br $break|1 + br_if $case4|0 + br $break|0 end local.get $1 i32.const 1 @@ -5377,7 +5364,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -5395,7 +5382,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -5413,7 +5400,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -5431,7 +5418,7 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 @@ -5451,10 +5438,8 @@ local.get $2 return end - loop $while-continue|2 + loop $while-continue|1 local.get $1 - i32.const 0 - i32.gt_s local.set $3 local.get $3 if @@ -5469,13 +5454,13 @@ end local.get $1 i32.const 1 - i32.shr_s + i32.shr_u local.set $1 local.get $0 local.get $0 i32.mul local.set $0 - br $while-continue|2 + br $while-continue|1 end end local.get $2 From bf53fbcf712a38c26ea54dee6db8ad1ec69eca9b Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 00:05:38 +0200 Subject: [PATCH 09/64] include also other int types but without isize / usize --- src/compiler.ts | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 7e42a2ff86..1be196ce52 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4621,10 +4621,21 @@ export class Compiler extends DiagnosticEmitter { let targetType = leftType; let instance: Function | null; + let currentTypeKind = this.currentType.kind; - if ((this.currentType.kind == TypeKind.I32 || this.currentType.kind == TypeKind.U32)) { - let type = this.currentType.kind == TypeKind.I32 ? Type.i32 : Type.u32; - + if ( + currentTypeKind == TypeKind.I8 || + currentTypeKind == TypeKind.U8 || + currentTypeKind == TypeKind.I16 || + currentTypeKind == TypeKind.U16 || + currentTypeKind == TypeKind.I32 || + currentTypeKind == TypeKind.U32 //|| + // !this.options.isWasm64 && ( + // currentTypeKind == TypeKind.ISIZE || + // currentTypeKind == TypeKind.USIZE + // ) + ) { + let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32; rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); rightType = this.currentType; instance = this.i32PowInstance; @@ -4642,10 +4653,15 @@ export class Compiler extends DiagnosticEmitter { assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null); } - - } else if (this.currentType.kind == TypeKind.I64 || this.currentType.kind == TypeKind.U64) { - - let type = this.currentType.kind == TypeKind.I64 ? Type.i64 : Type.u64; + } else if ( + currentTypeKind == TypeKind.I64 || + currentTypeKind == TypeKind.U64 // || + // this.options.isWasm64 && ( + // currentTypeKind == TypeKind.ISIZE || + // currentTypeKind == TypeKind.USIZE + // ) + ) { + let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i64 : Type.u64; rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); rightType = this.currentType; @@ -4665,7 +4681,7 @@ export class Compiler extends DiagnosticEmitter { this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null); } // Mathf.pow if lhs is f32 (result is f32) - } else if (this.currentType.kind == TypeKind.F32) { + } else if (currentTypeKind == TypeKind.F32) { rightExpr = this.compileExpression(right, Type.f32, Constraints.CONV_IMPLICIT); rightType = this.currentType; instance = this.f32PowInstance; From 7503cc598e7bab699d33806dbab0cb427aee8e33 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 00:44:20 +0200 Subject: [PATCH 10/64] add more tests --- tests/compiler/std/math.optimized.wat | 327 ++++++++++++------------- tests/compiler/std/math.ts | 8 +- tests/compiler/std/math.untouched.wat | 333 +++++++++++++------------- 3 files changed, 342 insertions(+), 326 deletions(-) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 449887711c..216be2d040 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -12,7 +12,6 @@ (type $none_=>_none (func)) (type $none_=>_f64 (func (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) (type $i64_=>_none (func (param i64))) (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) (type $f64_=>_none (func (param f64))) @@ -69,7 +68,6 @@ (import "Math" "tan" (func $~lib/bindings/Math/tan (param f64) (result f64))) (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) - (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") (data (i32.const 64) "\c0\00\00\00\01\00\00\00\03\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") @@ -80,7 +78,6 @@ (data (i32.const 2657) "\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") (data (i32.const 2928) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") (data (i32.const 2976) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") - (data (i32.const 3044) "\01\00\00\00\01") (global $~lib/math/rempio2_y0 (mut f64) (f64.const 0)) (global $~lib/math/rempio2_y1 (mut f64) (f64.const 0)) (global $~lib/math/res128_hi (mut i64) (i64.const 0)) @@ -94,7 +91,7 @@ (global $~lib/math/NativeMath.sincos_cos (mut f64) (f64.const 0)) (export "memory" (memory $0)) (start $~start) - (func $~lib/math/NativeMath.scalbn (; 33 ;) (param $0 f64) (param $1 i32) (result f64) + (func $~lib/math/NativeMath.scalbn (; 32 ;) (param $0 f64) (param $1 i32) (result f64) local.get $1 i32.const 1023 i32.gt_s @@ -171,7 +168,7 @@ f64.reinterpret_i64 f64.mul ) - (func $std/math/ulperr (; 34 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) + (func $std/math/ulperr (; 33 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) (local $3 i32) local.get $1 local.get $1 @@ -261,7 +258,7 @@ local.get $2 f64.add ) - (func $std/math/check (; 35 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/check (; 34 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 f64.eq @@ -291,7 +288,7 @@ end i32.const 1 ) - (func $~lib/math/NativeMathf.scalbn (; 36 ;) (param $0 f32) (param $1 i32) (result f32) + (func $~lib/math/NativeMathf.scalbn (; 35 ;) (param $0 f32) (param $1 i32) (result f32) local.get $1 i32.const 127 i32.gt_s @@ -367,7 +364,7 @@ f32.reinterpret_i32 f32.mul ) - (func $std/math/ulperrf (; 37 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) + (func $std/math/ulperrf (; 36 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) (local $3 i32) local.get $1 local.get $1 @@ -454,7 +451,7 @@ local.get $2 f32.add ) - (func $std/math/check (; 38 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/check (; 37 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 f32.eq @@ -484,7 +481,7 @@ end i32.const 1 ) - (func $std/math/test_scalbn (; 39 ;) (param $0 f64) (param $1 i32) (param $2 f64) (result i32) + (func $std/math/test_scalbn (; 38 ;) (param $0 f64) (param $1 i32) (param $2 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.scalbn @@ -492,7 +489,7 @@ f64.const 0 call $std/math/check ) - (func $std/math/test_scalbnf (; 40 ;) (param $0 f32) (param $1 i32) (param $2 f32) (result i32) + (func $std/math/test_scalbnf (; 39 ;) (param $0 f32) (param $1 i32) (param $2 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.scalbn @@ -500,7 +497,7 @@ f32.const 0 call $std/math/check ) - (func $std/math/test_abs (; 41 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_abs (; 40 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.abs local.get $1 @@ -516,14 +513,14 @@ i32.const 0 end ) - (func $std/math/test_absf (; 42 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_absf (; 41 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.abs local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/R (; 43 ;) (param $0 f64) (result f64) + (func $~lib/math/R (; 42 ;) (param $0 f64) (result f64) local.get $0 f64.const 0.16666666666666666 local.get $0 @@ -566,7 +563,7 @@ f64.add f64.div ) - (func $~lib/math/NativeMath.acos (; 44 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acos (; 43 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -690,7 +687,7 @@ f64.add f64.mul ) - (func $std/math/test_acos (; 45 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_acos (; 44 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.acos local.get $1 @@ -706,7 +703,7 @@ i32.const 0 end ) - (func $~lib/math/Rf (; 46 ;) (param $0 f32) (result f32) + (func $~lib/math/Rf (; 45 ;) (param $0 f32) (result f32) local.get $0 f32.const 0.16666586697101593 local.get $0 @@ -725,7 +722,7 @@ f32.add f32.div ) - (func $~lib/math/NativeMathf.acos (; 47 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acos (; 46 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -841,14 +838,14 @@ f32.add f32.mul ) - (func $std/math/test_acosf (; 48 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_acosf (; 47 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.acos local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.log1p (; 49 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log1p (; 48 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -1046,7 +1043,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.log (; 50 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log (; 49 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i64) (local $3 f64) @@ -1214,7 +1211,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.acosh (; 51 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acosh (; 50 ;) (param $0 f64) (result f64) (local $1 i64) local.get $0 i64.reinterpret_f64 @@ -1268,7 +1265,7 @@ f64.const 0.6931471805599453 f64.add ) - (func $std/math/test_acosh (; 52 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_acosh (; 51 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.acosh local.get $1 @@ -1284,7 +1281,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log1p (; 53 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log1p (; 52 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -1454,7 +1451,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.log (; 54 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log (; 53 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -1588,7 +1585,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.acosh (; 55 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acosh (; 54 ;) (param $0 f32) (result f32) (local $1 i32) local.get $0 i32.reinterpret_f32 @@ -1638,14 +1635,14 @@ f32.const 0.6931471824645996 f32.add ) - (func $std/math/test_acoshf (; 56 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_acoshf (; 55 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.acosh local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.asin (; 57 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asin (; 56 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -1783,7 +1780,7 @@ end local.get $0 ) - (func $std/math/test_asin (; 58 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_asin (; 57 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.asin local.get $1 @@ -1799,7 +1796,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asin (; 59 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asin (; 58 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f64) @@ -1879,14 +1876,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_asinf (; 60 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_asinf (; 59 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.asin local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.asinh (; 61 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asinh (; 60 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) local.get $0 @@ -1956,7 +1953,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_asinh (; 62 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_asinh (; 61 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.asinh local.get $1 @@ -1972,7 +1969,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asinh (; 63 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asinh (; 62 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) local.get $0 @@ -2037,14 +2034,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_asinhf (; 64 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_asinhf (; 63 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.asinh local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.atan (; 65 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atan (; 64 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -2267,7 +2264,7 @@ local.get $3 f64.copysign ) - (func $std/math/test_atan (; 66 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_atan (; 65 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.atan local.get $1 @@ -2283,7 +2280,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan (; 67 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atan (; 66 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -2479,14 +2476,14 @@ local.get $4 f32.copysign ) - (func $std/math/test_atanf (; 68 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_atanf (; 67 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.atan local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.atanh (; 69 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atanh (; 68 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -2540,7 +2537,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_atanh (; 70 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_atanh (; 69 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.atanh local.get $1 @@ -2556,7 +2553,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atanh (; 71 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atanh (; 70 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) local.get $0 @@ -2604,14 +2601,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_atanhf (; 72 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_atanhf (; 71 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.atanh local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.atan2 (; 73 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.atan2 (; 72 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2821,7 +2818,7 @@ i32.and select ) - (func $std/math/test_atan2 (; 74 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) + (func $std/math/test_atan2 (; 73 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.atan2 @@ -2839,7 +2836,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan2 (; 75 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.atan2 (; 74 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3032,7 +3029,7 @@ i32.and select ) - (func $std/math/test_atan2f (; 76 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) + (func $std/math/test_atan2f (; 75 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.atan2 @@ -3040,7 +3037,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.cbrt (; 77 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cbrt (; 76 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -3162,7 +3159,7 @@ f64.mul f64.add ) - (func $std/math/test_cbrt (; 78 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_cbrt (; 77 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.cbrt local.get $1 @@ -3178,7 +3175,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cbrt (; 79 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cbrt (; 78 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 f64) (local $3 i32) @@ -3277,14 +3274,14 @@ f64.div f32.demote_f64 ) - (func $std/math/test_cbrtf (; 80 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_cbrtf (; 79 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.cbrt local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_ceil (; 81 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_ceil (; 80 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.ceil local.get $1 @@ -3300,14 +3297,14 @@ i32.const 0 end ) - (func $std/math/test_ceilf (; 82 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_ceilf (; 81 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.ceil local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/pio2_large_quot (; 83 ;) (param $0 i64) (result i32) + (func $~lib/math/pio2_large_quot (; 82 ;) (param $0 i64) (result i32) (local $1 i64) (local $2 i64) (local $3 i64) @@ -3593,7 +3590,7 @@ i64.sub i32.wrap_i64 ) - (func $~lib/math/NativeMath.cos (; 84 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cos (; 83 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 f64) @@ -3931,7 +3928,7 @@ end local.get $0 ) - (func $std/math/test_cos (; 85 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_cos (; 84 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.cos local.get $1 @@ -3947,7 +3944,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cos (; 86 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cos (; 85 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -4216,14 +4213,14 @@ end local.get $0 ) - (func $std/math/test_cosf (; 87 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_cosf (; 86 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.cos local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.expm1 (; 88 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.expm1 (; 87 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -4494,7 +4491,7 @@ local.get $4 f64.mul ) - (func $~lib/math/NativeMath.exp (; 89 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp (; 88 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -4646,7 +4643,7 @@ end local.get $0 ) - (func $~lib/math/NativeMath.cosh (; 90 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cosh (; 89 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i64) local.get $0 @@ -4710,7 +4707,7 @@ f64.const 2247116418577894884661631e283 f64.mul ) - (func $std/math/test_cosh (; 91 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_cosh (; 90 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.cosh local.get $1 @@ -4726,7 +4723,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.expm1 (; 92 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.expm1 (; 91 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -4976,7 +4973,7 @@ local.get $4 f32.mul ) - (func $~lib/math/NativeMathf.exp (; 93 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp (; 92 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -5110,7 +5107,7 @@ end local.get $0 ) - (func $~lib/math/NativeMathf.cosh (; 94 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cosh (; 93 ;) (param $0 f32) (result f32) (local $1 i32) local.get $0 i32.reinterpret_f32 @@ -5169,14 +5166,14 @@ f32.const 1661534994731144841129758e11 f32.mul ) - (func $std/math/test_coshf (; 95 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_coshf (; 94 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.cosh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_exp (; 96 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_exp (; 95 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.exp local.get $1 @@ -5192,14 +5189,14 @@ i32.const 0 end ) - (func $std/math/test_expf (; 97 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_expf (; 96 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_expm1 (; 98 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_expm1 (; 97 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.expm1 local.get $1 @@ -5215,14 +5212,14 @@ i32.const 0 end ) - (func $std/math/test_expm1f (; 99 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_expm1f (; 98 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.expm1 local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.exp2 (; 100 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp2 (; 99 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 i32) @@ -5428,7 +5425,7 @@ f64.add end ) - (func $std/math/test_exp2 (; 101 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_exp2 (; 100 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.exp2 local.get $1 @@ -5445,7 +5442,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.exp2 (; 102 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp2 (; 101 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i64) (local $3 i32) @@ -5540,14 +5537,14 @@ f32.demote_f64 end ) - (func $std/math/test_exp2f (; 103 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_exp2f (; 102 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp2 local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_floor (; 104 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_floor (; 103 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.floor local.get $1 @@ -5563,14 +5560,14 @@ i32.const 0 end ) - (func $std/math/test_floorf (; 105 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_floorf (; 104 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.floor local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.hypot (; 106 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.hypot (; 105 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 i64) (local $4 i64) @@ -5739,7 +5736,7 @@ f64.sqrt f64.mul ) - (func $std/math/test_hypot (; 107 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) + (func $std/math/test_hypot (; 106 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.hypot @@ -5747,7 +5744,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMathf.hypot (; 108 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.hypot (; 107 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -5852,7 +5849,7 @@ f32.sqrt f32.mul ) - (func $std/math/test_hypotf (; 109 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) + (func $std/math/test_hypotf (; 108 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.hypot @@ -5860,7 +5857,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_log (; 110 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log (; 109 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log local.get $1 @@ -5876,14 +5873,14 @@ i32.const 0 end ) - (func $std/math/test_logf (; 111 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_logf (; 110 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.log10 (; 112 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log10 (; 111 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -6085,7 +6082,7 @@ local.get $1 f64.add ) - (func $std/math/test_log10 (; 113 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log10 (; 112 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log10 local.get $1 @@ -6101,7 +6098,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log10 (; 114 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log10 (; 113 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -6259,14 +6256,14 @@ f32.mul f32.add ) - (func $std/math/test_log10f (; 115 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_log10f (; 114 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log10 local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_log1p (; 116 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log1p (; 115 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log1p local.get $1 @@ -6282,14 +6279,14 @@ i32.const 0 end ) - (func $std/math/test_log1pf (; 117 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_log1pf (; 116 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log1p local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.log2 (; 118 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log2 (; 117 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -6484,7 +6481,7 @@ local.get $1 f64.add ) - (func $std/math/test_log2 (; 119 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_log2 (; 118 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.log2 local.get $1 @@ -6500,7 +6497,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log2 (; 120 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log2 (; 119 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -6650,14 +6647,14 @@ f32.convert_i32_s f32.add ) - (func $std/math/test_log2f (; 121 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_log2f (; 120 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.log2 local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_max (; 122 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_max (; 121 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 f64.max @@ -6675,7 +6672,7 @@ i32.const 0 end ) - (func $std/math/test_maxf (; 123 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_maxf (; 122 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 f32.max @@ -6683,7 +6680,7 @@ f32.const 0 call $std/math/check ) - (func $std/math/test_min (; 124 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_min (; 123 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 f64.min @@ -6701,7 +6698,7 @@ i32.const 0 end ) - (func $std/math/test_minf (; 125 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_minf (; 124 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 f32.min @@ -6709,7 +6706,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.mod (; 126 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 125 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -6912,7 +6909,7 @@ local.get $0 f64.mul ) - (func $std/math/test_mod (; 127 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_mod (; 126 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.mod @@ -6930,7 +6927,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.mod (; 128 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 127 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7122,7 +7119,7 @@ local.get $0 f32.mul ) - (func $std/math/test_modf (; 129 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_modf (; 128 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.mod @@ -7130,7 +7127,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.pow (; 130 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.pow (; 129 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -8086,7 +8083,7 @@ f64.const 1e-300 f64.mul ) - (func $std/math/test_pow (; 131 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) + (func $std/math/test_pow (; 130 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.pow @@ -8104,7 +8101,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.pow (; 132 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.pow (; 131 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -8562,7 +8559,7 @@ end local.get $0 ) - (func $std/math/test_powf (; 133 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) + (func $std/math/test_powf (; 132 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.pow @@ -8570,7 +8567,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/murmurHash3 (; 134 ;) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 133 ;) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -8591,7 +8588,7 @@ i64.shr_u i64.xor ) - (func $~lib/math/splitMix32 (; 135 ;) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 134 ;) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -8623,7 +8620,7 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 136 ;) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 135 ;) (param $0 i64) i32.const 1 global.set $~lib/math/random_seeded local.get $0 @@ -8667,7 +8664,7 @@ unreachable end ) - (func $~lib/math/NativeMath.random (; 137 ;) (result f64) + (func $~lib/math/NativeMath.random (; 136 ;) (result f64) (local $0 i64) (local $1 i64) global.get $~lib/math/random_seeded @@ -8711,7 +8708,7 @@ f64.const 1 f64.sub ) - (func $~lib/math/NativeMathf.random (; 138 ;) (result f32) + (func $~lib/math/NativeMathf.random (; 137 ;) (result f32) (local $0 i32) (local $1 i32) global.get $~lib/math/random_seeded @@ -8757,7 +8754,7 @@ f32.const 1 f32.sub ) - (func $std/math/test_round (; 139 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_round (; 138 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.const 0.5 f64.add @@ -8768,7 +8765,7 @@ f64.const 0 call $std/math/check ) - (func $std/math/test_roundf (; 140 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_roundf (; 139 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.const 0.5 f32.add @@ -8779,7 +8776,7 @@ f32.const 0 call $std/math/check ) - (func $std/math/test_sign (; 141 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_sign (; 140 ;) (param $0 f64) (param $1 f64) (result i32) f64.const 1 local.get $0 f64.copysign @@ -8802,7 +8799,7 @@ i32.const 0 end ) - (func $std/math/test_signf (; 142 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_signf (; 141 ;) (param $0 f32) (param $1 f32) (result i32) f32.const 1 local.get $0 f32.copysign @@ -8816,7 +8813,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.rem (; 143 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.rem (; 142 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -9065,7 +9062,7 @@ end local.get $0 ) - (func $std/math/test_rem (; 144 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_rem (; 143 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.rem @@ -9073,7 +9070,7 @@ f64.const 0 call $std/math/check ) - (func $~lib/math/NativeMathf.rem (; 145 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.rem (; 144 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9314,7 +9311,7 @@ end local.get $0 ) - (func $std/math/test_remf (; 146 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_remf (; 145 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.rem @@ -9322,7 +9319,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.sin (; 147 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sin (; 146 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 f64) @@ -9642,7 +9639,7 @@ end local.get $0 ) - (func $std/math/test_sin (; 148 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sin (; 147 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.sin local.get $1 @@ -9658,7 +9655,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sin (; 149 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sin (; 148 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -9928,14 +9925,14 @@ end local.get $0 ) - (func $std/math/test_sinf (; 150 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sinf (; 149 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.sin local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.sinh (; 151 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sinh (; 150 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 i32) @@ -10012,7 +10009,7 @@ f64.mul f64.mul ) - (func $std/math/test_sinh (; 152 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sinh (; 151 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.sinh local.get $1 @@ -10028,7 +10025,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sinh (; 153 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sinh (; 152 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 f32) @@ -10100,14 +10097,14 @@ f32.mul f32.mul ) - (func $std/math/test_sinhf (; 154 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sinhf (; 153 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.sinh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_sqrt (; 155 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_sqrt (; 154 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 f64.sqrt local.get $1 @@ -10123,14 +10120,14 @@ i32.const 0 end ) - (func $std/math/test_sqrtf (; 156 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_sqrtf (; 155 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 f32.sqrt local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/tan_kern (; 157 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) + (func $~lib/math/tan_kern (; 156 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) (local $3 f64) (local $4 f64) (local $5 f64) @@ -10312,7 +10309,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.tan (; 158 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tan (; 157 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 f64) @@ -10489,7 +10486,7 @@ i32.sub call $~lib/math/tan_kern ) - (func $std/math/test_tan (; 159 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_tan (; 158 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.tan local.get $1 @@ -10505,7 +10502,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tan (; 160 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tan (; 159 ;) (param $0 f32) (result f32) (local $1 f64) (local $2 i32) (local $3 f64) @@ -10759,14 +10756,14 @@ local.get $1 f32.demote_f64 ) - (func $std/math/test_tanf (; 161 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_tanf (; 160 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.tan local.get $1 local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.tanh (; 162 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tanh (; 161 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -10845,7 +10842,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_tanh (; 163 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) + (func $std/math/test_tanh (; 162 ;) (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 call $~lib/math/NativeMath.tanh local.get $1 @@ -10861,7 +10858,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tanh (; 164 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tanh (; 163 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) local.get $0 @@ -10935,14 +10932,14 @@ local.get $0 f32.copysign ) - (func $std/math/test_tanhf (; 165 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (func $std/math/test_tanhf (; 164 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 call $~lib/math/NativeMathf.tanh local.get $1 local.get $2 call $std/math/check ) - (func $std/math/test_trunc (; 166 ;) (param $0 f64) (param $1 f64) (result i32) + (func $std/math/test_trunc (; 165 ;) (param $0 f64) (param $1 f64) (result i32) local.get $0 f64.trunc local.get $1 @@ -10958,14 +10955,14 @@ i32.const 0 end ) - (func $std/math/test_truncf (; 167 ;) (param $0 f32) (param $1 f32) (result i32) + (func $std/math/test_truncf (; 166 ;) (param $0 f32) (param $1 f32) (result i32) local.get $0 f32.trunc local.get $1 f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.sincos (; 168 ;) (param $0 f64) + (func $~lib/math/NativeMath.sincos (; 167 ;) (param $0 f64) (local $1 f64) (local $2 f64) (local $3 f64) @@ -11360,7 +11357,7 @@ local.get $1 global.set $~lib/math/NativeMath.sincos_cos ) - (func $std/math/test_sincos (; 169 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) + (func $std/math/test_sincos (; 168 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 f64) (local $6 f64) local.get $3 @@ -11386,7 +11383,7 @@ drop end ) - (func $~lib/math/dtoi32 (; 170 ;) (param $0 f64) (result i32) + (func $~lib/math/dtoi32 (; 169 ;) (param $0 f64) (result i32) local.get $0 f64.const 4294967296 local.get $0 @@ -11398,7 +11395,7 @@ i64.trunc_f64_s i32.wrap_i64 ) - (func $~lib/math/NativeMath.imul (; 171 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (; 170 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) local.get $0 local.get $1 @@ -11419,7 +11416,7 @@ i32.mul f64.convert_i32_s ) - (func $~lib/math/NativeMath.clz32 (; 172 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.clz32 (; 171 ;) (param $0 f64) (result f64) local.get $0 local.get $0 f64.sub @@ -11434,7 +11431,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 173 ;) (param $0 i64) (param $1 i64) (result i64) + (func $~lib/math/ipow64 (; 172 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) i64.const 1 local.set $2 @@ -11467,7 +11464,7 @@ end local.get $2 ) - (func $~lib/math/ipow32 (; 174 ;) (result i32) + (func $~lib/math/ipow32 (; 173 ;) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11502,7 +11499,7 @@ end local.get $2 ) - (func $start:std/math (; 175 ;) + (func $start:std/math (; 174 ;) (local $0 f64) (local $1 i32) (local $2 f32) @@ -46921,34 +46918,44 @@ call $~lib/builtins/abort unreachable end - i32.const 3056 - i32.const 2 i64.const 57055 i64.const 3 call $~lib/math/ipow64 i64.const 339590 + i64.const 3 + call $~lib/math/ipow64 i64.add + i64.const 340126 i64.const 3 call $~lib/math/ipow64 - i32.wrap_i64 - f64.convert_i32_u + i64.eq + if + i32.const 0 + i32.const 32 + i32.const 3945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 57055 i64.const 3 call $~lib/math/ipow64 i64.const 339590 - i64.add i64.const 3 call $~lib/math/ipow64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - f64.convert_i32_u - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace + i64.add + i64.const 39347712995520375 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end ) - (func $~start (; 176 ;) + (func $~start (; 175 ;) call $start:std/math ) ) diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 89f86df34f..7a4f12a5d9 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3925,7 +3925,7 @@ assert(ipow64(3, 63) == -3237885987332494933); // should overflow assert(ipow64(3, 64) == 8733086111712066817); // should overflow assert(ipow64(3, 128) == -9204772141784466943); // should overflow -assert(ipow64(57055, 3) + ipow64(339590, 3) == 39347712995520375); // add Buterin's twit example +assert(ipow64(57055, 3) + ipow64(339590, 3) == 39347712995520375); // integer pow operators @@ -3941,6 +3941,6 @@ assert(( 2) ** 3 == 8 as u64); assert((0xFFFFFFFF) ** 3 == 12884901887 as u64); assert((0xFFFF) ** 3 == 281462092005375 as u64); assert((0xFFFF) ** 8 == 18430981595272314881 as u64); -// should be 1473408887, 9161353 -trace('', 2, (57055 as u64 ** 3 + 339590 as u64 ** 3), ((57055 as u64 ** 3 + 339590 as u64 ** 3) >>> 32)); -// assert(57055 as u64 ** 3 + 339590 as u64 ** 3 == 340126 as u64 ** 3); // Fermat's Last Theorem \ No newline at end of file +// Fermat's Last Theorem +assert((57055) ** 3 + (339590) ** 3 != (340126) ** 3); // On JS it return false +assert((57055) ** 3 + (339590) ** 3 == 39347712995520375); \ No newline at end of file diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 3a9566df05..b84df021ed 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -11,7 +11,6 @@ (type $f64_=>_i32 (func (param f64) (result i32))) (type $none_=>_f64 (func (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) (type $i64_=>_none (func (param i64))) (type $f64_=>_none (func (param f64))) (type $i32_=>_i32 (func (param i32) (result i32))) @@ -68,7 +67,6 @@ (import "Math" "tan" (func $~lib/bindings/Math/tan (param f64) (result f64))) (import "Math" "tanh" (func $~lib/bindings/Math/tanh (param f64) (result f64))) (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) - (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (memory $0 1) (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00") (data (i32.const 64) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") @@ -84,7 +82,6 @@ (data (i32.const 9408) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8 (; 36 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/check (; 35 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.get $1 @@ -360,7 +357,7 @@ end i32.const 1 ) - (func $std/math/eulpf (; 37 ;) (param $0 f32) (result i32) + (func $std/math/eulpf (; 36 ;) (param $0 f32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -386,7 +383,7 @@ i32.const 23 i32.sub ) - (func $~lib/math/NativeMathf.scalbn (; 38 ;) (param $0 f32) (param $1 i32) (result f32) + (func $~lib/math/NativeMathf.scalbn (; 37 ;) (param $0 f32) (param $1 i32) (result f32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -476,7 +473,7 @@ f32.reinterpret_i32 f32.mul ) - (func $std/math/ulperrf (; 39 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) + (func $std/math/ulperrf (; 38 ;) (param $0 f32) (param $1 f32) (param $2 f32) (result f32) (local $3 f32) local.get $0 local.get $0 @@ -555,7 +552,7 @@ local.get $2 f32.add ) - (func $std/math/check (; 40 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/check (; 39 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.get $1 @@ -588,7 +585,7 @@ end i32.const 1 ) - (func $std/math/test_scalbn (; 41 ;) (param $0 f64) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_scalbn (; 40 ;) (param $0 f64) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.scalbn @@ -597,7 +594,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_scalbnf (; 42 ;) (param $0 f32) (param $1 i32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_scalbnf (; 41 ;) (param $0 f32) (param $1 i32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.scalbn @@ -606,7 +603,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_abs (; 43 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_abs (; 42 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -633,7 +630,7 @@ i32.const 0 end ) - (func $std/math/test_absf (; 44 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_absf (; 43 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -644,7 +641,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/R (; 45 ;) (param $0 f64) (result f64) + (func $~lib/math/R (; 44 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 f64) local.get $0 @@ -693,7 +690,7 @@ local.get $2 f64.div ) - (func $~lib/math/NativeMath.acos (; 46 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acos (; 45 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -845,7 +842,7 @@ f64.add f64.mul ) - (func $std/math/test_acos (; 47 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_acos (; 46 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.acos local.get $1 @@ -869,7 +866,7 @@ i32.const 0 end ) - (func $~lib/math/Rf (; 48 ;) (param $0 f32) (result f32) + (func $~lib/math/Rf (; 47 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 f32) local.get $0 @@ -894,7 +891,7 @@ local.get $2 f32.div ) - (func $~lib/math/NativeMathf.acos (; 49 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acos (; 48 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -1034,7 +1031,7 @@ f32.add f32.mul ) - (func $std/math/test_acosf (; 50 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_acosf (; 49 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.acos local.get $1 @@ -1042,7 +1039,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log1p (; 51 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log1p (; 50 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -1284,7 +1281,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.log (; 52 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log (; 51 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -1602,7 +1599,7 @@ end return ) - (func $~lib/math/NativeMath.acosh (; 53 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.acosh (; 52 ;) (param $0 f64) (result f64) (local $1 i64) local.get $0 i64.reinterpret_f64 @@ -1662,7 +1659,7 @@ f64.const 0.6931471805599453 f64.add ) - (func $std/math/test_acosh (; 54 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_acosh (; 53 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.acosh local.get $1 @@ -1686,7 +1683,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log1p (; 55 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log1p (; 54 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -1895,7 +1892,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.log (; 56 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log (; 55 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -2060,7 +2057,7 @@ end return ) - (func $~lib/math/NativeMathf.acosh (; 57 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.acosh (; 56 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -2116,7 +2113,7 @@ f32.const 0.6931471824645996 f32.add ) - (func $std/math/test_acoshf (; 58 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_acoshf (; 57 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.acosh local.get $1 @@ -2124,7 +2121,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.asin (; 59 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asin (; 58 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2283,7 +2280,7 @@ end local.get $0 ) - (func $std/math/test_asin (; 60 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_asin (; 59 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.asin local.get $1 @@ -2307,7 +2304,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asin (; 61 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asin (; 60 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 f32) @@ -2399,7 +2396,7 @@ local.get $1 f32.copysign ) - (func $std/math/test_asinf (; 62 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_asinf (; 61 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.asin local.get $1 @@ -2407,7 +2404,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.asinh (; 63 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.asinh (; 62 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 f64) @@ -2483,7 +2480,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_asinh (; 64 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_asinh (; 63 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.asinh local.get $1 @@ -2507,7 +2504,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asinh (; 65 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.asinh (; 64 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) local.get $0 @@ -2576,7 +2573,7 @@ local.get $0 f32.copysign ) - (func $std/math/test_asinhf (; 66 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_asinhf (; 65 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.asinh local.get $1 @@ -2584,7 +2581,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atan (; 67 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atan (; 66 ;) (param $0 f64) (result f64) (local $1 i32) (local $2 f64) (local $3 f64) @@ -2842,7 +2839,7 @@ local.get $2 f64.copysign ) - (func $std/math/test_atan (; 68 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_atan (; 67 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.atan local.get $1 @@ -2866,7 +2863,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan (; 69 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atan (; 68 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -3096,7 +3093,7 @@ local.get $2 f32.copysign ) - (func $std/math/test_atanf (; 70 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_atanf (; 69 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.atan local.get $1 @@ -3104,7 +3101,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atanh (; 71 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.atanh (; 70 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 f64) @@ -3163,7 +3160,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_atanh (; 72 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_atanh (; 71 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.atanh local.get $1 @@ -3187,7 +3184,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atanh (; 73 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.atanh (; 72 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) local.get $0 @@ -3237,7 +3234,7 @@ local.get $0 f32.copysign ) - (func $std/math/test_atanhf (; 74 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_atanhf (; 73 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.atanh local.get $1 @@ -3245,7 +3242,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atan2 (; 75 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.atan2 (; 74 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -3545,7 +3542,7 @@ end unreachable ) - (func $std/math/test_atan2 (; 76 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_atan2 (; 75 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.atan2 @@ -3571,7 +3568,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan2 (; 77 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.atan2 (; 76 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3843,7 +3840,7 @@ end unreachable ) - (func $std/math/test_atan2f (; 78 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_atan2f (; 77 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.atan2 @@ -3852,7 +3849,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.cbrt (; 79 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cbrt (; 78 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 f64) @@ -3996,7 +3993,7 @@ local.set $3 local.get $3 ) - (func $std/math/test_cbrt (; 80 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_cbrt (; 79 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.cbrt local.get $1 @@ -4020,7 +4017,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cbrt (; 81 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cbrt (; 80 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -4136,7 +4133,7 @@ local.get $3 f32.demote_f64 ) - (func $std/math/test_cbrtf (; 82 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_cbrtf (; 81 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.cbrt local.get $1 @@ -4144,7 +4141,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_ceil (; 83 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_ceil (; 82 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -4171,7 +4168,7 @@ i32.const 0 end ) - (func $std/math/test_ceilf (; 84 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_ceilf (; 83 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -4182,7 +4179,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/pio2_large_quot (; 85 ;) (param $0 f64) (param $1 i64) (result i32) + (func $~lib/math/pio2_large_quot (; 84 ;) (param $0 f64) (param $1 i64) (result i32) (local $2 i64) (local $3 i64) (local $4 i64) @@ -4580,7 +4577,7 @@ local.get $30 i32.wrap_i64 ) - (func $~lib/math/NativeMath.cos (; 86 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cos (; 85 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -5098,7 +5095,7 @@ local.get $0 end ) - (func $std/math/test_cos (; 87 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_cos (; 86 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.cos local.get $1 @@ -5122,7 +5119,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cos (; 88 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cos (; 87 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -5736,7 +5733,7 @@ local.get $26 end ) - (func $std/math/test_cosf (; 89 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_cosf (; 88 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.cos local.get $1 @@ -5744,7 +5741,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.expm1 (; 90 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.expm1 (; 89 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -6057,7 +6054,7 @@ local.get $14 f64.mul ) - (func $~lib/math/NativeMath.exp (; 91 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp (; 90 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 i32) @@ -6335,7 +6332,7 @@ end return ) - (func $~lib/math/NativeMath.cosh (; 92 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.cosh (; 91 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 f64) @@ -6424,7 +6421,7 @@ local.set $3 local.get $3 ) - (func $std/math/test_cosh (; 93 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_cosh (; 92 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.cosh local.get $1 @@ -6448,7 +6445,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.expm1 (; 94 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.expm1 (; 93 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6741,7 +6738,7 @@ local.get $13 f32.mul ) - (func $~lib/math/NativeMathf.exp (; 95 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp (; 94 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 f64) (local $3 i32) @@ -6872,7 +6869,7 @@ end return ) - (func $~lib/math/NativeMathf.cosh (; 96 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.cosh (; 95 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -6949,7 +6946,7 @@ local.get $3 f32.mul ) - (func $std/math/test_coshf (; 97 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_coshf (; 96 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.cosh local.get $1 @@ -6957,7 +6954,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_exp (; 98 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_exp (; 97 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.exp local.get $1 @@ -6981,7 +6978,7 @@ i32.const 0 end ) - (func $std/math/test_expf (; 99 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_expf (; 98 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp local.get $1 @@ -6989,7 +6986,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_expm1 (; 100 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_expm1 (; 99 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.expm1 local.get $1 @@ -7013,7 +7010,7 @@ i32.const 0 end ) - (func $std/math/test_expm1f (; 101 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_expm1f (; 100 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.expm1 local.get $1 @@ -7021,7 +7018,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.exp2 (; 102 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.exp2 (; 101 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 i32) @@ -7288,7 +7285,7 @@ f64.add end ) - (func $std/math/test_exp2 (; 103 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_exp2 (; 102 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.exp2 local.get $1 @@ -7313,7 +7310,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.exp2 (; 104 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.exp2 (; 103 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 f64) (local $3 i32) @@ -7436,7 +7433,7 @@ f32.demote_f64 end ) - (func $std/math/test_exp2f (; 105 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_exp2f (; 104 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.exp2 local.get $1 @@ -7444,7 +7441,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_floor (; 106 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_floor (; 105 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -7471,7 +7468,7 @@ i32.const 0 end ) - (func $std/math/test_floorf (; 107 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_floorf (; 106 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -7482,7 +7479,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.hypot (; 108 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.hypot (; 107 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -7677,7 +7674,7 @@ f64.sqrt f64.mul ) - (func $std/math/test_hypot (; 109 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_hypot (; 108 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.hypot @@ -7686,7 +7683,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMathf.hypot (; 110 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.hypot (; 109 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7803,7 +7800,7 @@ f32.sqrt f32.mul ) - (func $std/math/test_hypotf (; 111 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_hypotf (; 110 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.hypot @@ -7812,7 +7809,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_log (; 112 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log (; 111 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log local.get $1 @@ -7836,7 +7833,7 @@ i32.const 0 end ) - (func $std/math/test_logf (; 113 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_logf (; 112 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log local.get $1 @@ -7844,7 +7841,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log10 (; 114 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log10 (; 113 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -8104,7 +8101,7 @@ local.get $8 f64.add ) - (func $std/math/test_log10 (; 115 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log10 (; 114 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log10 local.get $1 @@ -8128,7 +8125,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log10 (; 116 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log10 (; 115 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -8328,7 +8325,7 @@ f32.mul f32.add ) - (func $std/math/test_log10f (; 117 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_log10f (; 116 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log10 local.get $1 @@ -8336,7 +8333,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_log1p (; 118 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log1p (; 117 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log1p local.get $1 @@ -8360,7 +8357,7 @@ i32.const 0 end ) - (func $std/math/test_log1pf (; 119 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_log1pf (; 118 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log1p local.get $1 @@ -8368,7 +8365,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log2 (; 120 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.log2 (; 119 ;) (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -8711,7 +8708,7 @@ end return ) - (func $std/math/test_log2 (; 121 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_log2 (; 120 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.log2 local.get $1 @@ -8735,7 +8732,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log2 (; 122 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.log2 (; 121 ;) (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -8904,7 +8901,7 @@ end return ) - (func $std/math/test_log2f (; 123 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_log2f (; 122 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.log2 local.get $1 @@ -8912,7 +8909,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_max (; 124 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_max (; 123 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) (local $5 f64) (local $6 f64) local.get $0 @@ -8944,7 +8941,7 @@ i32.const 0 end ) - (func $std/math/test_maxf (; 125 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_maxf (; 124 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) (local $5 f32) (local $6 f32) local.get $0 @@ -8959,7 +8956,7 @@ local.get $4 call $std/math/check ) - (func $std/math/test_min (; 126 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_min (; 125 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) (local $5 f64) (local $6 f64) local.get $0 @@ -8991,7 +8988,7 @@ i32.const 0 end ) - (func $std/math/test_minf (; 127 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_minf (; 126 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) (local $5 f32) (local $6 f32) local.get $0 @@ -9006,7 +9003,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.mod (; 128 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 127 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -9260,7 +9257,7 @@ local.get $2 f64.reinterpret_i64 ) - (func $std/math/test_mod (; 129 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_mod (; 128 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.mod @@ -9286,7 +9283,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.mod (; 130 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 129 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9534,7 +9531,7 @@ local.get $2 f32.reinterpret_i32 ) - (func $std/math/test_modf (; 131 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_modf (; 130 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.mod @@ -9543,7 +9540,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.pow (; 132 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.pow (; 131 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -10503,7 +10500,7 @@ end return ) - (func $std/math/test_pow (; 133 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_pow (; 132 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.pow @@ -10529,7 +10526,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.pow (; 134 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.pow (; 133 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 f32) (local $3 f32) (local $4 i32) @@ -11114,7 +11111,7 @@ f32.demote_f64 end ) - (func $std/math/test_powf (; 135 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_powf (; 134 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.pow @@ -11123,7 +11120,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/murmurHash3 (; 136 ;) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 135 ;) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -11152,7 +11149,7 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (; 137 ;) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 136 ;) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -11187,7 +11184,7 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 138 ;) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 137 ;) (param $0 i64) i32.const 1 global.set $~lib/math/random_seeded local.get $0 @@ -11239,7 +11236,7 @@ unreachable end ) - (func $~lib/math/NativeMath.random (; 139 ;) (result f64) + (func $~lib/math/NativeMath.random (; 138 ;) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) @@ -11294,7 +11291,7 @@ f64.const 1 f64.sub ) - (func $~lib/math/NativeMathf.random (; 140 ;) (result f32) + (func $~lib/math/NativeMathf.random (; 139 ;) (result f32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11349,7 +11346,7 @@ f32.const 1 f32.sub ) - (func $std/math/test_round (; 141 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_round (; 140 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -11364,7 +11361,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_roundf (; 142 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_roundf (; 141 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -11379,7 +11376,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_sign (; 143 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sign (; 142 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) block $~lib/math/NativeMath.sign|inlined.0 (result f64) local.get $0 @@ -11422,7 +11419,7 @@ i32.const 0 end ) - (func $std/math/test_signf (; 144 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_signf (; 143 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) block $~lib/math/NativeMathf.sign|inlined.0 (result f32) local.get $0 @@ -11449,7 +11446,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.rem (; 145 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.rem (; 144 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -11767,7 +11764,7 @@ local.get $0 end ) - (func $std/math/test_rem (; 146 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) + (func $std/math/test_rem (; 145 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMath.rem @@ -11776,7 +11773,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMathf.rem (; 147 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.rem (; 146 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12087,7 +12084,7 @@ local.get $0 end ) - (func $std/math/test_remf (; 148 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) + (func $std/math/test_remf (; 147 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (param $4 i32) (result i32) local.get $0 local.get $1 call $~lib/math/NativeMathf.rem @@ -12096,7 +12093,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.sin (; 149 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sin (; 148 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -12625,7 +12622,7 @@ local.get $0 end ) - (func $std/math/test_sin (; 150 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sin (; 149 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.sin local.get $1 @@ -12649,7 +12646,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sin (; 151 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sin (; 150 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -13255,7 +13252,7 @@ local.get $26 end ) - (func $std/math/test_sinf (; 152 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sinf (; 151 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.sin local.get $1 @@ -13263,7 +13260,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.sinh (; 153 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.sinh (; 152 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -13361,7 +13358,7 @@ local.set $4 local.get $4 ) - (func $std/math/test_sinh (; 154 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sinh (; 153 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.sinh local.get $1 @@ -13385,7 +13382,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sinh (; 155 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.sinh (; 154 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -13474,7 +13471,7 @@ local.set $3 local.get $3 ) - (func $std/math/test_sinhf (; 156 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sinhf (; 155 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.sinh local.get $1 @@ -13482,7 +13479,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_sqrt (; 157 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_sqrt (; 156 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -13509,7 +13506,7 @@ i32.const 0 end ) - (func $std/math/test_sqrtf (; 158 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_sqrtf (; 157 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -13520,7 +13517,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/tan_kern (; 159 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) + (func $~lib/math/tan_kern (; 158 ;) (param $0 f64) (param $1 f64) (param $2 i32) (result f64) (local $3 f64) (local $4 f64) (local $5 f64) @@ -13733,7 +13730,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.tan (; 160 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tan (; 159 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -14045,7 +14042,7 @@ i32.sub call $~lib/math/tan_kern ) - (func $std/math/test_tan (; 161 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_tan (; 160 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.tan local.get $1 @@ -14069,7 +14066,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tan (; 162 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tan (; 161 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14716,7 +14713,7 @@ end f32.demote_f64 ) - (func $std/math/test_tanf (; 163 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_tanf (; 162 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.tan local.get $1 @@ -14724,7 +14721,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.tanh (; 164 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.tanh (; 163 ;) (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -14816,7 +14813,7 @@ local.get $0 f64.copysign ) - (func $std/math/test_tanh (; 165 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_tanh (; 164 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMath.tanh local.get $1 @@ -14840,7 +14837,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tanh (; 166 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.tanh (; 165 ;) (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -14926,7 +14923,7 @@ local.get $0 f32.copysign ) - (func $std/math/test_tanhf (; 167 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_tanhf (; 166 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) local.get $0 call $~lib/math/NativeMathf.tanh local.get $1 @@ -14934,7 +14931,7 @@ local.get $3 call $std/math/check ) - (func $std/math/test_trunc (; 168 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (func $std/math/test_trunc (; 167 ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) local.get $0 local.set $4 @@ -14961,7 +14958,7 @@ i32.const 0 end ) - (func $std/math/test_truncf (; 169 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) + (func $std/math/test_truncf (; 168 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) local.get $0 local.set $4 @@ -14972,7 +14969,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.sincos (; 170 ;) (param $0 f64) + (func $~lib/math/NativeMath.sincos (; 169 ;) (param $0 f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -15591,7 +15588,7 @@ local.get $23 global.set $~lib/math/NativeMath.sincos_cos ) - (func $std/math/test_sincos (; 171 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i32) (result i32) + (func $std/math/test_sincos (; 170 ;) (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i32) (result i32) (local $6 f64) (local $7 f64) (local $8 f64) @@ -15629,7 +15626,7 @@ i32.const 0 end ) - (func $~lib/math/dtoi32 (; 172 ;) (param $0 f64) (result i32) + (func $~lib/math/dtoi32 (; 171 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i64) (local $3 i64) @@ -15700,7 +15697,7 @@ local.get $1 return ) - (func $~lib/math/NativeMath.imul (; 173 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (; 172 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) local.get $0 local.get $1 @@ -15722,7 +15719,7 @@ i32.mul f64.convert_i32_s ) - (func $~lib/math/NativeMath.clz32 (; 174 ;) (param $0 f64) (result f64) + (func $~lib/math/NativeMath.clz32 (; 173 ;) (param $0 f64) (result f64) local.get $0 local.get $0 f64.sub @@ -15738,7 +15735,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 175 ;) (param $0 i64) (param $1 i64) (result i64) + (func $~lib/math/ipow64 (; 174 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -15961,7 +15958,7 @@ end local.get $2 ) - (func $~lib/math/ipow32 (; 176 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/math/ipow32 (; 175 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16143,7 +16140,7 @@ end local.get $2 ) - (func $start:std/math (; 177 ;) + (func $start:std/math (; 176 ;) (local $0 f64) (local $1 i32) (local $2 i32) @@ -55718,34 +55715,46 @@ call $~lib/builtins/abort unreachable end - i32.const 13648 - i32.const 2 i64.const 57055 i64.const 3 call $~lib/math/ipow64 i64.const 339590 + i64.const 3 + call $~lib/math/ipow64 i64.add + i64.const 340126 i64.const 3 call $~lib/math/ipow64 - i32.wrap_i64 - f64.convert_i32_u + i64.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 57055 i64.const 3 call $~lib/math/ipow64 i64.const 339590 - i64.add i64.const 3 call $~lib/math/ipow64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - f64.convert_i32_u - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace + i64.add + i64.const 39347712995520375 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end ) - (func $~start (; 178 ;) + (func $~start (; 177 ;) call $start:std/math ) ) From 48b9b08486941f4417fd7bb0afe266f8e3d8c618 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 01:09:34 +0200 Subject: [PATCH 11/64] cleanup --- tests/compiler/std/math.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 7a4f12a5d9..82fc7034f6 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3934,13 +3934,13 @@ assert( 0 ** 1 == 0); assert( 1 ** 3 == 1); assert((-2) ** 3 == -8); -assert(( 0) ** 0 == 1 as u64); -assert(( 0) ** 1 == 0 as u64); -assert(( 1) ** 3 == 1 as u64); -assert(( 2) ** 3 == 8 as u64); -assert((0xFFFFFFFF) ** 3 == 12884901887 as u64); -assert((0xFFFF) ** 3 == 281462092005375 as u64); -assert((0xFFFF) ** 8 == 18430981595272314881 as u64); +assert((0) ** 0 == 1); +assert((0) ** 1 == 0); +assert((1) ** 3 == 1); +assert((2) ** 3 == 8); +assert((0xFFFFFFFF) ** 3 == 12884901887); +assert((0xFFFF) ** 3 == 281462092005375); +assert((0xFFFF) ** 8 == 18430981595272314881); // Fermat's Last Theorem assert((57055) ** 3 + (339590) ** 3 != (340126) ** 3); // On JS it return false assert((57055) ** 3 + (339590) ** 3 == 39347712995520375); \ No newline at end of file From 1a5bbdf654b27a2da0d83f1a33d80bc6447c64ee Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 05:38:55 +0200 Subject: [PATCH 12/64] more tests with casts --- tests/compiler/std/math.optimized.wat | 30 +++++++++++++++++++++++-- tests/compiler/std/math.ts | 2 ++ tests/compiler/std/math.untouched.wat | 32 +++++++++++++++++++++++++-- 3 files changed, 60 insertions(+), 4 deletions(-) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 216be2d040..a0dda753a9 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46918,6 +46918,32 @@ call $~lib/builtins/abort unreachable end + i64.const 65535 + i64.const 8 + call $~lib/math/ipow64 + i64.const -15762478437236735 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 65535 + i64.const 8 + call $~lib/math/ipow64 + i64.const -15762478437236735 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 57055 i64.const 3 call $~lib/math/ipow64 @@ -46932,7 +46958,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -46949,7 +46975,7 @@ if i32.const 0 i32.const 32 - i32.const 3946 + i32.const 3948 i32.const 0 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 82fc7034f6..79ce3c44bc 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3941,6 +3941,8 @@ assert((2) ** 3 == 8); assert((0xFFFFFFFF) ** 3 == 12884901887); assert((0xFFFF) ** 3 == 281462092005375); assert((0xFFFF) ** 8 == 18430981595272314881); +assert(0xFFFF ** 8 as u64 == 18430981595272314881); +assert(0xFFFF as u64 ** 8 == 18430981595272314881); // Fermat's Last Theorem assert((57055) ** 3 + (339590) ** 3 != (340126) ** 3); // On JS it return false assert((57055) ** 3 + (339590) ** 3 == 39347712995520375); \ No newline at end of file diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index b84df021ed..14d251da5d 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55715,6 +55715,34 @@ call $~lib/builtins/abort unreachable end + i64.const 65535 + i64.const 8 + call $~lib/math/ipow64 + i64.const -15762478437236735 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 65535 + i64.const 8 + call $~lib/math/ipow64 + i64.const -15762478437236735 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3945 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 57055 i64.const 3 call $~lib/math/ipow64 @@ -55730,7 +55758,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -55748,7 +55776,7 @@ if i32.const 0 i32.const 32 - i32.const 3946 + i32.const 3948 i32.const 0 call $~lib/builtins/abort unreachable From b6f8c250af0bfb2b8b8af693a4c0afcdacf67268 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 05:43:18 +0200 Subject: [PATCH 13/64] clearer --- tests/compiler/std/math.optimized.wat | 12 ++++++------ tests/compiler/std/math.ts | 4 ++-- tests/compiler/std/math.untouched.wat | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index a0dda753a9..1c7ea45e2e 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46918,10 +46918,10 @@ call $~lib/builtins/abort unreachable end - i64.const 65535 - i64.const 8 + i64.const 61731 + i64.const 4 call $~lib/math/ipow64 - i64.const -15762478437236735 + i64.const -3925184889716469295 i64.ne if i32.const 0 @@ -46931,10 +46931,10 @@ call $~lib/builtins/abort unreachable end - i64.const 65535 - i64.const 8 + i64.const 61731 + i64.const 4 call $~lib/math/ipow64 - i64.const -15762478437236735 + i64.const -3925184889716469295 i64.ne if i32.const 0 diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 79ce3c44bc..f1c1b0f0a8 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3941,8 +3941,8 @@ assert((2) ** 3 == 8); assert((0xFFFFFFFF) ** 3 == 12884901887); assert((0xFFFF) ** 3 == 281462092005375); assert((0xFFFF) ** 8 == 18430981595272314881); -assert(0xFFFF ** 8 as u64 == 18430981595272314881); -assert(0xFFFF as u64 ** 8 == 18430981595272314881); +assert(0xF123 ** 4 as u64 == 14521559183993082321); +assert(0xF123 as u64 ** 4 == 14521559183993082321); // Fermat's Last Theorem assert((57055) ** 3 + (339590) ** 3 != (340126) ** 3); // On JS it return false assert((57055) ** 3 + (339590) ** 3 == 39347712995520375); \ No newline at end of file diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 14d251da5d..6c68b115de 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55715,10 +55715,10 @@ call $~lib/builtins/abort unreachable end - i64.const 65535 - i64.const 8 + i64.const 61731 + i64.const 4 call $~lib/math/ipow64 - i64.const -15762478437236735 + i64.const -3925184889716469295 i64.eq i32.eqz if @@ -55729,10 +55729,10 @@ call $~lib/builtins/abort unreachable end - i64.const 65535 - i64.const 8 + i64.const 61731 + i64.const 4 call $~lib/math/ipow64 - i64.const -15762478437236735 + i64.const -3925184889716469295 i64.eq i32.eqz if From 97909bf7cb3a3ffa58f7c4f854db0de1fe77bfe0 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 07:05:34 +0200 Subject: [PATCH 14/64] better check for fast path in ipow32/64 --- std/assembly/math.ts | 22 +- tests/compiler/binary.untouched.wat | 58 +++--- tests/compiler/std/math.optimized.wat | 72 ++++--- tests/compiler/std/math.ts | 2 + tests/compiler/std/math.untouched.wat | 194 ++++++++++-------- .../std/operator-overloading.untouched.wat | 58 +++--- tests/compiler/std/string.untouched.wat | 58 +++--- 7 files changed, 260 insertions(+), 204 deletions(-) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index 572e445119..984a61f612 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3004,12 +3004,12 @@ export namespace NativeMathf { export function ipow32(x: i32, e: i32): i32 { var out = 1; if (ASC_SHRINK_LEVEL < 1) { - if (e <= 0) return i32(e == 0); - if (e == 1) return x; - if (e == 2) return x * x; + if (e < 32) { + if (e <= 0) return i32(e == 0); + if (e == 1) return x; + if (e == 2) return x * x; - let log = 32 - clz(e); - if (log <= 5) { + let log = 32 - clz(e); // 32 = 2 ^ 5, so need only five cases. // But some extra cases needs for properly overflowing switch (log) { @@ -3052,12 +3052,12 @@ export function ipow32(x: i32, e: i32): i32 { export function ipow64(x: i64, e: i64): i64 { var out: i64 = 1; if (ASC_SHRINK_LEVEL < 1) { - if (e <= 0) return i64(e == 0); - if (e == 1) return x; - if (e == 2) return x * x; + if (e < 64) { + if (e <= 0) return i64(e == 0); + if (e == 1) return x; + if (e == 2) return x * x; - let log = 64 - clz(e); - if (log <= 6) { + let log = 64 - clz(e); // 64 = 2 ^ 6, so need only six cases. // But some extra cases needs for properly overflowing switch (log) { @@ -3099,4 +3099,4 @@ export function ipow64(x: i64, e: i64): i64 { x *= x; } return out; -} \ No newline at end of file +} diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index 171b62e19e..c14e53cc19 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -25,39 +25,39 @@ i32.const 1 local.set $2 local.get $1 - i32.const 0 - i32.le_s + i32.const 32 + i32.lt_s if local.get $1 i32.const 0 + i32.le_s + if + local.get $1 + i32.const 0 + i32.eq + return + end + local.get $1 + i32.const 1 i32.eq - return - end - local.get $1 - i32.const 1 - i32.eq - if - local.get $0 - return - end - local.get $1 - i32.const 2 - i32.eq - if - local.get $0 - local.get $0 - i32.mul - return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - local.get $3 - i32.const 5 - i32.le_s - if + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 block $break|0 block $case4|0 block $case3|0 diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 1c7ea45e2e..e1e8948385 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46669,6 +46669,32 @@ call $~lib/builtins/abort unreachable end + i64.const 2 + i64.const 63 + call $~lib/math/ipow64 + i64.const -9223372036854775808 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3920 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 64 + call $~lib/math/ipow64 + i64.eqz + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 3 i64.const 40 call $~lib/math/ipow64 @@ -46677,7 +46703,7 @@ if i32.const 0 i32.const 32 - i32.const 3920 + i32.const 3922 i32.const 0 call $~lib/builtins/abort unreachable @@ -46690,7 +46716,7 @@ if i32.const 0 i32.const 32 - i32.const 3921 + i32.const 3923 i32.const 0 call $~lib/builtins/abort unreachable @@ -46703,7 +46729,7 @@ if i32.const 0 i32.const 32 - i32.const 3922 + i32.const 3924 i32.const 0 call $~lib/builtins/abort unreachable @@ -46716,7 +46742,7 @@ if i32.const 0 i32.const 32 - i32.const 3923 + i32.const 3925 i32.const 0 call $~lib/builtins/abort unreachable @@ -46729,7 +46755,7 @@ if i32.const 0 i32.const 32 - i32.const 3924 + i32.const 3926 i32.const 0 call $~lib/builtins/abort unreachable @@ -46742,7 +46768,7 @@ if i32.const 0 i32.const 32 - i32.const 3925 + i32.const 3927 i32.const 0 call $~lib/builtins/abort unreachable @@ -46755,7 +46781,7 @@ if i32.const 0 i32.const 32 - i32.const 3926 + i32.const 3928 i32.const 0 call $~lib/builtins/abort unreachable @@ -46772,7 +46798,7 @@ if i32.const 0 i32.const 32 - i32.const 3928 + i32.const 3930 i32.const 0 call $~lib/builtins/abort unreachable @@ -46785,7 +46811,7 @@ if i32.const 0 i32.const 32 - i32.const 3932 + i32.const 3934 i32.const 0 call $~lib/builtins/abort unreachable @@ -46798,7 +46824,7 @@ if i32.const 0 i32.const 32 - i32.const 3933 + i32.const 3935 i32.const 0 call $~lib/builtins/abort unreachable @@ -46811,7 +46837,7 @@ if i32.const 0 i32.const 32 - i32.const 3934 + i32.const 3936 i32.const 0 call $~lib/builtins/abort unreachable @@ -46822,7 +46848,7 @@ if i32.const 0 i32.const 32 - i32.const 3935 + i32.const 3937 i32.const 0 call $~lib/builtins/abort unreachable @@ -46835,7 +46861,7 @@ if i32.const 0 i32.const 32 - i32.const 3937 + i32.const 3939 i32.const 0 call $~lib/builtins/abort unreachable @@ -46848,7 +46874,7 @@ if i32.const 0 i32.const 32 - i32.const 3938 + i32.const 3940 i32.const 0 call $~lib/builtins/abort unreachable @@ -46861,7 +46887,7 @@ if i32.const 0 i32.const 32 - i32.const 3939 + i32.const 3941 i32.const 0 call $~lib/builtins/abort unreachable @@ -46874,7 +46900,7 @@ if i32.const 0 i32.const 32 - i32.const 3940 + i32.const 3942 i32.const 0 call $~lib/builtins/abort unreachable @@ -46887,7 +46913,7 @@ if i32.const 0 i32.const 32 - i32.const 3941 + i32.const 3943 i32.const 0 call $~lib/builtins/abort unreachable @@ -46900,7 +46926,7 @@ if i32.const 0 i32.const 32 - i32.const 3942 + i32.const 3944 i32.const 0 call $~lib/builtins/abort unreachable @@ -46913,7 +46939,7 @@ if i32.const 0 i32.const 32 - i32.const 3943 + i32.const 3945 i32.const 0 call $~lib/builtins/abort unreachable @@ -46926,7 +46952,7 @@ if i32.const 0 i32.const 32 - i32.const 3944 + i32.const 3946 i32.const 0 call $~lib/builtins/abort unreachable @@ -46939,7 +46965,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -46958,7 +46984,7 @@ if i32.const 0 i32.const 32 - i32.const 3947 + i32.const 3949 i32.const 0 call $~lib/builtins/abort unreachable @@ -46975,7 +47001,7 @@ if i32.const 0 i32.const 32 - i32.const 3948 + i32.const 3950 i32.const 0 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index f1c1b0f0a8..7f99f1e7da 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3917,6 +3917,8 @@ assert(ipow64(-2, 1) == -2); assert(ipow64(-2, 2) == 4); assert(ipow64(-2, 3) == -8); +assert(ipow64(2, 63) == 9223372036854775808); +assert(ipow64(2, 64) == 0); // should overflow assert(ipow64(3, 40) == 12157665459056928801); assert(ipow64(3, 41) == -420491770248316829); // should overflow assert(ipow64(3, 42) == -1261475310744950487); // should overflow diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 6c68b115de..474a53d323 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -15742,41 +15742,41 @@ i64.const 1 local.set $2 local.get $1 - i64.const 0 - i64.le_s + i64.const 64 + i64.lt_s if local.get $1 i64.const 0 + i64.le_s + if + local.get $1 + i64.const 0 + i64.eq + i64.extend_i32_u + return + end + local.get $1 + i64.const 1 i64.eq - i64.extend_i32_u - return - end - local.get $1 - i64.const 1 - i64.eq - if - local.get $0 - return - end - local.get $1 - i64.const 2 - i64.eq - if - local.get $0 - local.get $0 - i64.mul - return - end - i32.const 64 - local.get $1 - i64.clz - i32.wrap_i64 - i32.sub - local.set $3 - local.get $3 - i32.const 6 - i32.le_s - if + if + local.get $0 + return + end + local.get $1 + i64.const 2 + i64.eq + if + local.get $0 + local.get $0 + i64.mul + return + end + i32.const 64 + local.get $1 + i64.clz + i32.wrap_i64 + i32.sub + local.set $3 block $break|0 block $case5|0 block $case4|0 @@ -15965,39 +15965,39 @@ i32.const 1 local.set $2 local.get $1 - i32.const 0 - i32.le_s + i32.const 32 + i32.lt_s if local.get $1 i32.const 0 + i32.le_s + if + local.get $1 + i32.const 0 + i32.eq + return + end + local.get $1 + i32.const 1 i32.eq - return - end - local.get $1 - i32.const 1 - i32.eq - if - local.get $0 - return - end - local.get $1 - i32.const 2 - i32.eq - if - local.get $0 - local.get $0 - i32.mul - return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - local.get $3 - i32.const 5 - i32.le_s - if + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 block $break|0 block $case4|0 block $case3|0 @@ -55445,6 +55445,34 @@ call $~lib/builtins/abort unreachable end + i64.const 2 + i64.const 63 + call $~lib/math/ipow64 + i64.const -9223372036854775808 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3920 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const 64 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3921 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 3 i64.const 40 call $~lib/math/ipow64 @@ -55454,7 +55482,7 @@ if i32.const 0 i32.const 32 - i32.const 3920 + i32.const 3922 i32.const 0 call $~lib/builtins/abort unreachable @@ -55468,7 +55496,7 @@ if i32.const 0 i32.const 32 - i32.const 3921 + i32.const 3923 i32.const 0 call $~lib/builtins/abort unreachable @@ -55482,7 +55510,7 @@ if i32.const 0 i32.const 32 - i32.const 3922 + i32.const 3924 i32.const 0 call $~lib/builtins/abort unreachable @@ -55496,7 +55524,7 @@ if i32.const 0 i32.const 32 - i32.const 3923 + i32.const 3925 i32.const 0 call $~lib/builtins/abort unreachable @@ -55510,7 +55538,7 @@ if i32.const 0 i32.const 32 - i32.const 3924 + i32.const 3926 i32.const 0 call $~lib/builtins/abort unreachable @@ -55524,7 +55552,7 @@ if i32.const 0 i32.const 32 - i32.const 3925 + i32.const 3927 i32.const 0 call $~lib/builtins/abort unreachable @@ -55538,7 +55566,7 @@ if i32.const 0 i32.const 32 - i32.const 3926 + i32.const 3928 i32.const 0 call $~lib/builtins/abort unreachable @@ -55556,7 +55584,7 @@ if i32.const 0 i32.const 32 - i32.const 3928 + i32.const 3930 i32.const 0 call $~lib/builtins/abort unreachable @@ -55570,7 +55598,7 @@ if i32.const 0 i32.const 32 - i32.const 3932 + i32.const 3934 i32.const 0 call $~lib/builtins/abort unreachable @@ -55584,7 +55612,7 @@ if i32.const 0 i32.const 32 - i32.const 3933 + i32.const 3935 i32.const 0 call $~lib/builtins/abort unreachable @@ -55598,7 +55626,7 @@ if i32.const 0 i32.const 32 - i32.const 3934 + i32.const 3936 i32.const 0 call $~lib/builtins/abort unreachable @@ -55612,7 +55640,7 @@ if i32.const 0 i32.const 32 - i32.const 3935 + i32.const 3937 i32.const 0 call $~lib/builtins/abort unreachable @@ -55626,7 +55654,7 @@ if i32.const 0 i32.const 32 - i32.const 3937 + i32.const 3939 i32.const 0 call $~lib/builtins/abort unreachable @@ -55640,7 +55668,7 @@ if i32.const 0 i32.const 32 - i32.const 3938 + i32.const 3940 i32.const 0 call $~lib/builtins/abort unreachable @@ -55654,7 +55682,7 @@ if i32.const 0 i32.const 32 - i32.const 3939 + i32.const 3941 i32.const 0 call $~lib/builtins/abort unreachable @@ -55668,7 +55696,7 @@ if i32.const 0 i32.const 32 - i32.const 3940 + i32.const 3942 i32.const 0 call $~lib/builtins/abort unreachable @@ -55682,7 +55710,7 @@ if i32.const 0 i32.const 32 - i32.const 3941 + i32.const 3943 i32.const 0 call $~lib/builtins/abort unreachable @@ -55696,7 +55724,7 @@ if i32.const 0 i32.const 32 - i32.const 3942 + i32.const 3944 i32.const 0 call $~lib/builtins/abort unreachable @@ -55710,7 +55738,7 @@ if i32.const 0 i32.const 32 - i32.const 3943 + i32.const 3945 i32.const 0 call $~lib/builtins/abort unreachable @@ -55724,7 +55752,7 @@ if i32.const 0 i32.const 32 - i32.const 3944 + i32.const 3946 i32.const 0 call $~lib/builtins/abort unreachable @@ -55738,7 +55766,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -55758,7 +55786,7 @@ if i32.const 0 i32.const 32 - i32.const 3947 + i32.const 3949 i32.const 0 call $~lib/builtins/abort unreachable @@ -55776,7 +55804,7 @@ if i32.const 0 i32.const 32 - i32.const 3948 + i32.const 3950 i32.const 0 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 2ccf6e2aca..81c3146941 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -355,39 +355,39 @@ i32.const 1 local.set $2 local.get $1 - i32.const 0 - i32.le_s + i32.const 32 + i32.lt_s if local.get $1 i32.const 0 + i32.le_s + if + local.get $1 + i32.const 0 + i32.eq + return + end + local.get $1 + i32.const 1 i32.eq - return - end - local.get $1 - i32.const 1 - i32.eq - if - local.get $0 - return - end - local.get $1 - i32.const 2 - i32.eq - if - local.get $0 - local.get $0 - i32.mul - return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - local.get $3 - i32.const 5 - i32.le_s - if + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 block $break|0 block $case4|0 block $case3|0 diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index e20d229c47..4d32a76a32 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -5290,39 +5290,39 @@ i32.const 1 local.set $2 local.get $1 - i32.const 0 - i32.le_s + i32.const 32 + i32.lt_s if local.get $1 i32.const 0 + i32.le_s + if + local.get $1 + i32.const 0 + i32.eq + return + end + local.get $1 + i32.const 1 i32.eq - return - end - local.get $1 - i32.const 1 - i32.eq - if - local.get $0 - return - end - local.get $1 - i32.const 2 - i32.eq - if - local.get $0 - local.get $0 - i32.mul - return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - local.get $3 - i32.const 5 - i32.le_s - if + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 block $break|0 block $case4|0 block $case3|0 From a8bc26f277da1498d312d67db4b08411de0b280a Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 17:54:06 +0200 Subject: [PATCH 15/64] clean space --- std/assembly/math.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index 984a61f612..ab6db854de 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3040,7 +3040,6 @@ export function ipow32(x: i32, e: i32): i32 { return out; } } - while (e) { if (e & 1) out *= x; e >>>= 1; From 254458b77f5c3e4d9f3a07d293bcbc44c267dbe0 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 20:43:09 +0200 Subject: [PATCH 16/64] more tests --- tests/compiler/std/math.optimized.wat | 102 +++++++++++++++++++------- tests/compiler/std/math.ts | 6 ++ tests/compiler/std/math.untouched.wat | 78 +++++++++++++++++--- 3 files changed, 148 insertions(+), 38 deletions(-) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index e1e8948385..647965a042 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -15,8 +15,8 @@ (type $i64_=>_none (func (param i64))) (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) (type $f64_=>_none (func (param f64))) - (type $none_=>_i32 (func (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i64_=>_i32 (func (param i64) (result i32))) (type $f32_i32_f32_=>_i32 (func (param f32 i32 f32) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) @@ -11464,36 +11464,30 @@ end local.get $2 ) - (func $~lib/math/ipow32 (; 173 ;) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/math/ipow32 (; 173 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - i32.const 3 - local.set $0 - i32.const -2 - local.set $1 i32.const 1 local.set $2 loop $while-continue|0 - local.get $0 + local.get $1 if - local.get $1 + local.get $0 local.get $2 i32.mul local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.and select local.set $2 - local.get $0 + local.get $1 i32.const 1 i32.shr_u - local.set $0 - local.get $1 - local.get $1 - i32.mul local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 br $while-continue|0 end end @@ -46842,6 +46836,8 @@ call $~lib/builtins/abort unreachable end + i32.const -2 + i32.const 3 call $~lib/math/ipow32 i32.const -8 i32.ne @@ -46853,6 +46849,58 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + i32.const 3 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2 + i32.const 3 + call $~lib/math/ipow32 + i32.const -8 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 7 + call $~lib/math/ipow32 + i32.const 16384 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 8 + call $~lib/math/ipow32 + i32.const 65536 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 0 i64.const 0 call $~lib/math/ipow64 @@ -46861,7 +46909,7 @@ if i32.const 0 i32.const 32 - i32.const 3939 + i32.const 3945 i32.const 0 call $~lib/builtins/abort unreachable @@ -46874,7 +46922,7 @@ if i32.const 0 i32.const 32 - i32.const 3940 + i32.const 3946 i32.const 0 call $~lib/builtins/abort unreachable @@ -46887,7 +46935,7 @@ if i32.const 0 i32.const 32 - i32.const 3941 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -46900,7 +46948,7 @@ if i32.const 0 i32.const 32 - i32.const 3942 + i32.const 3948 i32.const 0 call $~lib/builtins/abort unreachable @@ -46913,7 +46961,7 @@ if i32.const 0 i32.const 32 - i32.const 3943 + i32.const 3949 i32.const 0 call $~lib/builtins/abort unreachable @@ -46926,7 +46974,7 @@ if i32.const 0 i32.const 32 - i32.const 3944 + i32.const 3950 i32.const 0 call $~lib/builtins/abort unreachable @@ -46939,7 +46987,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3951 i32.const 0 call $~lib/builtins/abort unreachable @@ -46952,7 +47000,7 @@ if i32.const 0 i32.const 32 - i32.const 3946 + i32.const 3952 i32.const 0 call $~lib/builtins/abort unreachable @@ -46965,7 +47013,7 @@ if i32.const 0 i32.const 32 - i32.const 3947 + i32.const 3953 i32.const 0 call $~lib/builtins/abort unreachable @@ -46984,7 +47032,7 @@ if i32.const 0 i32.const 32 - i32.const 3949 + i32.const 3955 i32.const 0 call $~lib/builtins/abort unreachable @@ -47001,7 +47049,7 @@ if i32.const 0 i32.const 32 - i32.const 3950 + i32.const 3956 i32.const 0 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 7f99f1e7da..f072f2bf8f 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3936,6 +3936,12 @@ assert( 0 ** 1 == 0); assert( 1 ** 3 == 1); assert((-2) ** 3 == -8); +assert(( 1) ** 3 == 1); +assert((-2) ** 3 == -8); +assert((4) ** 7 == 16384); +assert((4) ** 8 == 65536); +// assert((4) ** 9 == 0); // should overflow + assert((0) ** 0 == 1); assert((0) ** 1 == 0); assert((1) ** 3 == 1); diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 474a53d323..e7d29b9198 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55645,6 +55645,62 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + i32.const 3 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -2 + i32.const 3 + call $~lib/math/ipow32 + i32.const -8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 7 + call $~lib/math/ipow32 + i32.const 16384 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 8 + call $~lib/math/ipow32 + i32.const 65536 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 0 i64.const 0 call $~lib/math/ipow64 @@ -55654,7 +55710,7 @@ if i32.const 0 i32.const 32 - i32.const 3939 + i32.const 3945 i32.const 0 call $~lib/builtins/abort unreachable @@ -55668,7 +55724,7 @@ if i32.const 0 i32.const 32 - i32.const 3940 + i32.const 3946 i32.const 0 call $~lib/builtins/abort unreachable @@ -55682,7 +55738,7 @@ if i32.const 0 i32.const 32 - i32.const 3941 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -55696,7 +55752,7 @@ if i32.const 0 i32.const 32 - i32.const 3942 + i32.const 3948 i32.const 0 call $~lib/builtins/abort unreachable @@ -55710,7 +55766,7 @@ if i32.const 0 i32.const 32 - i32.const 3943 + i32.const 3949 i32.const 0 call $~lib/builtins/abort unreachable @@ -55724,7 +55780,7 @@ if i32.const 0 i32.const 32 - i32.const 3944 + i32.const 3950 i32.const 0 call $~lib/builtins/abort unreachable @@ -55738,7 +55794,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3951 i32.const 0 call $~lib/builtins/abort unreachable @@ -55752,7 +55808,7 @@ if i32.const 0 i32.const 32 - i32.const 3946 + i32.const 3952 i32.const 0 call $~lib/builtins/abort unreachable @@ -55766,7 +55822,7 @@ if i32.const 0 i32.const 32 - i32.const 3947 + i32.const 3953 i32.const 0 call $~lib/builtins/abort unreachable @@ -55786,7 +55842,7 @@ if i32.const 0 i32.const 32 - i32.const 3949 + i32.const 3955 i32.const 0 call $~lib/builtins/abort unreachable @@ -55804,7 +55860,7 @@ if i32.const 0 i32.const 32 - i32.const 3950 + i32.const 3956 i32.const 0 call $~lib/builtins/abort unreachable From f222e4c5eea6ab200fa53daff110fed04cfc340d Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 5 Mar 2020 21:09:50 +0200 Subject: [PATCH 17/64] improve --- src/compiler.ts | 45 ++++++++++++++++++++++++--- tests/compiler/std/math.optimized.wat | 10 +++--- tests/compiler/std/math.untouched.wat | 10 +++--- 3 files changed, 51 insertions(+), 14 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 1be196ce52..10bcb09d4e 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4619,6 +4619,37 @@ export class Compiler extends DiagnosticEmitter { return this.module.unreachable(); } + if (compound) { + leftExpr = this.ensureSmallIntegerWrap(leftExpr, leftType); + rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + } else { + rightExpr = this.compileExpression(right, leftType); + rightType = this.currentType; + commonType = Type.commonDenominator(leftType, rightType, false); + if (commonType) { + leftExpr = this.convertExpression(leftExpr, + leftType, commonType, + false, true, // ! + left + ); + leftType = commonType; + rightExpr = this.convertExpression(rightExpr, + rightType, commonType, + false, true, // ! + right + ); + rightType = commonType; + } else { + this.error( + DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, + expression.range, "%", leftType.toString(), rightType.toString() + ); + this.currentType = contextualType; + return module.unreachable(); + } + } + let targetType = leftType; let instance: Function | null; let currentTypeKind = this.currentType.kind; @@ -4636,6 +4667,12 @@ export class Compiler extends DiagnosticEmitter { // ) ) { let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32; + leftExpr = this.convertExpression(leftExpr, + this.currentType, type, + false, false, + left + ); + leftType = this.currentType; rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); rightType = this.currentType; instance = this.i32PowInstance; @@ -4747,10 +4784,10 @@ export class Compiler extends DiagnosticEmitter { expr = module.unreachable(); } else { expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); - if (compound && targetType != this.currentType) { - // this yields a proper error if target is i32 for example - expr = this.convertExpression(expr, this.currentType, targetType, false, false, expression); - } + // if (compound && targetType != this.currentType) { + // // this yields a proper error if target is i32 for example + // expr = this.convertExpression(expr, this.currentType, targetType, false, false, expression); + // } } break; } diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 647965a042..c0ce416161 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46823,11 +46823,11 @@ call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 3 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.ne + i32.const 1 + i32.const 3 + call $~lib/math/ipow32 + i32.const 1 + i32.ne if i32.const 0 i32.const 32 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index e7d29b9198..03a163ec20 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55617,11 +55617,11 @@ call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 3 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + i32.const 1 + i32.const 3 + call $~lib/math/ipow32 + i32.const 1 + i32.eq i32.eqz if i32.const 0 From f0dd9e6e961ba75f8a18d50fc15dc0dccdecff7a Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Fri, 6 Mar 2020 02:34:19 +0200 Subject: [PATCH 18/64] add comment with TODO and shortest addition chains --- std/assembly/math.ts | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index ab6db854de..afd5435962 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3099,3 +3099,53 @@ export function ipow64(x: i64, e: i64): i64 { } return out; } + +/* +TODO: +In compile if onlly exponent is constant we could replace ipow32/ipow64 by shortest addition chains +which usually faster than exponention by doubling + +for ipow32 and e < 32: + +let b: i32, c: i32, d: i32, h: i32, k: i32, g: i32; +switch (e) { + case 1: return x; + case 2: return x * x; + case 3: return x * x * x; + case 4: return (b = x * x) * b; + case 5: return (b = x * x) * b * x; + case 6: return (b = x * x) * b * b; + case 7: return (b = x * x) * b * b * x; + case 8: return (d = (b = x * x) * b) * d; + case 9: return (c = x * x * x) * c * c; + case 10: return (d = (b = x * x) * b) * d * b; + case 11: return (d = (b = x * x) * b) * d * b * x; + case 12: return (d = (b = x * x) * b) * d * d; + case 13: return (d = (b = x * x) * b) * d * d * x; + case 14: return (d = (b = x * x) * b) * d * d * b; + case 15: return (k = (b = x * x) * b * x) * k * k; + case 16: return (h = (d = (b = x * x) * b) * d) * h; + case 17: return (h = (d = (b = x * x) * b) * d) * h * x; + case 18: return (h = (d = (b = x * x) * b) * d * x) * h; + case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x; + case 20: return (h = (k = (b = x * x) * b * x) * k) * h; + case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x; + case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g; + case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c; + case 24: return (h = (d = (c = x * x * x) * c) * d) * h; + case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x; + case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g; + case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c; + case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h; + case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x; + case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h; + case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x; +} + +for ipow64: TODO +switch (e) { + case 32: + ... + case 63: +} +*/ \ No newline at end of file From 4ca7c926905cf88b86020d09148949cfcb962085 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Fri, 6 Mar 2020 14:24:25 +0200 Subject: [PATCH 19/64] typo --- std/assembly/math.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index afd5435962..4f0ae641bc 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3102,8 +3102,8 @@ export function ipow64(x: i64, e: i64): i64 { /* TODO: -In compile if onlly exponent is constant we could replace ipow32/ipow64 by shortest addition chains -which usually faster than exponention by doubling +In compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains +which usually faster than exponentiation by squaring for ipow32 and e < 32: From 2dfe9c926362ff6fdfc1cbe76a72fdec39af5065 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 01:12:38 +0200 Subject: [PATCH 20/64] refactor --- src/compiler.ts | 255 ++++++++++++++------------ tests/compiler/std/math.optimized.wat | 18 +- tests/compiler/std/math.untouched.wat | 20 +- 3 files changed, 153 insertions(+), 140 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 10bcb09d4e..26d940fef2 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4650,144 +4650,159 @@ export class Compiler extends DiagnosticEmitter { } } - let targetType = leftType; let instance: Function | null; - let currentTypeKind = this.currentType.kind; + switch (this.currentType.kind) { + case TypeKind.BOOL: + case TypeKind.I8: + case TypeKind.U8: + case TypeKind.I16: + case TypeKind.U16: + case TypeKind.I32: + case TypeKind.U32: { + let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32; - if ( - currentTypeKind == TypeKind.I8 || - currentTypeKind == TypeKind.U8 || - currentTypeKind == TypeKind.I16 || - currentTypeKind == TypeKind.U16 || - currentTypeKind == TypeKind.I32 || - currentTypeKind == TypeKind.U32 //|| - // !this.options.isWasm64 && ( - // currentTypeKind == TypeKind.ISIZE || - // currentTypeKind == TypeKind.USIZE - // ) - ) { - let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32; - leftExpr = this.convertExpression(leftExpr, - this.currentType, type, - false, false, - left - ); - leftType = this.currentType; - rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); - rightType = this.currentType; - instance = this.i32PowInstance; + leftExpr = this.convertExpression(leftExpr, + this.currentType, type, + false, false, + left + ); + leftType = this.currentType; + rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + instance = this.i32PowInstance; - if (!instance) { - let prototype = this.program.lookupGlobal(CommonNames.ipow32); - if (!prototype) { - this.error( - DiagnosticCode.Cannot_find_name_0, - expression.range, "ipow32" - ); + if (!instance) { + let prototype = this.program.lookupGlobal(CommonNames.ipow32); + if (!prototype) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "ipow32" + ); + expr = module.unreachable(); + break; + } + assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); + this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null); + } + if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); - break; + } else { + expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); } - assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); - this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null); - } - } else if ( - currentTypeKind == TypeKind.I64 || - currentTypeKind == TypeKind.U64 // || - // this.options.isWasm64 && ( - // currentTypeKind == TypeKind.ISIZE || - // currentTypeKind == TypeKind.USIZE - // ) - ) { - let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i64 : Type.u64; + break; + } + case TypeKind.I64: + case TypeKind.U64: { + let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i64 : Type.u64; - rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); - rightType = this.currentType; - instance = this.i64PowInstance; + rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + instance = this.i64PowInstance; - if (!instance) { - let prototype = this.program.lookupGlobal(CommonNames.ipow64); - if (!prototype) { - this.error( - DiagnosticCode.Cannot_find_name_0, - expression.range, "ipow64" - ); + if (!instance) { + let prototype = this.program.lookupGlobal(CommonNames.ipow64); + if (!prototype) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "ipow64" + ); + expr = module.unreachable(); + break; + } + assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); + this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null); + } + if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); - break; + } else { + expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); } - assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); - this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null); + break; } - // Mathf.pow if lhs is f32 (result is f32) - } else if (currentTypeKind == TypeKind.F32) { - rightExpr = this.compileExpression(right, Type.f32, Constraints.CONV_IMPLICIT); - rightType = this.currentType; - instance = this.f32PowInstance; - if (!instance) { - let namespace = this.program.lookupGlobal(CommonNames.Mathf); - if (!namespace) { - this.error( - DiagnosticCode.Cannot_find_name_0, - expression.range, "Mathf" - ); - expr = module.unreachable(); - break; + case TypeKind.F32: { + // Mathf.pow if lhs is f32 (result is f32) + rightExpr = this.compileExpression(right, Type.f32, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + instance = this.f32PowInstance; + if (!instance) { + let namespace = this.program.lookupGlobal(CommonNames.Mathf); + if (!namespace) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "Mathf" + ); + expr = module.unreachable(); + break; + } + let prototype = namespace.members ? namespace.members.get(CommonNames.pow) : null; + if (!prototype) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "Mathf.pow" + ); + expr = module.unreachable(); + break; + } + assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); + this.f32PowInstance = instance = this.resolver.resolveFunction(prototype, null); } - let prototype = namespace.members ? namespace.members.get(CommonNames.pow) : null; - if (!prototype) { - this.error( - DiagnosticCode.Cannot_find_name_0, - expression.range, "Mathf.pow" - ); + if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); - break; + } else { + expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); } - assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); - this.f32PowInstance = instance = this.resolver.resolveFunction(prototype, null); + break; } - - // Math.pow otherwise (result is f64) - // TODO: should the result be converted back? - } else { - leftExpr = this.convertExpression(leftExpr, - this.currentType, Type.f64, - false, false, - left - ); - leftType = this.currentType; - rightExpr = this.compileExpression(right, Type.f64, Constraints.CONV_IMPLICIT); - rightType = this.currentType; - instance = this.f64PowInstance; - if (!instance) { - let namespace = this.program.lookupGlobal(CommonNames.Math); - if (!namespace) { - this.error( - DiagnosticCode.Cannot_find_name_0, - expression.range, "Math" - ); - expr = module.unreachable(); - break; + // Math.pow otherwise (result is f64) + // TODO: should the result be converted back? + case TypeKind.F64: + // FIXME: workaround + case TypeKind.ISIZE: + case TypeKind.USIZE: { + // Mathf.pow if lhs is f64 (result is f64) + leftExpr = this.convertExpression(leftExpr, + this.currentType, Type.f64, + false, false, + left + ); + leftType = this.currentType; + rightExpr = this.compileExpression(right, Type.f64, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + instance = this.f64PowInstance; + if (!instance) { + let namespace = this.program.lookupGlobal(CommonNames.Math); + if (!namespace) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "Math" + ); + expr = module.unreachable(); + break; + } + let prototype = namespace.members ? namespace.members.get(CommonNames.pow) : null; + if (!prototype) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, "Math.pow" + ); + expr = module.unreachable(); + break; + } + assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); + this.f64PowInstance = instance = this.resolver.resolveFunction(prototype, null); } - let prototype = namespace.members ? namespace.members.get(CommonNames.pow) : null; - if (!prototype) { - this.error( - DiagnosticCode.Cannot_find_name_0, - expression.range, "Math.pow" - ); + if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); - break; + } else { + expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); } - assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); - this.f64PowInstance = instance = this.resolver.resolveFunction(prototype, null); + break; + } + default: { + assert(false); + expr = module.unreachable(); + break; } - } - if (!instance || !this.compileFunction(instance)) { - expr = module.unreachable(); - } else { - expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); - // if (compound && targetType != this.currentType) { - // // this yields a proper error if target is i32 for example - // expr = this.convertExpression(expr, this.currentType, targetType, false, false, expression); - // } } break; } diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index c0ce416161..4e30904ef6 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46797,11 +46797,11 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.ne + i32.const 0 + i32.const 0 + call $~lib/math/ipow32 + i32.const 1 + i32.ne if i32.const 0 i32.const 32 @@ -46810,11 +46810,9 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.ne + i32.const 0 + i32.const 1 + call $~lib/math/ipow32 if i32.const 0 i32.const 32 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 03a163ec20..d47760ef5d 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55589,11 +55589,11 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + i32.const 0 + i32.const 0 + call $~lib/math/ipow32 + i32.const 1 + i32.eq i32.eqz if i32.const 0 @@ -55603,11 +55603,11 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq + i32.const 0 + i32.const 1 + call $~lib/math/ipow32 + i32.const 0 + i32.eq i32.eqz if i32.const 0 From 9ba46b1c84e405310d249bb6925df10021d8fd27 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 02:07:04 +0200 Subject: [PATCH 21/64] optimize int pow for booleans --- src/compiler.ts | 10 +++++++++- tests/compiler/std/math.optimized.wat | 24 ----------------------- tests/compiler/std/math.untouched.wat | 28 --------------------------- 3 files changed, 9 insertions(+), 53 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 26d940fef2..9ad5d54981 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4652,7 +4652,15 @@ export class Compiler extends DiagnosticEmitter { let instance: Function | null; switch (this.currentType.kind) { - case TypeKind.BOOL: + case TypeKind.BOOL: { + // leftExpr ? 1 : rightExpr == 0 + expr = module.select( + module.i32(1), + module.binary(BinaryOp.EqI32, rightExpr, module.i32(0)), + leftExpr + ); + break; + } case TypeKind.I8: case TypeKind.U8: case TypeKind.I16: diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 4e30904ef6..a540b9cbf5 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46797,30 +46797,6 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 0 - call $~lib/math/ipow32 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 32 - i32.const 3934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - call $~lib/math/ipow32 - if - i32.const 0 - i32.const 32 - i32.const 3935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end i32.const 1 i32.const 3 call $~lib/math/ipow32 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index d47760ef5d..3eb4c6383c 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55589,34 +55589,6 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 0 - call $~lib/math/ipow32 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3934 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - call $~lib/math/ipow32 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3935 - i32.const 0 - call $~lib/builtins/abort - unreachable - end i32.const 1 i32.const 3 call $~lib/math/ipow32 From db8c9691253c34fce1ccdf3ea4be258fd34e1db1 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 02:26:54 +0200 Subject: [PATCH 22/64] more tests & fixes --- std/assembly/math.ts | 4 +- tests/compiler/std/math.optimized.wat | 134 +++++++++++++++++++--- tests/compiler/std/math.ts | 17 ++- tests/compiler/std/math.untouched.wat | 157 +++++++++++++++++++++++--- 4 files changed, 273 insertions(+), 39 deletions(-) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index 4f0ae641bc..de87f5bfed 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3005,7 +3005,7 @@ export function ipow32(x: i32, e: i32): i32 { var out = 1; if (ASC_SHRINK_LEVEL < 1) { if (e < 32) { - if (e <= 0) return i32(e == 0); + if (e <= 0) return i32(e == 0) | i32(x == 1); if (e == 1) return x; if (e == 2) return x * x; @@ -3052,7 +3052,7 @@ export function ipow64(x: i64, e: i64): i64 { var out: i64 = 1; if (ASC_SHRINK_LEVEL < 1) { if (e < 64) { - if (e <= 0) return i64(e == 0); + if (e <= 0) return i64(e == 0) | i64(x == 1); if (e == 1) return x; if (e == 2) return x * x; diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index a540b9cbf5..117487e9b7 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46780,6 +46780,32 @@ call $~lib/builtins/abort unreachable end + i64.const 1 + i64.const -1 + call $~lib/math/ipow64 + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 32 + i32.const 3930 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const -1 + call $~lib/math/ipow64 + i64.eqz + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3931 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 57055 i64.const 3 call $~lib/math/ipow64 @@ -46792,7 +46818,7 @@ if i32.const 0 i32.const 32 - i32.const 3930 + i32.const 3933 i32.const 0 call $~lib/builtins/abort unreachable @@ -46805,7 +46831,7 @@ if i32.const 0 i32.const 32 - i32.const 3936 + i32.const 3939 i32.const 0 call $~lib/builtins/abort unreachable @@ -46818,7 +46844,79 @@ if i32.const 0 i32.const 32 - i32.const 3937 + i32.const 3940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const -2 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const -1 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 2 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -2 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -1 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3952 i32.const 0 call $~lib/builtins/abort unreachable @@ -46831,7 +46929,7 @@ if i32.const 0 i32.const 32 - i32.const 3939 + i32.const 3954 i32.const 0 call $~lib/builtins/abort unreachable @@ -46844,7 +46942,7 @@ if i32.const 0 i32.const 32 - i32.const 3940 + i32.const 3955 i32.const 0 call $~lib/builtins/abort unreachable @@ -46857,7 +46955,7 @@ if i32.const 0 i32.const 32 - i32.const 3941 + i32.const 3956 i32.const 0 call $~lib/builtins/abort unreachable @@ -46870,7 +46968,7 @@ if i32.const 0 i32.const 32 - i32.const 3942 + i32.const 3957 i32.const 0 call $~lib/builtins/abort unreachable @@ -46883,7 +46981,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3960 i32.const 0 call $~lib/builtins/abort unreachable @@ -46896,7 +46994,7 @@ if i32.const 0 i32.const 32 - i32.const 3946 + i32.const 3961 i32.const 0 call $~lib/builtins/abort unreachable @@ -46909,7 +47007,7 @@ if i32.const 0 i32.const 32 - i32.const 3947 + i32.const 3962 i32.const 0 call $~lib/builtins/abort unreachable @@ -46922,7 +47020,7 @@ if i32.const 0 i32.const 32 - i32.const 3948 + i32.const 3963 i32.const 0 call $~lib/builtins/abort unreachable @@ -46935,7 +47033,7 @@ if i32.const 0 i32.const 32 - i32.const 3949 + i32.const 3964 i32.const 0 call $~lib/builtins/abort unreachable @@ -46948,7 +47046,7 @@ if i32.const 0 i32.const 32 - i32.const 3950 + i32.const 3965 i32.const 0 call $~lib/builtins/abort unreachable @@ -46961,7 +47059,7 @@ if i32.const 0 i32.const 32 - i32.const 3951 + i32.const 3966 i32.const 0 call $~lib/builtins/abort unreachable @@ -46974,7 +47072,7 @@ if i32.const 0 i32.const 32 - i32.const 3952 + i32.const 3967 i32.const 0 call $~lib/builtins/abort unreachable @@ -46987,7 +47085,7 @@ if i32.const 0 i32.const 32 - i32.const 3953 + i32.const 3968 i32.const 0 call $~lib/builtins/abort unreachable @@ -47006,7 +47104,7 @@ if i32.const 0 i32.const 32 - i32.const 3955 + i32.const 3970 i32.const 0 call $~lib/builtins/abort unreachable @@ -47023,7 +47121,7 @@ if i32.const 0 i32.const 32 - i32.const 3956 + i32.const 3971 i32.const 0 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index f072f2bf8f..c597e44fb0 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3927,6 +3927,9 @@ assert(ipow64(3, 63) == -3237885987332494933); // should overflow assert(ipow64(3, 64) == 8733086111712066817); // should overflow assert(ipow64(3, 128) == -9204772141784466943); // should overflow +assert(ipow64(1, -1) == 1); +assert(ipow64(2, -1) == 0); + assert(ipow64(57055, 3) + ipow64(339590, 3) == 39347712995520375); // integer pow operators @@ -3936,11 +3939,23 @@ assert( 0 ** 1 == 0); assert( 1 ** 3 == 1); assert((-2) ** 3 == -8); +assert(false ** -2 == 0); +assert(false ** -1 == 0); +assert(false ** 0 == 1); +assert(false ** 1 == 0); +assert(false ** 2 == 0); + +assert(true ** -2 == 1); +assert(true ** -1 == 1); +assert(true ** 0 == 1); +assert(true ** 1 == 1); +assert(true ** 2 == 1); + assert(( 1) ** 3 == 1); assert((-2) ** 3 == -8); assert((4) ** 7 == 16384); assert((4) ** 8 == 65536); -// assert((4) ** 9 == 0); // should overflow +// assert((4) ** 9 == 0); // should overflow fail! assert((0) ** 0 == 1); assert((0) ** 1 == 0); diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 3eb4c6383c..58c72f53aa 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -15753,6 +15753,11 @@ i64.const 0 i64.eq i64.extend_i32_u + local.get $0 + i64.const 1 + i64.eq + i64.extend_i32_u + i64.or return end local.get $1 @@ -15975,6 +15980,10 @@ local.get $1 i32.const 0 i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or return end local.get $1 @@ -55571,6 +55580,34 @@ call $~lib/builtins/abort unreachable end + i64.const 1 + i64.const -1 + call $~lib/math/ipow64 + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3930 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + i64.const -1 + call $~lib/math/ipow64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3931 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i64.const 57055 i64.const 3 call $~lib/math/ipow64 @@ -55584,7 +55621,7 @@ if i32.const 0 i32.const 32 - i32.const 3930 + i32.const 3933 i32.const 0 call $~lib/builtins/abort unreachable @@ -55598,7 +55635,7 @@ if i32.const 0 i32.const 32 - i32.const 3936 + i32.const 3939 i32.const 0 call $~lib/builtins/abort unreachable @@ -55612,7 +55649,91 @@ if i32.const 0 i32.const 32 - i32.const 3937 + i32.const 3940 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const -2 + call $~lib/math/ipow32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const -1 + call $~lib/math/ipow32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 2 + call $~lib/math/ipow32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -2 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -1 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3952 i32.const 0 call $~lib/builtins/abort unreachable @@ -55626,7 +55747,7 @@ if i32.const 0 i32.const 32 - i32.const 3939 + i32.const 3954 i32.const 0 call $~lib/builtins/abort unreachable @@ -55640,7 +55761,7 @@ if i32.const 0 i32.const 32 - i32.const 3940 + i32.const 3955 i32.const 0 call $~lib/builtins/abort unreachable @@ -55654,7 +55775,7 @@ if i32.const 0 i32.const 32 - i32.const 3941 + i32.const 3956 i32.const 0 call $~lib/builtins/abort unreachable @@ -55668,7 +55789,7 @@ if i32.const 0 i32.const 32 - i32.const 3942 + i32.const 3957 i32.const 0 call $~lib/builtins/abort unreachable @@ -55682,7 +55803,7 @@ if i32.const 0 i32.const 32 - i32.const 3945 + i32.const 3960 i32.const 0 call $~lib/builtins/abort unreachable @@ -55696,7 +55817,7 @@ if i32.const 0 i32.const 32 - i32.const 3946 + i32.const 3961 i32.const 0 call $~lib/builtins/abort unreachable @@ -55710,7 +55831,7 @@ if i32.const 0 i32.const 32 - i32.const 3947 + i32.const 3962 i32.const 0 call $~lib/builtins/abort unreachable @@ -55724,7 +55845,7 @@ if i32.const 0 i32.const 32 - i32.const 3948 + i32.const 3963 i32.const 0 call $~lib/builtins/abort unreachable @@ -55738,7 +55859,7 @@ if i32.const 0 i32.const 32 - i32.const 3949 + i32.const 3964 i32.const 0 call $~lib/builtins/abort unreachable @@ -55752,7 +55873,7 @@ if i32.const 0 i32.const 32 - i32.const 3950 + i32.const 3965 i32.const 0 call $~lib/builtins/abort unreachable @@ -55766,7 +55887,7 @@ if i32.const 0 i32.const 32 - i32.const 3951 + i32.const 3966 i32.const 0 call $~lib/builtins/abort unreachable @@ -55780,7 +55901,7 @@ if i32.const 0 i32.const 32 - i32.const 3952 + i32.const 3967 i32.const 0 call $~lib/builtins/abort unreachable @@ -55794,7 +55915,7 @@ if i32.const 0 i32.const 32 - i32.const 3953 + i32.const 3968 i32.const 0 call $~lib/builtins/abort unreachable @@ -55814,7 +55935,7 @@ if i32.const 0 i32.const 32 - i32.const 3955 + i32.const 3970 i32.const 0 call $~lib/builtins/abort unreachable @@ -55832,7 +55953,7 @@ if i32.const 0 i32.const 32 - i32.const 3956 + i32.const 3971 i32.const 0 call $~lib/builtins/abort unreachable From 95e0f57f034ae6c876a9297b93b3e6eae521a006 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 02:42:02 +0200 Subject: [PATCH 23/64] rebuild tests --- tests/compiler/binary.untouched.wat | 4 ++++ tests/compiler/std/operator-overloading.untouched.wat | 4 ++++ tests/compiler/std/string.untouched.wat | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index c14e53cc19..f7e4d7ea15 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -35,6 +35,10 @@ local.get $1 i32.const 0 i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or return end local.get $1 diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 81c3146941..0c800d5acf 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -365,6 +365,10 @@ local.get $1 i32.const 0 i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or return end local.get $1 diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index 4d32a76a32..b068655d42 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -5300,6 +5300,10 @@ local.get $1 i32.const 0 i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or return end local.get $1 From 8f7f397630719679499381ba6237e5932f0d7c13 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 04:32:05 +0200 Subject: [PATCH 24/64] fix glue code as well --- src/glue/js/i64.js | 6 +++++- src/glue/wasm/i64.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/glue/js/i64.js b/src/glue/js/i64.js index 4c6e48bfaa..ae2ee06f7d 100644 --- a/src/glue/js/i64.js +++ b/src/glue/js/i64.js @@ -35,7 +35,11 @@ global.i64_mul = function(left, right) { global.i64_pow = function(left, right) { var rightHi = right.high; - if (rightHi < 0) return Long.ZERO; + if (rightHi < 0) { + return left.eq(Long.ONE) + ? Long.ONE + : Long.ZERO; + } var rightLo = right.low; if (!rightHi) { if (rightLo == 0) return Long.ONE; diff --git a/src/glue/wasm/i64.ts b/src/glue/wasm/i64.ts index 319fe659de..918c52caec 100644 --- a/src/glue/wasm/i64.ts +++ b/src/glue/wasm/i64.ts @@ -50,7 +50,7 @@ function i64_mul(left: i64, right: i64): i64 { // @ts-ignore: decorator @global function i64_pow(left: i64, right: i64): i64 { - if (right <= 0) return i64(right == 0); + if (right <= 0) return i64(right == 0) | i64(left == 1); if (right == 1) return left; if (right == 2) return left * left; var result: i64 = 1; From 660df029bddfbe6ac6f6455162a6139ae958c643 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 13:28:19 +0200 Subject: [PATCH 25/64] cleanups --- src/compiler.ts | 94 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 61 insertions(+), 33 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 9ad5d54981..5e316c81fe 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4643,7 +4643,7 @@ export class Compiler extends DiagnosticEmitter { } else { this.error( DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - expression.range, "%", leftType.toString(), rightType.toString() + expression.range, "**", leftType.toString(), rightType.toString() ); this.currentType = contextualType; return module.unreachable(); @@ -4667,18 +4667,7 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.U16: case TypeKind.I32: case TypeKind.U32: { - let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32; - - leftExpr = this.convertExpression(leftExpr, - this.currentType, type, - false, false, - left - ); - leftType = this.currentType; - rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); - rightType = this.currentType; instance = this.i32PowInstance; - if (!instance) { let prototype = this.program.lookupGlobal(CommonNames.ipow32); if (!prototype) { @@ -4701,12 +4690,7 @@ export class Compiler extends DiagnosticEmitter { } case TypeKind.I64: case TypeKind.U64: { - let type = this.currentType.is(TypeFlags.SIGNED) ? Type.i64 : Type.u64; - - rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); - rightType = this.currentType; instance = this.i64PowInstance; - if (!instance) { let prototype = this.program.lookupGlobal(CommonNames.ipow64); if (!prototype) { @@ -4727,11 +4711,51 @@ export class Compiler extends DiagnosticEmitter { } break; } - case TypeKind.F32: { - // Mathf.pow if lhs is f32 (result is f32) - rightExpr = this.compileExpression(right, Type.f32, Constraints.CONV_IMPLICIT); + /* + case TypeKind.ISIZE: + case TypeKind.USIZE: { + let type = this.options.isWasm64 + ? (this.currentType.is(TypeFlags.SIGNED) ? Type.i64 : Type.u64) + : (this.currentType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32); + leftExpr = this.convertExpression(leftExpr, + this.currentType, type, + false, false, + left + ); + leftType = this.currentType; + rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); rightType = this.currentType; - instance = this.f32PowInstance; + instance = this.options.isWasm64 ? this.i64PowInstance : this.i32PowInstance; + if (!instance) { + let prototype = this.program.lookupGlobal(this.options.isWasm64 + ? CommonNames.ipow64 + : CommonNames.ipow32 + ); + if (!prototype) { + this.error( + DiagnosticCode.Cannot_find_name_0, + expression.range, this.options.isWasm64 ? "ipow64" : "ipow32" + ); + expr = module.unreachable(); + break; + } + assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); + if (this.options.isWasm64) { + this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null); + } else { + this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null); + } + } + if (!instance || !this.compileFunction(instance)) { + expr = module.unreachable(); + } else { + expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); + } + break; + } + */ + case TypeKind.F32: { + instance = this.f32PowInstance; if (!instance) { let namespace = this.program.lookupGlobal(CommonNames.Mathf); if (!namespace) { @@ -4763,19 +4787,23 @@ export class Compiler extends DiagnosticEmitter { } // Math.pow otherwise (result is f64) // TODO: should the result be converted back? - case TypeKind.F64: - // FIXME: workaround + + // FIXME: tmp workaround case TypeKind.ISIZE: - case TypeKind.USIZE: { - // Mathf.pow if lhs is f64 (result is f64) - leftExpr = this.convertExpression(leftExpr, - this.currentType, Type.f64, - false, false, - left - ); - leftType = this.currentType; - rightExpr = this.compileExpression(right, Type.f64, Constraints.CONV_IMPLICIT); - rightType = this.currentType; + case TypeKind.USIZE: + case TypeKind.F64: { + // FOXME: tmp workaround + if (this.currentType.kind == TypeKind.ISIZE || this.currentType.kind == TypeKind.USIZE) { + leftExpr = this.convertExpression(leftExpr, + this.currentType, Type.f64, + false, false, + left + ); + leftType = this.currentType; + rightExpr = this.compileExpression(right, Type.f64, Constraints.CONV_IMPLICIT); + rightType = this.currentType; + } + instance = this.f64PowInstance; if (!instance) { let namespace = this.program.lookupGlobal(CommonNames.Math); From c9b96262526d43cd42e232e390ff0e000e35684d Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 13:29:24 +0200 Subject: [PATCH 26/64] typo --- src/compiler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler.ts b/src/compiler.ts index 5e316c81fe..9cba8986a7 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4792,7 +4792,7 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.ISIZE: case TypeKind.USIZE: case TypeKind.F64: { - // FOXME: tmp workaround + // FIXME: tmp workaround if (this.currentType.kind == TypeKind.ISIZE || this.currentType.kind == TypeKind.USIZE) { leftExpr = this.convertExpression(leftExpr, this.currentType, Type.f64, From ac0816eeec8fac314187318e3672d1cd64465bc5 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 14:21:15 +0200 Subject: [PATCH 27/64] refactor i64_pow --- src/glue/js/i64.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/glue/js/i64.js b/src/glue/js/i64.js index ae2ee06f7d..aeb9c708b8 100644 --- a/src/glue/js/i64.js +++ b/src/glue/js/i64.js @@ -34,14 +34,12 @@ global.i64_mul = function(left, right) { }; global.i64_pow = function(left, right) { - var rightHi = right.high; - if (rightHi < 0) { - return left.eq(Long.ONE) - ? Long.ONE - : Long.ZERO; - } var rightLo = right.low; - if (!rightHi) { + var rightHi = right.high; + if (rightHi <= 0) { + if (rightHi < 0) { + return left.eq(Long.ONE) ? left : Long.ZERO; + } if (rightLo == 0) return Long.ONE; if (rightLo == 1) return left; if (rightLo == 2) return left.mul(left); From 772d3a542ee5eef11cc45aa74c2facb7c815a1a0 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 17:51:40 +0200 Subject: [PATCH 28/64] fix resolver --- src/compiler.ts | 18 -- src/resolver.ts | 2 +- tests/compiler/resolve-binary.optimized.wat | 48 +++- tests/compiler/resolve-binary.ts | 2 +- tests/compiler/resolve-binary.untouched.wat | 235 +++++++++++++++++--- 5 files changed, 254 insertions(+), 51 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 9cba8986a7..ba8b82f11b 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4711,7 +4711,6 @@ export class Compiler extends DiagnosticEmitter { } break; } - /* case TypeKind.ISIZE: case TypeKind.USIZE: { let type = this.options.isWasm64 @@ -4753,7 +4752,6 @@ export class Compiler extends DiagnosticEmitter { } break; } - */ case TypeKind.F32: { instance = this.f32PowInstance; if (!instance) { @@ -4787,23 +4785,7 @@ export class Compiler extends DiagnosticEmitter { } // Math.pow otherwise (result is f64) // TODO: should the result be converted back? - - // FIXME: tmp workaround - case TypeKind.ISIZE: - case TypeKind.USIZE: case TypeKind.F64: { - // FIXME: tmp workaround - if (this.currentType.kind == TypeKind.ISIZE || this.currentType.kind == TypeKind.USIZE) { - leftExpr = this.convertExpression(leftExpr, - this.currentType, Type.f64, - false, false, - left - ); - leftType = this.currentType; - rightExpr = this.compileExpression(right, Type.f64, Constraints.CONV_IMPLICIT); - rightType = this.currentType; - } - instance = this.f64PowInstance; if (!instance) { let namespace = this.program.lookupGlobal(CommonNames.Math); diff --git a/src/resolver.ts b/src/resolver.ts index b637202ed0..7ef8a92255 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -2022,7 +2022,7 @@ export class Resolver extends DiagnosticEmitter { if (overload) return overload.signature.returnType; } } - return leftType == Type.f32 ? Type.f32 : Type.f64; + return leftType; } // shift: result is LHS (RHS is converted to LHS), preferring overloads diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 4bbe317d3f..de050707ad 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1,10 +1,10 @@ (module (type $i32_=>_i32 (func (param i32) (result i32))) + (type $none_=>_i32 (func (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_i64_i32_i64_i32_i64_=>_i32 (func (param i32 i64 i32 i64 i32 i64) (result i32))) @@ -1470,12 +1470,47 @@ local.get $0 call $~lib/rt/stub/__free ) - (func $resolve-binary/Bar#constructor (; 17 ;) (result i32) + (func $~lib/math/ipow32 (; 17 ;) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 2 + local.set $0 + i32.const 2 + local.set $1 + i32.const 1 + local.set $2 + loop $while-continue|0 + local.get $0 + if + local.get $1 + local.get $2 + i32.mul + local.get $2 + local.get $0 + i32.const 1 + i32.and + select + local.set $2 + local.get $0 + i32.const 1 + i32.shr_u + local.set $0 + local.get $1 + local.get $1 + i32.mul + local.set $1 + br $while-continue|0 + end + end + local.get $2 + ) + (func $resolve-binary/Bar#constructor (; 18 ;) (result i32) i32.const 0 i32.const 7 call $~lib/rt/stub/__alloc ) - (func $start:resolve-binary (; 18 ;) + (func $start:resolve-binary (; 19 ;) i32.const 1 call $~lib/number/Bool#toString i32.const 32 @@ -1867,8 +1902,9 @@ call $~lib/builtins/abort unreachable end - call $~lib/util/number/dtoa - i32.const 1472 + call $~lib/math/ipow32 + call $~lib/util/number/itoa32 + i32.const 1504 call $~lib/string/String.__eq i32.eqz if @@ -2186,7 +2222,7 @@ unreachable end ) - (func $~start (; 19 ;) + (func $~start (; 20 ;) call $start:resolve-binary ) ) diff --git a/tests/compiler/resolve-binary.ts b/tests/compiler/resolve-binary.ts index cdfcb417b1..5687252b29 100644 --- a/tests/compiler/resolve-binary.ts +++ b/tests/compiler/resolve-binary.ts @@ -144,7 +144,7 @@ assert( assert( (2 ** 2).toString() == - "4.0" // TBD + "4" // TBD ); // shift diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 3e2365707a..06d7795c5d 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -4335,7 +4335,193 @@ local.get $0 call $~lib/util/number/dtoa ) - (func $resolve-binary/Foo#constructor (; 24 ;) (param $0 i32) (result i32) + (func $~lib/math/ipow32 (; 24 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + local.set $2 + local.get $1 + i32.const 32 + i32.lt_s + if + local.get $1 + i32.const 0 + i32.le_s + if + local.get $1 + i32.const 0 + i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or + return + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + return + end + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + end + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + end + local.get $2 + return + end + loop $while-continue|1 + local.get $1 + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 + end + end + local.get $2 + ) + (func $resolve-binary/Foo#constructor (; 25 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -4347,7 +4533,7 @@ end local.get $0 ) - (func $resolve-binary/Foo#lt (; 25 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#lt (; 26 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4358,11 +4544,11 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/string/String#toString (; 26 ;) (param $0 i32) (result i32) + (func $~lib/string/String#toString (; 27 ;) (param $0 i32) (result i32) local.get $0 call $~lib/rt/stub/__retain ) - (func $resolve-binary/Foo#gt (; 27 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#gt (; 28 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4373,7 +4559,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#le (; 28 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#le (; 29 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4384,7 +4570,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#ge (; 29 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#ge (; 30 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4395,7 +4581,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#eq (; 30 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#eq (; 31 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4406,7 +4592,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#ne (; 31 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#ne (; 32 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4417,7 +4603,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#add (; 32 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#add (; 33 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4428,7 +4614,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo.sub (; 33 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo.sub (; 34 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/stub/__retain @@ -4444,7 +4630,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#mul (; 34 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#mul (; 35 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4455,7 +4641,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#div (; 35 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#div (; 36 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4466,7 +4652,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#rem (; 36 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#rem (; 37 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4477,7 +4663,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#pow (; 37 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#pow (; 38 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain @@ -4488,7 +4674,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Bar#constructor (; 38 ;) (param $0 i32) (result i32) + (func $resolve-binary/Bar#constructor (; 39 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -4500,17 +4686,17 @@ end local.get $0 ) - (func $resolve-binary/Bar#add (; 39 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Bar#add (; 40 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 local.get $1 ) - (func $resolve-binary/Bar#self (; 40 ;) (param $0 i32) (result i32) + (func $resolve-binary/Bar#self (; 41 ;) (param $0 i32) (result i32) local.get $0 call $~lib/rt/stub/__retain ) - (func $start:resolve-binary (; 41 ;) + (func $start:resolve-binary (; 42 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -5004,13 +5190,12 @@ call $~lib/builtins/abort unreachable end - f64.const 2 - f64.const 2 - call $~lib/math/NativeMath.pow - i32.const 0 - call $~lib/number/F64#toString + i32.const 2 + i32.const 2 + call $~lib/math/ipow32 + call $~lib/number/I32#toString local.tee $26 - i32.const 8064 + i32.const 8096 call $~lib/string/String.__eq i32.eqz if @@ -5544,7 +5729,7 @@ local.get $62 call $~lib/rt/stub/__release ) - (func $~start (; 42 ;) + (func $~start (; 43 ;) call $start:resolve-binary ) ) From e7f898817feff0c20a68134b1eabb98ddfd4ad1b Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 18:07:05 +0200 Subject: [PATCH 29/64] simplify --- src/compiler.ts | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index ba8b82f11b..92e1f3843f 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4713,18 +4713,17 @@ export class Compiler extends DiagnosticEmitter { } case TypeKind.ISIZE: case TypeKind.USIZE: { - let type = this.options.isWasm64 - ? (this.currentType.is(TypeFlags.SIGNED) ? Type.i64 : Type.u64) - : (this.currentType.is(TypeFlags.SIGNED) ? Type.i32 : Type.u32); + let isWasm64 = this.options.isWasm64; + let type = isWasm64 ? Type.isize64 : Type.isize32; leftExpr = this.convertExpression(leftExpr, this.currentType, type, false, false, left ); - leftType = this.currentType; + leftType = this.currentType; rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); rightType = this.currentType; - instance = this.options.isWasm64 ? this.i64PowInstance : this.i32PowInstance; + instance = isWasm64 ? this.i64PowInstance : this.i32PowInstance; if (!instance) { let prototype = this.program.lookupGlobal(this.options.isWasm64 ? CommonNames.ipow64 @@ -4733,17 +4732,14 @@ export class Compiler extends DiagnosticEmitter { if (!prototype) { this.error( DiagnosticCode.Cannot_find_name_0, - expression.range, this.options.isWasm64 ? "ipow64" : "ipow32" + expression.range, isWasm64 ? "ipow64" : "ipow32" ); expr = module.unreachable(); break; } assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); - if (this.options.isWasm64) { - this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null); - } else { - this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null); - } + instance = this.resolver.resolveFunction(prototype, null); + isWasm64 ? (this.i64PowInstance = instance) : (this.i32PowInstance = instance); } if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); From 2291c7633697f5de89bd62d2bd53d768621d2e36 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 18:10:34 +0200 Subject: [PATCH 30/64] refactor --- src/compiler.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler.ts b/src/compiler.ts index 92e1f3843f..55763a65ad 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4739,7 +4739,11 @@ export class Compiler extends DiagnosticEmitter { } assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); instance = this.resolver.resolveFunction(prototype, null); - isWasm64 ? (this.i64PowInstance = instance) : (this.i32PowInstance = instance); + if (isWasm64) { + this.i64PowInstance = instance; + } else { + this.i32PowInstance = instance; + } } if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); From 80fbb45e07ed02ba361c3f28e63ef2c6e6a80cc8 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 18:18:03 +0200 Subject: [PATCH 31/64] more --- src/compiler.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 55763a65ad..ad0cdee4e3 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4714,14 +4714,12 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.ISIZE: case TypeKind.USIZE: { let isWasm64 = this.options.isWasm64; - let type = isWasm64 ? Type.isize64 : Type.isize32; - leftExpr = this.convertExpression(leftExpr, - this.currentType, type, - false, false, - left - ); leftType = this.currentType; - rightExpr = this.compileExpression(right, type, Constraints.CONV_IMPLICIT); + rightExpr = this.compileExpression( + right, + isWasm64 ? Type.isize64 : Type.isize32, + Constraints.CONV_IMPLICIT + ); rightType = this.currentType; instance = isWasm64 ? this.i64PowInstance : this.i32PowInstance; if (!instance) { From 99f107d34c0fdd3123010271f7bd132f0954ae83 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 18:23:05 +0200 Subject: [PATCH 32/64] more --- src/compiler.ts | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index ad0cdee4e3..4e88bf4266 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4713,20 +4713,14 @@ export class Compiler extends DiagnosticEmitter { } case TypeKind.ISIZE: case TypeKind.USIZE: { - let isWasm64 = this.options.isWasm64; leftType = this.currentType; - rightExpr = this.compileExpression( - right, - isWasm64 ? Type.isize64 : Type.isize32, - Constraints.CONV_IMPLICIT - ); + rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); rightType = this.currentType; - instance = isWasm64 ? this.i64PowInstance : this.i32PowInstance; + + let isWasm64 = this.options.isWasm64; + instance = isWasm64 ? this.i64PowInstance : this.i32PowInstance; if (!instance) { - let prototype = this.program.lookupGlobal(this.options.isWasm64 - ? CommonNames.ipow64 - : CommonNames.ipow32 - ); + let prototype = this.program.lookupGlobal(isWasm64 ? CommonNames.ipow64 : CommonNames.ipow32); if (!prototype) { this.error( DiagnosticCode.Cannot_find_name_0, From ab20782f0e5020dabb42426cb20a6e137f8e6405 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 18:26:17 +0200 Subject: [PATCH 33/64] switch to commonType --- src/compiler.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler.ts b/src/compiler.ts index 4e88bf4266..001ccd0a46 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4623,6 +4623,7 @@ export class Compiler extends DiagnosticEmitter { leftExpr = this.ensureSmallIntegerWrap(leftExpr, leftType); rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); rightType = this.currentType; + commonType = this.currentType; } else { rightExpr = this.compileExpression(right, leftType); rightType = this.currentType; @@ -4651,7 +4652,7 @@ export class Compiler extends DiagnosticEmitter { } let instance: Function | null; - switch (this.currentType.kind) { + switch (commonType.kind) { case TypeKind.BOOL: { // leftExpr ? 1 : rightExpr == 0 expr = module.select( From 7e7bf6f3ee53d64f7519316a0490344245850818 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 18:27:40 +0200 Subject: [PATCH 34/64] cleanups --- src/compiler.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 001ccd0a46..1bca5d744c 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4622,8 +4622,7 @@ export class Compiler extends DiagnosticEmitter { if (compound) { leftExpr = this.ensureSmallIntegerWrap(leftExpr, leftType); rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); - rightType = this.currentType; - commonType = this.currentType; + rightType = commonType = this.currentType; } else { rightExpr = this.compileExpression(right, leftType); rightType = this.currentType; @@ -4668,7 +4667,7 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.U16: case TypeKind.I32: case TypeKind.U32: { - instance = this.i32PowInstance; + instance = this.i32PowInstance; if (!instance) { let prototype = this.program.lookupGlobal(CommonNames.ipow32); if (!prototype) { @@ -4691,7 +4690,7 @@ export class Compiler extends DiagnosticEmitter { } case TypeKind.I64: case TypeKind.U64: { - instance = this.i64PowInstance; + instance = this.i64PowInstance; if (!instance) { let prototype = this.program.lookupGlobal(CommonNames.ipow64); if (!prototype) { From 774173c3c2ce94f821641724a8f87c6a2dfab5a3 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 18:37:42 +0200 Subject: [PATCH 35/64] remove unnecessary type assignments --- src/compiler.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 1bca5d744c..b9e70d3049 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4713,11 +4713,8 @@ export class Compiler extends DiagnosticEmitter { } case TypeKind.ISIZE: case TypeKind.USIZE: { - leftType = this.currentType; - rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); - rightType = this.currentType; - let isWasm64 = this.options.isWasm64; + rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); instance = isWasm64 ? this.i64PowInstance : this.i32PowInstance; if (!instance) { let prototype = this.program.lookupGlobal(isWasm64 ? CommonNames.ipow64 : CommonNames.ipow32); From 3413481af7f37162677e9ee75fc9039ae77e8e41 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 20:09:20 +0200 Subject: [PATCH 36/64] skip compileExpression if expresion compaund and already pre-compiled --- src/compiler.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler.ts b/src/compiler.ts index b9e70d3049..24912ced16 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4714,7 +4714,9 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.ISIZE: case TypeKind.USIZE: { let isWasm64 = this.options.isWasm64; - rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); + if (!compound) { + rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); + } instance = isWasm64 ? this.i64PowInstance : this.i32PowInstance; if (!instance) { let prototype = this.program.lookupGlobal(isWasm64 ? CommonNames.ipow64 : CommonNames.ipow32); From f93957e70a8e9daf2b73ea304dec79d5b624f92f Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 7 Mar 2020 21:03:07 +0200 Subject: [PATCH 37/64] remove compileExpr --- src/compiler.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 24912ced16..1acb16ff35 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4714,9 +4714,6 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.ISIZE: case TypeKind.USIZE: { let isWasm64 = this.options.isWasm64; - if (!compound) { - rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); - } instance = isWasm64 ? this.i64PowInstance : this.i32PowInstance; if (!instance) { let prototype = this.program.lookupGlobal(isWasm64 ? CommonNames.ipow64 : CommonNames.ipow32); From 8a28586df8afcfe6eac34b4cfc2e5b4887661b76 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 8 Mar 2020 03:01:32 +0200 Subject: [PATCH 38/64] use special optimizations for booleans --- src/compiler.ts | 26 ++++++- tests/compiler/std/math.optimized.wat | 85 ----------------------- tests/compiler/std/math.untouched.wat | 98 --------------------------- 3 files changed, 25 insertions(+), 184 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 1acb16ff35..05ee68289d 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4619,6 +4619,7 @@ export class Compiler extends DiagnosticEmitter { return this.module.unreachable(); } + let isLeftTypeBool = false; if (compound) { leftExpr = this.ensureSmallIntegerWrap(leftExpr, leftType); rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); @@ -4627,7 +4628,10 @@ export class Compiler extends DiagnosticEmitter { rightExpr = this.compileExpression(right, leftType); rightType = this.currentType; commonType = Type.commonDenominator(leftType, rightType, false); + isLeftTypeBool = leftType.kind == TypeKind.BOOL; if (commonType) { + isLeftTypeBool = !commonType.is(TypeFlags.FLOAT) && + (isLeftTypeBool || commonType.kind == TypeKind.BOOL); leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, true, // ! @@ -4650,10 +4654,30 @@ export class Compiler extends DiagnosticEmitter { } } + // special fast path for booleans + if (isLeftTypeBool) { + // leftExpr ? 1 : rightExpr == 0 + if (commonType.size === 32) { + expr = module.select( + module.i32(1), + module.binary(BinaryOp.EqI32, rightExpr, module.i32(0)), + leftExpr + ); + break; + } + if (commonType.size === 64) { + expr = module.select( + module.i64(1), + module.binary(BinaryOp.EqI64, rightExpr, module.i64(0)), + leftExpr + ); + break; + } + } + let instance: Function | null; switch (commonType.kind) { case TypeKind.BOOL: { - // leftExpr ? 1 : rightExpr == 0 expr = module.select( module.i32(1), module.binary(BinaryOp.EqI32, rightExpr, module.i32(0)), diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 117487e9b7..5f59f51977 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46823,19 +46823,6 @@ call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 3 - call $~lib/math/ipow32 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 32 - i32.const 3939 - i32.const 0 - call $~lib/builtins/abort - unreachable - end i32.const -2 i32.const 3 call $~lib/math/ipow32 @@ -46849,78 +46836,6 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const -2 - call $~lib/math/ipow32 - if - i32.const 0 - i32.const 32 - i32.const 3942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const -1 - call $~lib/math/ipow32 - if - i32.const 0 - i32.const 32 - i32.const 3943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 2 - call $~lib/math/ipow32 - if - i32.const 0 - i32.const 32 - i32.const 3946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const -2 - call $~lib/math/ipow32 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 32 - i32.const 3948 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const -1 - call $~lib/math/ipow32 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 32 - i32.const 3949 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 2 - call $~lib/math/ipow32 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 32 - i32.const 3952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end i32.const 1 i32.const 3 call $~lib/math/ipow32 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 58c72f53aa..4611abef90 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55626,20 +55626,6 @@ call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 3 - call $~lib/math/ipow32 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3939 - i32.const 0 - call $~lib/builtins/abort - unreachable - end i32.const -2 i32.const 3 call $~lib/math/ipow32 @@ -55654,90 +55640,6 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const -2 - call $~lib/math/ipow32 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3942 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const -1 - call $~lib/math/ipow32 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3943 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 2 - call $~lib/math/ipow32 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3946 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const -2 - call $~lib/math/ipow32 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3948 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const -1 - call $~lib/math/ipow32 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3949 - i32.const 0 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 2 - call $~lib/math/ipow32 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 3952 - i32.const 0 - call $~lib/builtins/abort - unreachable - end i32.const 1 i32.const 3 call $~lib/math/ipow32 From 2480ee8624f623fa2b98d41dcff0d98bd5942fcc Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 8 Mar 2020 03:04:35 +0200 Subject: [PATCH 39/64] simplify --- src/compiler.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 05ee68289d..0b6053e0cd 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4619,7 +4619,7 @@ export class Compiler extends DiagnosticEmitter { return this.module.unreachable(); } - let isLeftTypeBool = false; + let isLeftTypeBool = leftType.kind == TypeKind.BOOL; if (compound) { leftExpr = this.ensureSmallIntegerWrap(leftExpr, leftType); rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); @@ -4628,10 +4628,7 @@ export class Compiler extends DiagnosticEmitter { rightExpr = this.compileExpression(right, leftType); rightType = this.currentType; commonType = Type.commonDenominator(leftType, rightType, false); - isLeftTypeBool = leftType.kind == TypeKind.BOOL; if (commonType) { - isLeftTypeBool = !commonType.is(TypeFlags.FLOAT) && - (isLeftTypeBool || commonType.kind == TypeKind.BOOL); leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, true, // ! @@ -4655,7 +4652,7 @@ export class Compiler extends DiagnosticEmitter { } // special fast path for booleans - if (isLeftTypeBool) { + if (isLeftTypeBool || commonType.kind == TypeKind.BOOL && !commonType.is(TypeFlags.FLOAT)) { // leftExpr ? 1 : rightExpr == 0 if (commonType.size === 32) { expr = module.select( From 667a9bfd5f63c5993490557c549016a2567d921f Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 8 Mar 2020 04:34:30 +0200 Subject: [PATCH 40/64] simplify + add more tests --- src/compiler.ts | 2 +- tests/compiler/std/math.optimized.wat | 65 +++++++++++++++++++++++++ tests/compiler/std/math.ts | 8 ++- tests/compiler/std/math.untouched.wat | 70 +++++++++++++++++++++++++++ 4 files changed, 143 insertions(+), 2 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 0b6053e0cd..0be2dbedc1 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4652,7 +4652,7 @@ export class Compiler extends DiagnosticEmitter { } // special fast path for booleans - if (isLeftTypeBool || commonType.kind == TypeKind.BOOL && !commonType.is(TypeFlags.FLOAT)) { + if (isLeftTypeBool && !commonType.is(TypeFlags.FLOAT)) { // leftExpr ? 1 : rightExpr == 0 if (commonType.size === 32) { expr = module.select( diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 5f59f51977..a941abb433 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -47041,6 +47041,71 @@ call $~lib/builtins/abort unreachable end + f64.const 1 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 32 + i32.const 3973 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 32 + i32.const 3974 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const inf + f64.ne + if + i32.const 0 + i32.const 32 + i32.const 3975 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 32 + i32.const 3976 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 32 + i32.const 3977 + i32.const 0 + call $~lib/builtins/abort + unreachable + end ) (func $~start (; 175 ;) call $start:std/math diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index c597e44fb0..807c43b137 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3968,4 +3968,10 @@ assert(0xF123 ** 4 as u64 == 14521559183993082321); assert(0xF123 as u64 ** 4 == 14521559183993082321); // Fermat's Last Theorem assert((57055) ** 3 + (339590) ** 3 != (340126) ** 3); // On JS it return false -assert((57055) ** 3 + (339590) ** 3 == 39347712995520375); \ No newline at end of file +assert((57055) ** 3 + (339590) ** 3 == 39347712995520375); + +assert(1 ** 0.5 == 1.0); +assert(0 ** 0.5 == 0.0); +assert(0 ** -1.0 == Infinity); +assert(0.0 ** 0 == 1.0); +assert(1.0 ** 1 == 1.0); \ No newline at end of file diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 4611abef90..da16b2cb0d 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55860,6 +55860,76 @@ call $~lib/builtins/abort unreachable end + f64.const 1 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3973 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3974 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3975 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + f64.const 0 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3976 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 1 + call $~lib/math/NativeMath.pow + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3977 + i32.const 0 + call $~lib/builtins/abort + unreachable + end ) (func $~start (; 177 ;) call $start:std/math From 1acd61ce6f52bb490d9b9d499b4de66f4441fca5 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 8 Mar 2020 16:59:37 +0200 Subject: [PATCH 41/64] remove special case by adressed comments --- src/compiler.ts | 23 ------- tests/compiler/std/math.optimized.wat | 85 +++++++++++++++++++++++ tests/compiler/std/math.untouched.wat | 98 +++++++++++++++++++++++++++ 3 files changed, 183 insertions(+), 23 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 0be2dbedc1..92ecc99208 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4618,8 +4618,6 @@ export class Compiler extends DiagnosticEmitter { ); return this.module.unreachable(); } - - let isLeftTypeBool = leftType.kind == TypeKind.BOOL; if (compound) { leftExpr = this.ensureSmallIntegerWrap(leftExpr, leftType); rightExpr = this.compileExpression(right, leftType, Constraints.CONV_IMPLICIT); @@ -4651,27 +4649,6 @@ export class Compiler extends DiagnosticEmitter { } } - // special fast path for booleans - if (isLeftTypeBool && !commonType.is(TypeFlags.FLOAT)) { - // leftExpr ? 1 : rightExpr == 0 - if (commonType.size === 32) { - expr = module.select( - module.i32(1), - module.binary(BinaryOp.EqI32, rightExpr, module.i32(0)), - leftExpr - ); - break; - } - if (commonType.size === 64) { - expr = module.select( - module.i64(1), - module.binary(BinaryOp.EqI64, rightExpr, module.i64(0)), - leftExpr - ); - break; - } - } - let instance: Function | null; switch (commonType.kind) { case TypeKind.BOOL: { diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index a941abb433..f7fcc781a6 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46823,6 +46823,19 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + i32.const 3 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const -2 i32.const 3 call $~lib/math/ipow32 @@ -46836,6 +46849,78 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + i32.const -2 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const -1 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 2 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -2 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -1 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3952 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 1 i32.const 3 call $~lib/math/ipow32 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index da16b2cb0d..10512b56c6 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55626,6 +55626,20 @@ call $~lib/builtins/abort unreachable end + i32.const 1 + i32.const 3 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3939 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const -2 i32.const 3 call $~lib/math/ipow32 @@ -55640,6 +55654,90 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + i32.const -2 + call $~lib/math/ipow32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const -1 + call $~lib/math/ipow32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 2 + call $~lib/math/ipow32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3946 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -2 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3948 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const -1 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3949 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3952 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 1 i32.const 3 call $~lib/math/ipow32 From cbde99bd84af7cb3d46dc045580d3110c4258551 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 11 Mar 2020 22:35:18 +0200 Subject: [PATCH 42/64] special case for -1 ** -e --- src/glue/js/i64.js | 9 +- src/glue/wasm/i64.ts | 5 +- std/assembly/math.ts | 10 +- tests/compiler/binary.untouched.wat | 12 ++ tests/compiler/resolve-binary.untouched.wat | 12 ++ tests/compiler/std/math.optimized.wat | 104 ++++++++++---- tests/compiler/std/math.ts | 4 + tests/compiler/std/math.untouched.wat | 134 ++++++++++++++---- .../std/operator-overloading.untouched.wat | 12 ++ tests/compiler/std/string.untouched.wat | 12 ++ 10 files changed, 256 insertions(+), 58 deletions(-) diff --git a/src/glue/js/i64.js b/src/glue/js/i64.js index aeb9c708b8..72f0149c60 100644 --- a/src/glue/js/i64.js +++ b/src/glue/js/i64.js @@ -5,9 +5,9 @@ const Long = global.Long || require("long"); -global.i64_zero = Long.ZERO; - -global.i64_one = Long.ONE; +global.i64_zero = Long.ZERO; +global.i64_one = Long.ONE; +global.i64_neg_one = Long.fromInt(-1); global.i64_new = function(lo, hi) { return Long.fromBits(lo, hi); @@ -38,6 +38,9 @@ global.i64_pow = function(left, right) { var rightHi = right.high; if (rightHi <= 0) { if (rightHi < 0) { + if (left.eq(global.i64_neg_one)) { + return rightLo & 1 ? global.i64_neg_one : Long.ONE; + } return left.eq(Long.ONE) ? left : Long.ZERO; } if (rightLo == 0) return Long.ONE; diff --git a/src/glue/wasm/i64.ts b/src/glue/wasm/i64.ts index 918c52caec..bf4f1a1ae1 100644 --- a/src/glue/wasm/i64.ts +++ b/src/glue/wasm/i64.ts @@ -50,7 +50,10 @@ function i64_mul(left: i64, right: i64): i64 { // @ts-ignore: decorator @global function i64_pow(left: i64, right: i64): i64 { - if (right <= 0) return i64(right == 0) | i64(left == 1); + if (right <= 0) { + if (left == -1) return select(-1, 1, right & 1); + return i64(right == 0) | i64(left == 1); + } if (right == 1) return left; if (right == 2) return left * left; var result: i64 = 1; diff --git a/std/assembly/math.ts b/std/assembly/math.ts index de87f5bfed..b7655b1035 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3005,7 +3005,10 @@ export function ipow32(x: i32, e: i32): i32 { var out = 1; if (ASC_SHRINK_LEVEL < 1) { if (e < 32) { - if (e <= 0) return i32(e == 0) | i32(x == 1); + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i32(e == 0) | i32(x == 1); + } if (e == 1) return x; if (e == 2) return x * x; @@ -3052,7 +3055,10 @@ export function ipow64(x: i64, e: i64): i64 { var out: i64 = 1; if (ASC_SHRINK_LEVEL < 1) { if (e < 64) { - if (e <= 0) return i64(e == 0) | i64(x == 1); + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i64(e == 0) | i64(x == 1); + } if (e == 1) return x; if (e == 2) return x * x; diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index f7e4d7ea15..560b0da930 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -32,6 +32,18 @@ i32.const 0 i32.le_s if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end local.get $1 i32.const 0 i32.eq diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 06d7795c5d..ed0877ae52 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -4349,6 +4349,18 @@ i32.const 0 i32.le_s if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end local.get $1 i32.const 0 i32.eq diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index f7fcc781a6..a821fa559e 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46849,9 +46849,24 @@ call $~lib/builtins/abort unreachable end + i32.const -1 i32.const 0 - i32.const -2 call $~lib/math/ipow32 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const -1 + call $~lib/math/ipow32 + i32.const -1 + i32.ne if i32.const 0 i32.const 32 @@ -46860,9 +46875,11 @@ call $~lib/builtins/abort unreachable end - i32.const 0 i32.const -1 + i32.const -2 call $~lib/math/ipow32 + i32.const 1 + i32.ne if i32.const 0 i32.const 32 @@ -46871,8 +46888,21 @@ call $~lib/builtins/abort unreachable end + i32.const -1 + i32.const -3 + call $~lib/math/ipow32 + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 32 + i32.const 3944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 2 + i32.const -2 call $~lib/math/ipow32 if i32.const 0 @@ -46882,6 +46912,28 @@ call $~lib/builtins/abort unreachable end + i32.const 0 + i32.const -1 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3947 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 2 + call $~lib/math/ipow32 + if + i32.const 0 + i32.const 32 + i32.const 3950 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 1 i32.const -2 call $~lib/math/ipow32 @@ -46890,7 +46942,7 @@ if i32.const 0 i32.const 32 - i32.const 3948 + i32.const 3952 i32.const 0 call $~lib/builtins/abort unreachable @@ -46903,7 +46955,7 @@ if i32.const 0 i32.const 32 - i32.const 3949 + i32.const 3953 i32.const 0 call $~lib/builtins/abort unreachable @@ -46916,7 +46968,7 @@ if i32.const 0 i32.const 32 - i32.const 3952 + i32.const 3956 i32.const 0 call $~lib/builtins/abort unreachable @@ -46929,7 +46981,7 @@ if i32.const 0 i32.const 32 - i32.const 3954 + i32.const 3958 i32.const 0 call $~lib/builtins/abort unreachable @@ -46942,7 +46994,7 @@ if i32.const 0 i32.const 32 - i32.const 3955 + i32.const 3959 i32.const 0 call $~lib/builtins/abort unreachable @@ -46955,7 +47007,7 @@ if i32.const 0 i32.const 32 - i32.const 3956 + i32.const 3960 i32.const 0 call $~lib/builtins/abort unreachable @@ -46968,7 +47020,7 @@ if i32.const 0 i32.const 32 - i32.const 3957 + i32.const 3961 i32.const 0 call $~lib/builtins/abort unreachable @@ -46981,7 +47033,7 @@ if i32.const 0 i32.const 32 - i32.const 3960 + i32.const 3964 i32.const 0 call $~lib/builtins/abort unreachable @@ -46994,7 +47046,7 @@ if i32.const 0 i32.const 32 - i32.const 3961 + i32.const 3965 i32.const 0 call $~lib/builtins/abort unreachable @@ -47007,7 +47059,7 @@ if i32.const 0 i32.const 32 - i32.const 3962 + i32.const 3966 i32.const 0 call $~lib/builtins/abort unreachable @@ -47020,7 +47072,7 @@ if i32.const 0 i32.const 32 - i32.const 3963 + i32.const 3967 i32.const 0 call $~lib/builtins/abort unreachable @@ -47033,7 +47085,7 @@ if i32.const 0 i32.const 32 - i32.const 3964 + i32.const 3968 i32.const 0 call $~lib/builtins/abort unreachable @@ -47046,7 +47098,7 @@ if i32.const 0 i32.const 32 - i32.const 3965 + i32.const 3969 i32.const 0 call $~lib/builtins/abort unreachable @@ -47059,7 +47111,7 @@ if i32.const 0 i32.const 32 - i32.const 3966 + i32.const 3970 i32.const 0 call $~lib/builtins/abort unreachable @@ -47072,7 +47124,7 @@ if i32.const 0 i32.const 32 - i32.const 3967 + i32.const 3971 i32.const 0 call $~lib/builtins/abort unreachable @@ -47085,7 +47137,7 @@ if i32.const 0 i32.const 32 - i32.const 3968 + i32.const 3972 i32.const 0 call $~lib/builtins/abort unreachable @@ -47104,7 +47156,7 @@ if i32.const 0 i32.const 32 - i32.const 3970 + i32.const 3974 i32.const 0 call $~lib/builtins/abort unreachable @@ -47121,7 +47173,7 @@ if i32.const 0 i32.const 32 - i32.const 3971 + i32.const 3975 i32.const 0 call $~lib/builtins/abort unreachable @@ -47134,7 +47186,7 @@ if i32.const 0 i32.const 32 - i32.const 3973 + i32.const 3977 i32.const 0 call $~lib/builtins/abort unreachable @@ -47147,7 +47199,7 @@ if i32.const 0 i32.const 32 - i32.const 3974 + i32.const 3978 i32.const 0 call $~lib/builtins/abort unreachable @@ -47160,7 +47212,7 @@ if i32.const 0 i32.const 32 - i32.const 3975 + i32.const 3979 i32.const 0 call $~lib/builtins/abort unreachable @@ -47173,7 +47225,7 @@ if i32.const 0 i32.const 32 - i32.const 3976 + i32.const 3980 i32.const 0 call $~lib/builtins/abort unreachable @@ -47186,7 +47238,7 @@ if i32.const 0 i32.const 32 - i32.const 3977 + i32.const 3981 i32.const 0 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 807c43b137..f94671fd48 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -3938,6 +3938,10 @@ assert( 0 ** 0 == 1); assert( 0 ** 1 == 0); assert( 1 ** 3 == 1); assert((-2) ** 3 == -8); +assert((-1) ** 0 == 1); +assert((-1) ** -1 == -1); +assert((-1) ** -2 == 1); +assert((-1) ** -3 == -1); assert(false ** -2 == 0); assert(false ** -1 == 0); diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 10512b56c6..081fe03f48 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -15749,6 +15749,20 @@ i64.const 0 i64.le_s if + local.get $0 + i64.const -1 + i64.eq + if + i64.const -1 + i64.const 1 + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + select + return + end local.get $1 i64.const 0 i64.eq @@ -15977,6 +15991,18 @@ i32.const 0 i32.le_s if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end local.get $1 i32.const 0 i32.eq @@ -55654,6 +55680,62 @@ call $~lib/builtins/abort unreachable end + i32.const -1 + i32.const 0 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3941 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const -1 + call $~lib/math/ipow32 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3942 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const -2 + call $~lib/math/ipow32 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3943 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const -3 + call $~lib/math/ipow32 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3944 + i32.const 0 + call $~lib/builtins/abort + unreachable + end i32.const 0 i32.const -2 call $~lib/math/ipow32 @@ -55663,7 +55745,7 @@ if i32.const 0 i32.const 32 - i32.const 3942 + i32.const 3946 i32.const 0 call $~lib/builtins/abort unreachable @@ -55677,7 +55759,7 @@ if i32.const 0 i32.const 32 - i32.const 3943 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -55691,7 +55773,7 @@ if i32.const 0 i32.const 32 - i32.const 3946 + i32.const 3950 i32.const 0 call $~lib/builtins/abort unreachable @@ -55705,7 +55787,7 @@ if i32.const 0 i32.const 32 - i32.const 3948 + i32.const 3952 i32.const 0 call $~lib/builtins/abort unreachable @@ -55719,7 +55801,7 @@ if i32.const 0 i32.const 32 - i32.const 3949 + i32.const 3953 i32.const 0 call $~lib/builtins/abort unreachable @@ -55733,7 +55815,7 @@ if i32.const 0 i32.const 32 - i32.const 3952 + i32.const 3956 i32.const 0 call $~lib/builtins/abort unreachable @@ -55747,7 +55829,7 @@ if i32.const 0 i32.const 32 - i32.const 3954 + i32.const 3958 i32.const 0 call $~lib/builtins/abort unreachable @@ -55761,7 +55843,7 @@ if i32.const 0 i32.const 32 - i32.const 3955 + i32.const 3959 i32.const 0 call $~lib/builtins/abort unreachable @@ -55775,7 +55857,7 @@ if i32.const 0 i32.const 32 - i32.const 3956 + i32.const 3960 i32.const 0 call $~lib/builtins/abort unreachable @@ -55789,7 +55871,7 @@ if i32.const 0 i32.const 32 - i32.const 3957 + i32.const 3961 i32.const 0 call $~lib/builtins/abort unreachable @@ -55803,7 +55885,7 @@ if i32.const 0 i32.const 32 - i32.const 3960 + i32.const 3964 i32.const 0 call $~lib/builtins/abort unreachable @@ -55817,7 +55899,7 @@ if i32.const 0 i32.const 32 - i32.const 3961 + i32.const 3965 i32.const 0 call $~lib/builtins/abort unreachable @@ -55831,7 +55913,7 @@ if i32.const 0 i32.const 32 - i32.const 3962 + i32.const 3966 i32.const 0 call $~lib/builtins/abort unreachable @@ -55845,7 +55927,7 @@ if i32.const 0 i32.const 32 - i32.const 3963 + i32.const 3967 i32.const 0 call $~lib/builtins/abort unreachable @@ -55859,7 +55941,7 @@ if i32.const 0 i32.const 32 - i32.const 3964 + i32.const 3968 i32.const 0 call $~lib/builtins/abort unreachable @@ -55873,7 +55955,7 @@ if i32.const 0 i32.const 32 - i32.const 3965 + i32.const 3969 i32.const 0 call $~lib/builtins/abort unreachable @@ -55887,7 +55969,7 @@ if i32.const 0 i32.const 32 - i32.const 3966 + i32.const 3970 i32.const 0 call $~lib/builtins/abort unreachable @@ -55901,7 +55983,7 @@ if i32.const 0 i32.const 32 - i32.const 3967 + i32.const 3971 i32.const 0 call $~lib/builtins/abort unreachable @@ -55915,7 +55997,7 @@ if i32.const 0 i32.const 32 - i32.const 3968 + i32.const 3972 i32.const 0 call $~lib/builtins/abort unreachable @@ -55935,7 +56017,7 @@ if i32.const 0 i32.const 32 - i32.const 3970 + i32.const 3974 i32.const 0 call $~lib/builtins/abort unreachable @@ -55953,7 +56035,7 @@ if i32.const 0 i32.const 32 - i32.const 3971 + i32.const 3975 i32.const 0 call $~lib/builtins/abort unreachable @@ -55967,7 +56049,7 @@ if i32.const 0 i32.const 32 - i32.const 3973 + i32.const 3977 i32.const 0 call $~lib/builtins/abort unreachable @@ -55981,7 +56063,7 @@ if i32.const 0 i32.const 32 - i32.const 3974 + i32.const 3978 i32.const 0 call $~lib/builtins/abort unreachable @@ -55995,7 +56077,7 @@ if i32.const 0 i32.const 32 - i32.const 3975 + i32.const 3979 i32.const 0 call $~lib/builtins/abort unreachable @@ -56009,7 +56091,7 @@ if i32.const 0 i32.const 32 - i32.const 3976 + i32.const 3980 i32.const 0 call $~lib/builtins/abort unreachable @@ -56023,7 +56105,7 @@ if i32.const 0 i32.const 32 - i32.const 3977 + i32.const 3981 i32.const 0 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 0c800d5acf..8aac73339f 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -362,6 +362,18 @@ i32.const 0 i32.le_s if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end local.get $1 i32.const 0 i32.eq diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index b068655d42..ead01b6109 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -5297,6 +5297,18 @@ i32.const 0 i32.le_s if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end local.get $1 i32.const 0 i32.eq From 93bf22f3859ca71852abb7be1cb29e2adf8cc457 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 11 Mar 2020 22:46:30 +0200 Subject: [PATCH 43/64] update --- src/glue/js/i64.js | 2 +- src/glue/wasm/i64.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/glue/js/i64.js b/src/glue/js/i64.js index 72f0149c60..3c6f7bded1 100644 --- a/src/glue/js/i64.js +++ b/src/glue/js/i64.js @@ -39,7 +39,7 @@ global.i64_pow = function(left, right) { if (rightHi <= 0) { if (rightHi < 0) { if (left.eq(global.i64_neg_one)) { - return rightLo & 1 ? global.i64_neg_one : Long.ONE; + return rightLo & 1 ? left : Long.ONE; } return left.eq(Long.ONE) ? left : Long.ZERO; } diff --git a/src/glue/wasm/i64.ts b/src/glue/wasm/i64.ts index bf4f1a1ae1..a4ccb5a801 100644 --- a/src/glue/wasm/i64.ts +++ b/src/glue/wasm/i64.ts @@ -11,6 +11,10 @@ const i64_zero: i64 = 0; @global const i64_one: i64 = 1; +// @ts-ignore: decorator +@global +const i64_neg_one: i64 = -1; + // @ts-ignore: decorator @global function i64_new(lo: i32, hi: i32 = 0): i64 { From 15bd49d0f1b12bc4d23b78bf0e7c0cdc9a58a4f2 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 12 Mar 2020 00:13:16 +0200 Subject: [PATCH 44/64] refactor ipow32 / ipow64 --- std/assembly/math.ts | 30 +- tests/compiler/binary.untouched.wat | 231 ++++---- tests/compiler/resolve-binary.untouched.wat | 231 ++++---- tests/compiler/std/math.untouched.wat | 496 +++++++++--------- .../std/operator-overloading.untouched.wat | 231 ++++---- tests/compiler/std/string.untouched.wat | 231 ++++---- 6 files changed, 733 insertions(+), 717 deletions(-) diff --git a/std/assembly/math.ts b/std/assembly/math.ts index b7655b1035..cd3326bafc 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -3004,14 +3004,13 @@ export namespace NativeMathf { export function ipow32(x: i32, e: i32): i32 { var out = 1; if (ASC_SHRINK_LEVEL < 1) { - if (e < 32) { - if (e <= 0) { - if (x == -1) return select(-1, 1, e & 1); - return i32(e == 0) | i32(x == 1); - } - if (e == 1) return x; - if (e == 2) return x * x; - + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i32(e == 0) | i32(x == 1); + } + else if (e == 1) return x; + else if (e == 2) return x * x; + else if (e < 32) { let log = 32 - clz(e); // 32 = 2 ^ 5, so need only five cases. // But some extra cases needs for properly overflowing @@ -3054,14 +3053,13 @@ export function ipow32(x: i32, e: i32): i32 { export function ipow64(x: i64, e: i64): i64 { var out: i64 = 1; if (ASC_SHRINK_LEVEL < 1) { - if (e < 64) { - if (e <= 0) { - if (x == -1) return select(-1, 1, e & 1); - return i64(e == 0) | i64(x == 1); - } - if (e == 1) return x; - if (e == 2) return x * x; - + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i64(e == 0) | i64(x == 1); + } + else if (e == 1) return x; + else if (e == 2) return x * x; + else if (e < 64) { let log = 64 - clz(e); // 64 = 2 ^ 6, so need only six cases. // But some extra cases needs for properly overflowing diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index 560b0da930..c264abaa63 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -25,84 +25,138 @@ i32.const 1 local.set $2 local.get $1 - i32.const 32 - i32.lt_s + i32.const 0 + i32.le_s if - local.get $1 - i32.const 0 - i32.le_s + local.get $0 + i32.const -1 + i32.eq if - local.get $0 i32.const -1 - i32.eq - if - i32.const -1 - i32.const 1 - local.get $1 - i32.const 1 - i32.and - select - return - end + i32.const 1 local.get $1 - i32.const 0 - i32.eq - local.get $0 i32.const 1 - i32.eq - i32.or + i32.and + select return end local.get $1 + i32.const 0 + i32.eq + local.get $0 i32.const 1 i32.eq - if - local.get $0 - return - end + i32.or + return + else local.get $1 - i32.const 2 + i32.const 1 i32.eq if local.get $0 - local.get $0 - i32.mul return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $3 - local.set $4 - local.get $4 - i32.const 5 - i32.eq - br_if $case0|0 - local.get $4 - i32.const 4 - i32.eq - br_if $case1|0 - local.get $4 - i32.const 3 - i32.eq - br_if $case2|0 - local.get $4 - i32.const 2 - i32.eq - br_if $case3|0 - local.get $4 + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 i32.const 1 - i32.eq - br_if $case4|0 - br $break|0 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end local.get $1 i32.const 1 @@ -131,63 +185,12 @@ i32.mul local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if local.get $2 - local.get $0 - i32.mul - local.set $2 + return end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end end - local.get $2 - return end loop $while-continue|1 local.get $1 diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index ed0877ae52..f2479576df 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -4342,84 +4342,138 @@ i32.const 1 local.set $2 local.get $1 - i32.const 32 - i32.lt_s + i32.const 0 + i32.le_s if - local.get $1 - i32.const 0 - i32.le_s + local.get $0 + i32.const -1 + i32.eq if - local.get $0 i32.const -1 - i32.eq - if - i32.const -1 - i32.const 1 - local.get $1 - i32.const 1 - i32.and - select - return - end + i32.const 1 local.get $1 - i32.const 0 - i32.eq - local.get $0 i32.const 1 - i32.eq - i32.or + i32.and + select return end local.get $1 + i32.const 0 + i32.eq + local.get $0 i32.const 1 i32.eq - if - local.get $0 - return - end + i32.or + return + else local.get $1 - i32.const 2 + i32.const 1 i32.eq if local.get $0 - local.get $0 - i32.mul return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $3 - local.set $4 - local.get $4 - i32.const 5 - i32.eq - br_if $case0|0 - local.get $4 - i32.const 4 - i32.eq - br_if $case1|0 - local.get $4 - i32.const 3 - i32.eq - br_if $case2|0 - local.get $4 - i32.const 2 - i32.eq - br_if $case3|0 - local.get $4 + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 i32.const 1 - i32.eq - br_if $case4|0 - br $break|0 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end local.get $1 i32.const 1 @@ -4448,63 +4502,12 @@ i32.mul local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if local.get $2 - local.get $0 - i32.mul - local.set $2 + return end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end end - local.get $2 - return end loop $while-continue|1 local.get $1 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 081fe03f48..a9a10aa4ec 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -15742,94 +15742,154 @@ i64.const 1 local.set $2 local.get $1 - i64.const 64 - i64.lt_s + i64.const 0 + i64.le_s if - local.get $1 - i64.const 0 - i64.le_s + local.get $0 + i64.const -1 + i64.eq if - local.get $0 i64.const -1 - i64.eq - if - i64.const -1 - i64.const 1 - local.get $1 - i64.const 1 - i64.and - i64.const 0 - i64.ne - select - return - end + i64.const 1 local.get $1 - i64.const 0 - i64.eq - i64.extend_i32_u - local.get $0 i64.const 1 - i64.eq - i64.extend_i32_u - i64.or + i64.and + i64.const 0 + i64.ne + select return end local.get $1 + i64.const 0 + i64.eq + i64.extend_i32_u + local.get $0 i64.const 1 i64.eq - if - local.get $0 - return - end + i64.extend_i32_u + i64.or + return + else local.get $1 - i64.const 2 + i64.const 1 i64.eq if local.get $0 - local.get $0 - i64.mul return - end - i32.const 64 - local.get $1 - i64.clz - i32.wrap_i64 - i32.sub - local.set $3 - block $break|0 - block $case5|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $3 - local.set $4 - local.get $4 - i32.const 6 - i32.eq - br_if $case0|0 - local.get $4 - i32.const 5 - i32.eq - br_if $case1|0 - local.get $4 - i32.const 4 - i32.eq - br_if $case2|0 - local.get $4 - i32.const 3 - i32.eq - br_if $case3|0 - local.get $4 - i32.const 2 - i32.eq - br_if $case4|0 - local.get $4 - i32.const 1 - i32.eq - br_if $case5|0 - br $break|0 + else + local.get $1 + i64.const 2 + i64.eq + if + local.get $0 + local.get $0 + i64.mul + return + else + local.get $1 + i64.const 64 + i64.lt_s + if + i32.const 64 + local.get $1 + i64.clz + i32.wrap_i64 + i32.sub + local.set $3 + block $break|0 + block $case5|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 6 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 5 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case4|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case5|0 + br $break|0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_u + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_u + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 + end + local.get $1 + i64.const 1 + i64.and + i64.const 0 + i64.ne + if + local.get $2 + local.get $0 + i64.mul + local.set $2 + end + local.get $1 + i64.const 1 + i64.shr_u + local.set $1 + local.get $0 + local.get $0 + i64.mul + local.set $0 end local.get $1 i64.const 1 @@ -15882,69 +15942,12 @@ i64.mul local.set $2 end - local.get $1 - i64.const 1 - i64.shr_u - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 end - local.get $1 - i64.const 1 - i64.and - i64.const 0 - i64.ne - if - local.get $2 - local.get $0 - i64.mul - local.set $2 - end - local.get $1 - i64.const 1 - i64.shr_u - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - end - local.get $1 - i64.const 1 - i64.and - i64.const 0 - i64.ne - if local.get $2 - local.get $0 - i64.mul - local.set $2 + return end - local.get $1 - i64.const 1 - i64.shr_u - local.set $1 - local.get $0 - local.get $0 - i64.mul - local.set $0 - end - local.get $1 - i64.const 1 - i64.and - i64.const 0 - i64.ne - if - local.get $2 - local.get $0 - i64.mul - local.set $2 end end - local.get $2 - return end loop $while-continue|1 local.get $1 @@ -15984,84 +15987,138 @@ i32.const 1 local.set $2 local.get $1 - i32.const 32 - i32.lt_s + i32.const 0 + i32.le_s if - local.get $1 - i32.const 0 - i32.le_s + local.get $0 + i32.const -1 + i32.eq if - local.get $0 i32.const -1 - i32.eq - if - i32.const -1 - i32.const 1 - local.get $1 - i32.const 1 - i32.and - select - return - end + i32.const 1 local.get $1 - i32.const 0 - i32.eq - local.get $0 i32.const 1 - i32.eq - i32.or + i32.and + select return end local.get $1 + i32.const 0 + i32.eq + local.get $0 i32.const 1 i32.eq - if - local.get $0 - return - end + i32.or + return + else local.get $1 - i32.const 2 + i32.const 1 i32.eq if local.get $0 - local.get $0 - i32.mul return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $3 - local.set $4 - local.get $4 - i32.const 5 - i32.eq - br_if $case0|0 - local.get $4 - i32.const 4 - i32.eq - br_if $case1|0 - local.get $4 - i32.const 3 - i32.eq - br_if $case2|0 - local.get $4 - i32.const 2 - i32.eq - br_if $case3|0 - local.get $4 + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 i32.const 1 - i32.eq - br_if $case4|0 - br $break|0 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end local.get $1 i32.const 1 @@ -16090,63 +16147,12 @@ i32.mul local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if local.get $2 - local.get $0 - i32.mul - local.set $2 + return end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end end - local.get $2 - return end loop $while-continue|1 local.get $1 diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 8aac73339f..534d0a8315 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -355,84 +355,138 @@ i32.const 1 local.set $2 local.get $1 - i32.const 32 - i32.lt_s + i32.const 0 + i32.le_s if - local.get $1 - i32.const 0 - i32.le_s + local.get $0 + i32.const -1 + i32.eq if - local.get $0 i32.const -1 - i32.eq - if - i32.const -1 - i32.const 1 - local.get $1 - i32.const 1 - i32.and - select - return - end + i32.const 1 local.get $1 - i32.const 0 - i32.eq - local.get $0 i32.const 1 - i32.eq - i32.or + i32.and + select return end local.get $1 + i32.const 0 + i32.eq + local.get $0 i32.const 1 i32.eq - if - local.get $0 - return - end + i32.or + return + else local.get $1 - i32.const 2 + i32.const 1 i32.eq if local.get $0 - local.get $0 - i32.mul return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $3 - local.set $4 - local.get $4 - i32.const 5 - i32.eq - br_if $case0|0 - local.get $4 - i32.const 4 - i32.eq - br_if $case1|0 - local.get $4 - i32.const 3 - i32.eq - br_if $case2|0 - local.get $4 - i32.const 2 - i32.eq - br_if $case3|0 - local.get $4 + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 i32.const 1 - i32.eq - br_if $case4|0 - br $break|0 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end local.get $1 i32.const 1 @@ -461,63 +515,12 @@ i32.mul local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if local.get $2 - local.get $0 - i32.mul - local.set $2 + return end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end end - local.get $2 - return end loop $while-continue|1 local.get $1 diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index ead01b6109..dc2a1dcb77 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -5290,84 +5290,138 @@ i32.const 1 local.set $2 local.get $1 - i32.const 32 - i32.lt_s + i32.const 0 + i32.le_s if - local.get $1 - i32.const 0 - i32.le_s + local.get $0 + i32.const -1 + i32.eq if - local.get $0 i32.const -1 - i32.eq - if - i32.const -1 - i32.const 1 - local.get $1 - i32.const 1 - i32.and - select - return - end + i32.const 1 local.get $1 - i32.const 0 - i32.eq - local.get $0 i32.const 1 - i32.eq - i32.or + i32.and + select return end local.get $1 + i32.const 0 + i32.eq + local.get $0 i32.const 1 i32.eq - if - local.get $0 - return - end + i32.or + return + else local.get $1 - i32.const 2 + i32.const 1 i32.eq if local.get $0 - local.get $0 - i32.mul return - end - i32.const 32 - local.get $1 - i32.clz - i32.sub - local.set $3 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $3 - local.set $4 - local.get $4 - i32.const 5 - i32.eq - br_if $case0|0 - local.get $4 - i32.const 4 - i32.eq - br_if $case1|0 - local.get $4 - i32.const 3 - i32.eq - br_if $case2|0 - local.get $4 - i32.const 2 - i32.eq - br_if $case3|0 - local.get $4 + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 i32.const 1 - i32.eq - br_if $case4|0 - br $break|0 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end local.get $1 i32.const 1 @@ -5396,63 +5450,12 @@ i32.mul local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if local.get $2 - local.get $0 - i32.mul - local.set $2 + return end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 end end - local.get $2 - return end loop $while-continue|1 local.get $1 From bc8ebd58cf07a2069a00d22056b9150a9aefab06 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Fri, 13 Mar 2020 18:21:07 +0200 Subject: [PATCH 45/64] rebuild --- tests/compiler/resolve-binary.optimized.wat | 154 ++- tests/compiler/std/math.optimized.wat | 114 +- .../std/operator-overloading.optimized.wat | 1041 +---------------- 3 files changed, 136 insertions(+), 1173 deletions(-) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 9eaff33f7b..fb4d698b7b 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1,12 +1,10 @@ (module (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_i32 (func (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) (type $i32_i64_i32_i64_i32_i64_=>_i32 (func (param i32 i64 i32 i64 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) @@ -1368,68 +1366,10 @@ call $~lib/memory/memory.copy local.get $2 ) - (func $~lib/util/number/dtoa (; 13 ;) (result i32) + (func $start:resolve-binary (; 13 ;) (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $0 - call $~lib/util/number/dtoa_core - local.tee $1 - i32.const 28 - i32.eq - if - local.get $0 - return - end - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 70 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1424 - i32.const 72 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $0 - local.get $1 - i32.load - i32.add - i32.eq - if - local.get $1 - global.set $~lib/rt/stub/offset - end - ) - (func $start:resolve-binary (; 14 ;) i32.const 32 i32.const 32 call $~lib/string/String.__eq @@ -1600,7 +1540,62 @@ global.set $resolve-binary/f f64.const 4 global.set $resolve-binary/f - call $~lib/util/number/dtoa + i32.const 56 + i32.const 1 + call $~lib/rt/stub/__alloc + local.tee $1 + call $~lib/util/number/dtoa_core + local.tee $0 + i32.const 28 + i32.ne + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + select + i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 70 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1424 + i32.const 72 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/stub/offset + local.get $1 + local.get $2 + i32.load + i32.add + i32.eq + if + local.get $2 + global.set $~lib/rt/stub/offset + end + local.set $1 + end + local.get $1 i32.const 1472 call $~lib/string/String.__eq i32.eqz @@ -1813,8 +1808,37 @@ call $~lib/builtins/abort unreachable end - call $~lib/math/ipow32 - call $~lib/util/number/itoa32 + i32.const 2 + local.set $1 + i32.const 2 + local.set $0 + i32.const 1 + local.set $2 + loop $while-continue|0 + local.get $1 + if + local.get $0 + local.get $2 + i32.mul + local.get $2 + local.get $1 + i32.const 1 + i32.and + select + local.set $2 + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|0 + end + end + local.get $2 + call $~lib/number/I32#toString i32.const 1504 call $~lib/string/String.__eq i32.eqz @@ -2137,7 +2161,7 @@ unreachable end ) - (func $~start (; 15 ;) + (func $~start (; 14 ;) call $start:resolve-binary ) ) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 3c6352c120..0700402a46 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -10,8 +10,6 @@ (type $f32_f32_f32_f32_=>_i32 (func (param f32 f32 f32 f32) (result i32))) (type $f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64) (result i32))) (type $none_=>_none (func)) - (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i64_=>_none (func (param i64))) (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) @@ -23,9 +21,11 @@ (type $f64_=>_i32 (func (param f64) (result i32))) (type $f64_i32_f64_=>_i32 (func (param f64 i32 f64) (result i32))) (type $i64_=>_i64 (func (param i64) (result i64))) - (type $i64_i32_=>_i64 (func (param i64 i32) (result i64))) + (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) + (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) (type $f32_f32_f32_=>_f32 (func (param f32 f32 f32) (result f32))) (type $none_=>_f64 (func (result f64))) + (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) (type $f64_f64_f64_=>_f64 (func (param f64 f64 f64) (result f64))) (import "Math" "E" (global $~lib/bindings/Math/E f64)) @@ -11292,7 +11292,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 161 ;) (param $0 i64) (param $1 i32) (result i64) + (func $~lib/math/ipow64 (; 161 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) i64.const 1 local.set $2 @@ -11325,68 +11325,14 @@ end local.get $2 ) - (func $~lib/math/ipow32f (; 162 ;) (param $0 f32) (param $1 i32) (result f32) - (local $2 f32) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor - local.set $1 - f32.const 1 + (func $~lib/math/ipow32 (; 162 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + i32.const 1 local.set $2 loop $while-continue|0 local.get $1 if local.get $0 - f32.const 1 - local.get $1 - i32.const 1 - i32.and - select - f32.mul - local.set $2 - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - f32.mul - local.set $0 - br $while-continue|0 - end - end - local.get $3 - if - f32.const 1 - local.get $2 - f32.div - local.set $2 - end - local.get $2 - ) - (func $~lib/math/ipow64f (; 163 ;) (param $0 f64) (param $1 i32) (result f64) - (local $2 f64) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor - local.set $1 - f64.const 1 - local.set $2 - loop $while-continue|0 - local.get $1 - if local.get $2 i32.mul local.get $2 @@ -11408,15 +11354,15 @@ end local.get $2 ) - (func $start:std/math (; 164 ;) + (func $start:std/math (; 163 ;) (local $0 f64) - (local $1 f32) - (local $2 i32) + (local $1 i32) + (local $2 i64) (local $3 i64) - (local $4 i64) + (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 f64) + (local $6 f64) + (local $7 f32) (local $8 f32) f64.const 2.718281828459045 global.get $~lib/bindings/Math/E @@ -36771,28 +36717,28 @@ unreachable end global.get $~lib/math/random_state0_64 - local.set $3 + local.set $2 global.get $~lib/math/random_state1_64 - local.tee $4 + local.tee $3 global.set $~lib/math/random_state0_64 - local.get $4 - local.get $3 local.get $3 + local.get $2 + local.get $2 i64.const 23 i64.shl i64.xor - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i64.const 17 i64.shr_u i64.xor i64.xor - local.get $4 + local.get $3 i64.const 26 i64.shr_u i64.xor global.set $~lib/math/random_state1_64 - local.get $4 + local.get $3 i64.const 12 i64.shr_u i64.const 4607182418800017408 @@ -36846,24 +36792,24 @@ unreachable end global.get $~lib/math/random_state0_32 - local.tee $5 + local.tee $4 global.get $~lib/math/random_state1_32 i32.xor - local.tee $6 - local.get $5 + local.tee $5 + local.get $4 i32.const 26 i32.rotl i32.xor - local.get $6 + local.get $5 i32.const 9 i32.shl i32.xor global.set $~lib/math/random_state0_32 - local.get $6 + local.get $5 i32.const 13 i32.rotl global.set $~lib/math/random_state1_32 - local.get $5 + local.get $4 i32.const -1640531525 i32.mul i32.const 5 @@ -36877,11 +36823,11 @@ f32.reinterpret_i32 f32.const 1 f32.sub - local.tee $1 + local.tee $7 f32.const 1 f32.lt i32.const 0 - local.get $1 + local.get $7 f32.const 0 f32.ge select @@ -47241,7 +47187,7 @@ unreachable end ) - (func $~start (; 165 ;) + (func $~start (; 164 ;) call $start:std/math ) ) diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index e06b8bdb87..0eb65e93ed 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -154,921 +154,17 @@ i32.store offset=4 local.get $2 ) - (func $~lib/math/NativeMath.scalbn (; 3 ;) (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 ;) (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 f64) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 i64) - (local $15 f64) - (local $16 i32) - (local $17 i32) - (local $18 f64) - (local $19 i32) - (local $20 i32) - local.get $1 - f64.abs - f64.const 2 - f64.le - if - local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const -inf - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - local.get $0 - i64.reinterpret_f64 - local.tee $14 - i32.wrap_i64 - local.set $19 - local.get $14 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $16 - i32.const 2147483647 - i32.and - local.set $4 - local.get $1 - i64.reinterpret_f64 - local.tee $14 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 2147483647 - i32.and - local.tee $8 - local.get $14 - i32.wrap_i64 - local.tee $20 - i32.or - i32.eqz - if - f64.const 1 - return - end - i32.const 1 - local.get $20 - i32.const 0 - local.get $8 - i32.const 2146435072 - i32.eq - select - i32.const 1 - local.get $8 - i32.const 2146435072 - i32.gt_s + (func $~lib/math/ipow32 (; 3 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) i32.const 1 - local.get $19 - i32.const 0 - local.get $4 - i32.const 2146435072 - i32.eq - select - local.get $4 - i32.const 2146435072 - i32.gt_s - select - select - select - if - local.get $0 + local.set $2 + loop $while-continue|0 local.get $1 - f64.add - return - end - local.get $16 - 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) - i32.const 52 - i32.const 20 - local.get $8 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $9 - i32.const 20 - i32.gt_s - local.tee $5 - select - local.get $9 - i32.sub - local.set $10 - i32.const 2 - local.get $20 - local.get $8 - local.get $5 - select - local.tee $5 - local.get $10 - i32.shr_u - local.tee $9 - i32.const 1 - i32.and - i32.sub - i32.const 0 - local.get $5 - local.get $9 - local.get $10 - i32.shl - i32.eq - select - else - i32.const 0 - end - end - local.set $5 - end - local.get $20 - i32.eqz - if - local.get $8 - i32.const 2146435072 - i32.eq - if - local.get $19 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if - local.get $4 - i32.const 1072693248 - i32.ge_s - if - local.get $1 - f64.const 0 - local.get $7 - i32.const 0 - i32.ge_s - select - return - else - local.get $1 - f64.neg - f64.const 0 - local.get $7 - i32.const 0 - i32.lt_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 $7 - i32.const 0 - i32.ge_s - if - local.get $0 - return - end - f64.const 1 - local.get $0 - f64.div - return - end - local.get $7 - i32.const 1073741824 - i32.eq if local.get $0 - local.get $0 - f64.mul - return - end - local.get $7 - i32.const 1071644672 - i32.eq - if - local.get $16 - i32.const 0 - i32.ge_s - if - local.get $0 - f64.sqrt - return - end - end - end - local.get $0 - f64.abs - local.set $2 - local.get $19 - i32.eqz - if - i32.const 1 - local.get $4 - i32.const 1072693248 - i32.eq - local.get $4 - i32.const 2146435072 - i32.eq - i32.const 1 - local.get $4 - select - select - if - f64.const 1 local.get $2 - f64.div + i32.mul local.get $2 - local.get $7 - i32.const 0 - i32.lt_s - select - local.set $2 - local.get $16 - i32.const 0 - i32.lt_s - if (result f64) - local.get $5 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if (result f64) - local.get $2 - f64.neg - local.get $2 - local.get $5 - i32.const 1 - i32.eq - select - else - local.get $2 - local.get $2 - f64.sub - local.tee $0 - local.get $0 - f64.div - end - else - local.get $2 - end - return - end - end - f64.const 1 - local.set $6 - local.get $16 - i32.const 0 - i32.lt_s - if - local.get $5 - 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 $5 - i32.const 1 - i32.eq - select - local.set $6 - 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 $4 - i32.const 1072693247 - i32.le_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.ge_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - end - local.get $4 - i32.const 1072693247 - i32.lt_s - if - local.get $6 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $6 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.gt_s - if - local.get $6 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $6 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - f64.const 1.4426950216293335 - local.get $2 - f64.const 1 - f64.sub - local.tee $0 - f64.mul - local.tee $2 - local.get $0 - f64.const 1.9259629911266175e-08 - f64.mul - local.get $0 - local.get $0 - f64.mul - f64.const 0.5 - local.get $0 - f64.const 0.3333333333333333 - local.get $0 - f64.const 0.25 - f64.mul - f64.sub - f64.mul - f64.sub - f64.mul - 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 $11 - local.get $0 - local.get $11 - local.get $2 - f64.sub - f64.sub - else - local.get $4 - i32.const 1048576 - i32.lt_s - if (result i32) - local.get $2 - f64.const 9007199254740992 - f64.mul - local.tee $2 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $4 - i32.const -53 - else - i32.const 0 - end - local.get $4 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - i32.add - local.set $7 - local.get $4 - i32.const 1048575 - i32.and - local.tee $5 - i32.const 1072693248 - i32.or - local.set $4 - local.get $5 - i32.const 235662 - i32.gt_s - if - local.get $5 - i32.const 767610 - i32.lt_s - if - i32.const 1 - local.set $17 - else - local.get $7 - i32.const 1 - i32.add - local.set $7 - local.get $4 - i32.const -1048576 - i32.add - local.set $4 - end - end - local.get $2 - i64.reinterpret_f64 - i64.const 4294967295 - i64.and - local.get $4 - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - local.tee $12 - f64.const 1.5 - f64.const 1 - local.get $17 - select - local.tee $3 - f64.sub - local.tee $2 - f64.const 1 - local.get $12 - local.get $3 - f64.add - f64.div - local.tee $0 - f64.mul - local.tee $18 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $15 - local.get $15 - f64.mul - local.set $11 - f64.const 0.9617967009544373 - local.get $15 - f64.const 3 - local.get $11 - f64.add - local.get $18 - local.get $18 - f64.mul - local.tee $13 - local.get $13 - f64.mul - f64.const 0.5999999999999946 - local.get $13 - f64.const 0.4285714285785502 - local.get $13 - f64.const 0.33333332981837743 - local.get $13 - f64.const 0.272728123808534 - local.get $13 - f64.const 0.23066074577556175 - local.get $13 - 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 $0 - local.get $2 - local.get $15 - local.get $4 - i32.const 1 - i32.shr_s - i32.const 536870912 - i32.or - i32.const 524288 - i32.add - local.get $17 - i32.const 18 - i32.shl - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.tee $0 - f64.mul - f64.sub - local.get $15 - local.get $12 - local.get $0 - local.get $3 - f64.sub - f64.sub - f64.mul - f64.sub - f64.mul - local.tee $3 - local.get $15 - 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 $12 - f64.mul - local.tee $2 - local.get $3 - local.get $12 - f64.mul - local.get $0 - local.get $12 - f64.const 3 - f64.sub - local.get $11 - 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 $12 - f64.const -7.028461650952758e-09 - local.get $3 - f64.mul - local.get $0 - local.get $3 - local.get $2 - f64.sub - f64.sub - f64.const 0.9617966939259756 - f64.mul - f64.add - f64.const 1.350039202129749e-08 - f64.const 0 - local.get $17 - select - f64.add - local.tee $3 - f64.add - f64.const 0.5849624872207642 - f64.const 0 - local.get $17 - select - local.tee $2 - f64.add - local.get $7 - f64.convert_i32_s - local.tee $0 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $11 - local.get $3 - local.get $11 - local.get $0 - f64.sub - local.get $2 - f64.sub - local.get $12 - f64.sub - f64.sub - end - local.set $2 - local.get $1 - local.get $1 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - f64.sub - local.get $11 - f64.mul - local.get $1 - local.get $2 - f64.mul - f64.add - local.tee $1 - local.get $0 - local.get $11 - f64.mul - local.tee $3 - f64.add - local.tee $0 - i64.reinterpret_f64 - local.tee $14 - i32.wrap_i64 - local.set $5 - block $folding-inner1 - block $folding-inner0 - local.get $14 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $10 - i32.const 1083179008 - i32.ge_s - if - local.get $5 - local.get $10 - i32.const 1083179008 - i32.sub - i32.or - local.get $1 - f64.const 8.008566259537294e-17 - f64.add - local.get $0 - local.get $3 - f64.sub - f64.gt - i32.or - br_if $folding-inner0 - else - local.get $10 - i32.const 2147483647 - i32.and - i32.const 1083231232 - i32.ge_s - i32.const 0 - local.get $5 - local.get $10 - i32.const -1064252416 - i32.sub - i32.or - local.get $1 - local.get $0 - local.get $3 - f64.sub - f64.le - i32.or - select - br_if $folding-inner1 - end - local.get $10 - i32.const 2147483647 - i32.and - local.tee $9 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.set $5 - i32.const 0 - local.set $7 - local.get $9 - i32.const 1071644672 - i32.gt_s - if - i32.const 1048575 - local.get $10 - i32.const 1048576 - local.get $5 - i32.const 1 - i32.add - i32.shr_s - i32.add - local.tee $9 - i32.const 2147483647 - i32.and - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $5 - i32.shr_s - i32.const -1 - i32.xor - local.get $9 - i32.and - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $0 - i32.const 0 - local.get $9 - i32.const 1048575 - i32.and - i32.const 1048576 - i32.or - i32.const 20 - local.get $5 - i32.sub - i32.shr_s - local.tee $7 - i32.sub - local.get $7 - local.get $10 - i32.const 0 - i32.lt_s - select - local.set $7 - 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 $2 local.get $1 i32.const 1 i32.and @@ -1079,112 +175,15 @@ i32.shr_u local.set $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 + i32.mul local.set $0 - local.get $6 - 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 $2 - 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 $7 - i32.const 20 - i32.shl - i32.add - local.tee $5 - i32.const 20 - i32.shr_s - i32.const 0 - i32.le_s - if (result f64) - local.get $0 - local.get $7 - call $~lib/math/NativeMath.scalbn - else - local.get $0 - 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 - end - f64.mul - return + br $while-continue|0 end - local.get $6 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - return - end - local.get $6 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul + end + local.get $2 ) - (func $std/operator-overloading/Tester.equals (; 5 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/Tester.equals (; 4 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 @@ -1200,7 +199,7 @@ i32.const 0 end ) - (func $std/operator-overloading/Tester.notEquals (; 6 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/Tester.notEquals (; 5 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load local.get $1 @@ -1216,7 +215,7 @@ i32.const 0 end ) - (func $std/operator-overloading/TesterInlineStatic#constructor (; 7 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/TesterInlineStatic#constructor (; 6 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) i32.const 4 call $~lib/rt/stub/__alloc @@ -1228,7 +227,7 @@ i32.store offset=4 local.get $2 ) - (func $std/operator-overloading/TesterInlineInstance#constructor (; 8 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/TesterInlineInstance#constructor (; 7 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) i32.const 5 call $~lib/rt/stub/__alloc @@ -1240,7 +239,7 @@ i32.store offset=4 local.get $2 ) - (func $start:std/operator-overloading (; 9 ;) + (func $start:std/operator-overloading (; 8 ;) (local $0 i32) (local $1 i32) i32.const 96 @@ -1470,21 +469,15 @@ global.get $std/operator-overloading/p1 local.tee $0 i32.load - f64.convert_i32_s global.get $std/operator-overloading/p2 local.tee $1 i32.load - f64.convert_i32_s - call $~lib/math/NativeMath.pow - i32.trunc_f64_s + call $~lib/math/ipow32 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 $~lib/math/ipow32 call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/p global.get $std/operator-overloading/p @@ -2417,7 +1410,7 @@ unreachable end ) - (func $~start (; 10 ;) + (func $~start (; 9 ;) call $start:std/operator-overloading ) ) From 4d070648e4b5742108ffe861547861649ae6f08e Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 14 Mar 2020 04:34:10 +0200 Subject: [PATCH 46/64] rebuild --- tests/compiler/resolve-binary.optimized.wat | 149 +++++++++++-------- tests/compiler/std/math.optimized.wat | 157 +++++++------------- tests/compiler/std/math.untouched.wat | 53 +------ 3 files changed, 143 insertions(+), 216 deletions(-) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index cbef5256c3..de1cad4ef9 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1370,64 +1370,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $0 - call $~lib/util/number/dtoa_core - local.tee $1 - i32.const 28 - i32.eq - if - local.get $0 - return - end - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 2432 - i32.const 70 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 2432 - i32.const 72 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $0 - local.get $1 - i32.load - i32.add - i32.eq - if - local.get $1 - global.set $~lib/rt/stub/offset - end - ) - (func $start:resolve-binary (; 14 ;) i32.const 1040 i32.const 1040 call $~lib/string/String.__eq @@ -1598,7 +1540,62 @@ global.set $resolve-binary/f f64.const 4 global.set $resolve-binary/f - call $~lib/util/number/dtoa + i32.const 56 + i32.const 1 + call $~lib/rt/stub/__alloc + local.tee $1 + call $~lib/util/number/dtoa_core + local.tee $0 + i32.const 28 + i32.ne + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + select + i32.eqz + if + i32.const 0 + i32.const 2432 + i32.const 70 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 2432 + i32.const 72 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/stub/offset + local.get $1 + local.get $2 + i32.load + i32.add + i32.eq + if + local.get $2 + global.set $~lib/rt/stub/offset + end + local.set $1 + end + local.get $1 i32.const 2480 call $~lib/string/String.__eq i32.eqz @@ -1811,8 +1808,38 @@ call $~lib/builtins/abort unreachable end - call $~lib/util/number/dtoa - i32.const 2480 + i32.const 2 + local.set $1 + i32.const 2 + local.set $0 + i32.const 1 + local.set $2 + loop $while-continue|0 + local.get $1 + if + local.get $0 + local.get $2 + i32.mul + local.get $2 + local.get $1 + i32.const 1 + i32.and + select + local.set $2 + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|0 + end + end + local.get $2 + call $~lib/number/I32#toString + i32.const 2512 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 536f51089d..3a6e8aaafd 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -10,9 +10,7 @@ (type $f32_f32_f32_f32_=>_i32 (func (param f32 f32 f32 f32) (result i32))) (type $f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64) (result i32))) (type $none_=>_none (func)) - (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) (type $none_=>_f64 (func (result f64))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i64_=>_none (func (param i64))) (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) @@ -27,6 +25,7 @@ (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) (type $f32_f32_f32_=>_f32 (func (param f32 f32 f32) (result f32))) + (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) (type $f64_f64_f64_=>_f64 (func (param f64 f64 f64) (result f64))) (import "Math" "E" (global $~lib/bindings/Math/E f64)) @@ -11293,7 +11292,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (; 162 ;) (param $0 i64) (param $1 i32) (result i64) + (func $~lib/math/ipow64 (; 162 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) i64.const 1 local.set $2 @@ -11326,68 +11325,14 @@ end local.get $2 ) - (func $~lib/math/ipow32f (; 163 ;) (param $0 f32) (param $1 i32) (result f32) - (local $2 f32) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor - local.set $1 - f32.const 1 + (func $~lib/math/ipow32 (; 163 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + i32.const 1 local.set $2 loop $while-continue|0 local.get $1 if local.get $0 - f32.const 1 - local.get $1 - i32.const 1 - i32.and - select - f32.mul - local.set $2 - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - f32.mul - local.set $0 - br $while-continue|0 - end - end - local.get $3 - if - f32.const 1 - local.get $2 - f32.div - local.set $2 - end - local.get $2 - ) - (func $~lib/math/ipow64f (; 164 ;) (param $0 f64) (param $1 i32) (result f64) - (local $2 f64) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor - local.set $1 - f64.const 1 - local.set $2 - loop $while-continue|0 - local.get $1 - if local.get $2 i32.mul local.get $2 @@ -11409,7 +11354,7 @@ end local.get $2 ) - (func $start:std/math (; 165 ;) + (func $start:std/math (; 164 ;) (local $0 f64) (local $1 i32) (local $2 i64) @@ -46662,7 +46607,7 @@ i64.ne if i32.const 0 - i32.const 32 + i32.const 1040 i32.const 3920 i32.const 0 call $~lib/builtins/abort @@ -46675,7 +46620,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 1040 i32.const 3921 i32.const 0 call $~lib/builtins/abort @@ -46689,7 +46634,7 @@ if i32.const 0 i32.const 1040 - i32.const 3920 + i32.const 3922 i32.const 0 call $~lib/builtins/abort unreachable @@ -46702,7 +46647,7 @@ if i32.const 0 i32.const 1040 - i32.const 3921 + i32.const 3923 i32.const 0 call $~lib/builtins/abort unreachable @@ -46715,7 +46660,7 @@ if i32.const 0 i32.const 1040 - i32.const 3922 + i32.const 3924 i32.const 0 call $~lib/builtins/abort unreachable @@ -46728,7 +46673,7 @@ if i32.const 0 i32.const 1040 - i32.const 3923 + i32.const 3925 i32.const 0 call $~lib/builtins/abort unreachable @@ -46741,7 +46686,7 @@ if i32.const 0 i32.const 1040 - i32.const 3924 + i32.const 3926 i32.const 0 call $~lib/builtins/abort unreachable @@ -46754,7 +46699,7 @@ if i32.const 0 i32.const 1040 - i32.const 3925 + i32.const 3927 i32.const 0 call $~lib/builtins/abort unreachable @@ -46767,7 +46712,7 @@ if i32.const 0 i32.const 1040 - i32.const 3926 + i32.const 3928 i32.const 0 call $~lib/builtins/abort unreachable @@ -46779,7 +46724,7 @@ i64.ne if i32.const 0 - i32.const 32 + i32.const 1040 i32.const 3930 i32.const 0 call $~lib/builtins/abort @@ -46792,7 +46737,7 @@ i32.eqz if i32.const 0 - i32.const 32 + i32.const 1040 i32.const 3931 i32.const 0 call $~lib/builtins/abort @@ -46810,7 +46755,7 @@ if i32.const 0 i32.const 1040 - i32.const 3928 + i32.const 3933 i32.const 0 call $~lib/builtins/abort unreachable @@ -46823,7 +46768,7 @@ if i32.const 0 i32.const 1040 - i32.const 3932 + i32.const 3939 i32.const 0 call $~lib/builtins/abort unreachable @@ -46836,7 +46781,7 @@ if i32.const 0 i32.const 1040 - i32.const 3933 + i32.const 3940 i32.const 0 call $~lib/builtins/abort unreachable @@ -46849,7 +46794,7 @@ if i32.const 0 i32.const 1040 - i32.const 3934 + i32.const 3941 i32.const 0 call $~lib/builtins/abort unreachable @@ -46862,7 +46807,7 @@ if i32.const 0 i32.const 1040 - i32.const 3935 + i32.const 3942 i32.const 0 call $~lib/builtins/abort unreachable @@ -46875,7 +46820,7 @@ if i32.const 0 i32.const 1040 - i32.const 3936 + i32.const 3943 i32.const 0 call $~lib/builtins/abort unreachable @@ -46888,7 +46833,7 @@ if i32.const 0 i32.const 1040 - i32.const 3937 + i32.const 3944 i32.const 0 call $~lib/builtins/abort unreachable @@ -46899,7 +46844,7 @@ if i32.const 0 i32.const 1040 - i32.const 3938 + i32.const 3946 i32.const 0 call $~lib/builtins/abort unreachable @@ -46910,7 +46855,7 @@ if i32.const 0 i32.const 1040 - i32.const 3939 + i32.const 3947 i32.const 0 call $~lib/builtins/abort unreachable @@ -46921,7 +46866,7 @@ if i32.const 0 i32.const 1040 - i32.const 3940 + i32.const 3950 i32.const 0 call $~lib/builtins/abort unreachable @@ -46934,7 +46879,7 @@ if i32.const 0 i32.const 1040 - i32.const 3941 + i32.const 3952 i32.const 0 call $~lib/builtins/abort unreachable @@ -46947,7 +46892,7 @@ if i32.const 0 i32.const 1040 - i32.const 3942 + i32.const 3953 i32.const 0 call $~lib/builtins/abort unreachable @@ -46960,7 +46905,7 @@ if i32.const 0 i32.const 1040 - i32.const 3943 + i32.const 3956 i32.const 0 call $~lib/builtins/abort unreachable @@ -46973,7 +46918,7 @@ if i32.const 0 i32.const 1040 - i32.const 3944 + i32.const 3958 i32.const 0 call $~lib/builtins/abort unreachable @@ -46986,7 +46931,7 @@ if i32.const 0 i32.const 1040 - i32.const 3945 + i32.const 3959 i32.const 0 call $~lib/builtins/abort unreachable @@ -46999,7 +46944,7 @@ if i32.const 0 i32.const 1040 - i32.const 3946 + i32.const 3960 i32.const 0 call $~lib/builtins/abort unreachable @@ -47012,7 +46957,7 @@ if i32.const 0 i32.const 1040 - i32.const 3947 + i32.const 3961 i32.const 0 call $~lib/builtins/abort unreachable @@ -47025,7 +46970,7 @@ if i32.const 0 i32.const 1040 - i32.const 3951 + i32.const 3964 i32.const 0 call $~lib/builtins/abort unreachable @@ -47038,7 +46983,7 @@ if i32.const 0 i32.const 1040 - i32.const 3952 + i32.const 3965 i32.const 0 call $~lib/builtins/abort unreachable @@ -47051,7 +46996,7 @@ if i32.const 0 i32.const 1040 - i32.const 3953 + i32.const 3966 i32.const 0 call $~lib/builtins/abort unreachable @@ -47064,7 +47009,7 @@ if i32.const 0 i32.const 1040 - i32.const 3954 + i32.const 3967 i32.const 0 call $~lib/builtins/abort unreachable @@ -47077,7 +47022,7 @@ if i32.const 0 i32.const 1040 - i32.const 3955 + i32.const 3968 i32.const 0 call $~lib/builtins/abort unreachable @@ -47090,7 +47035,7 @@ if i32.const 0 i32.const 1040 - i32.const 3956 + i32.const 3969 i32.const 0 call $~lib/builtins/abort unreachable @@ -47103,7 +47048,7 @@ if i32.const 0 i32.const 1040 - i32.const 3957 + i32.const 3970 i32.const 0 call $~lib/builtins/abort unreachable @@ -47116,7 +47061,7 @@ if i32.const 0 i32.const 1040 - i32.const 3958 + i32.const 3971 i32.const 0 call $~lib/builtins/abort unreachable @@ -47129,7 +47074,7 @@ if i32.const 0 i32.const 1040 - i32.const 3959 + i32.const 3972 i32.const 0 call $~lib/builtins/abort unreachable @@ -47148,7 +47093,7 @@ if i32.const 0 i32.const 1040 - i32.const 3960 + i32.const 3974 i32.const 0 call $~lib/builtins/abort unreachable @@ -47165,7 +47110,7 @@ if i32.const 0 i32.const 1040 - i32.const 3961 + i32.const 3975 i32.const 0 call $~lib/builtins/abort unreachable @@ -47178,7 +47123,7 @@ if i32.const 0 i32.const 1040 - i32.const 3962 + i32.const 3977 i32.const 0 call $~lib/builtins/abort unreachable @@ -47191,7 +47136,7 @@ if i32.const 0 i32.const 1040 - i32.const 3963 + i32.const 3978 i32.const 0 call $~lib/builtins/abort unreachable @@ -47204,7 +47149,7 @@ if i32.const 0 i32.const 1040 - i32.const 3964 + i32.const 3979 i32.const 0 call $~lib/builtins/abort unreachable @@ -47217,7 +47162,7 @@ if i32.const 0 i32.const 1040 - i32.const 3965 + i32.const 3980 i32.const 0 call $~lib/builtins/abort unreachable @@ -47230,13 +47175,13 @@ if i32.const 0 i32.const 1040 - i32.const 3966 + i32.const 3981 i32.const 0 call $~lib/builtins/abort unreachable end ) - (func $~start (; 166 ;) + (func $~start (; 165 ;) call $start:std/math ) ) diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index e99da23f2d..49108569ab 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -10,12 +10,6 @@ (type $none_=>_f64 (func (result f64))) (type $none_=>_none (func)) (type $f64_=>_i32 (func (param f64) (result i32))) -<<<<<<< HEAD - (type $none_=>_f64 (func (result f64))) -======= - (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) ->>>>>>> master (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i64_=>_none (func (param i64))) (type $f64_=>_none (func (param f64))) @@ -15738,11 +15732,7 @@ i32.clz f64.convert_i32_s ) -<<<<<<< HEAD - (func $~lib/math/ipow64 (; 174 ;) (param $0 i64) (param $1 i64) (result i64) -======= - (func $~lib/math/ipow64 (; 175 ;) (param $0 i64) (param $1 i32) (result i64) ->>>>>>> master + (func $~lib/math/ipow64 (; 175 ;) (param $0 i64) (param $1 i64) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -15987,11 +15977,7 @@ end local.get $2 ) -<<<<<<< HEAD - (func $~lib/math/ipow32 (; 175 ;) (param $0 i32) (param $1 i32) (result i32) -======= - (func $~lib/math/ipow32f (; 176 ;) (param $0 f32) (param $1 i32) (result f32) ->>>>>>> master + (func $~lib/math/ipow32 (; 176 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16022,29 +16008,6 @@ i32.or return else -<<<<<<< HEAD -======= - local.get $3 - end - ) - (func $~lib/math/ipow64f (; 177 ;) (param $0 f64) (param $1 i32) (result f64) - (local $2 i32) - (local $3 f64) - (local $4 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.set $2 - local.get $1 - local.get $2 - i32.add - local.get $2 - i32.xor - local.set $1 - f64.const 1 - local.set $3 - loop $while-continue|0 ->>>>>>> master local.get $1 i32.const 1 i32.eq @@ -16215,11 +16178,7 @@ end local.get $2 ) -<<<<<<< HEAD - (func $start:std/math (; 176 ;) -======= - (func $start:std/math (; 178 ;) ->>>>>>> master + (func $start:std/math (; 177 ;) (local $0 f64) (local $1 i32) (local $2 i32) @@ -56155,11 +56114,7 @@ unreachable end ) -<<<<<<< HEAD - (func $~start (; 177 ;) -======= - (func $~start (; 179 ;) ->>>>>>> master + (func $~start (; 178 ;) call $start:std/math ) ) From 1c85077ebc0146059fd09e00787152a996c5c16b Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 15 Mar 2020 13:14:32 +0200 Subject: [PATCH 47/64] rebuild --- tests/compiler/resolve-binary.optimized.wat | 62 +----- tests/compiler/std/math.optimized.wat | 88 ++++----- tests/compiler/std/math.untouched.wat | 208 +------------------- 3 files changed, 50 insertions(+), 308 deletions(-) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index d02477f133..a82eb17e8e 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1370,64 +1370,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $0 - call $~lib/util/number/dtoa_core - local.tee $1 - i32.const 28 - i32.eq - if - local.get $0 - return - end - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 2432 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 2432 - i32.const 72 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $0 - local.get $1 - i32.load - i32.add - i32.eq - if - local.get $1 - global.set $~lib/rt/stub/offset - end - ) - (func $start:resolve-binary (; 14 ;) i32.const 1040 i32.const 1040 call $~lib/string/String.__eq @@ -1622,7 +1564,7 @@ i32.const 0 i32.const 2432 i32.const 70 - i32.const 2 + i32.const 3 call $~lib/builtins/abort unreachable end @@ -1637,7 +1579,7 @@ i32.const 0 i32.const 2432 i32.const 72 - i32.const 13 + i32.const 14 call $~lib/builtins/abort unreachable end diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 61e86d227b..22aea2db0d 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -46609,7 +46609,7 @@ i32.const 0 i32.const 1040 i32.const 3920 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -46622,7 +46622,7 @@ i32.const 0 i32.const 1040 i32.const 3921 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -46634,7 +46634,7 @@ if i32.const 0 i32.const 1040 - i32.const 3920 + i32.const 3922 i32.const 1 call $~lib/builtins/abort unreachable @@ -46647,7 +46647,7 @@ if i32.const 0 i32.const 1040 - i32.const 3921 + i32.const 3923 i32.const 1 call $~lib/builtins/abort unreachable @@ -46660,7 +46660,7 @@ if i32.const 0 i32.const 1040 - i32.const 3922 + i32.const 3924 i32.const 1 call $~lib/builtins/abort unreachable @@ -46673,7 +46673,7 @@ if i32.const 0 i32.const 1040 - i32.const 3923 + i32.const 3925 i32.const 1 call $~lib/builtins/abort unreachable @@ -46686,7 +46686,7 @@ if i32.const 0 i32.const 1040 - i32.const 3924 + i32.const 3926 i32.const 1 call $~lib/builtins/abort unreachable @@ -46699,7 +46699,7 @@ if i32.const 0 i32.const 1040 - i32.const 3925 + i32.const 3927 i32.const 1 call $~lib/builtins/abort unreachable @@ -46712,7 +46712,7 @@ if i32.const 0 i32.const 1040 - i32.const 3926 + i32.const 3928 i32.const 1 call $~lib/builtins/abort unreachable @@ -46726,7 +46726,7 @@ i32.const 0 i32.const 1040 i32.const 3930 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -46739,7 +46739,7 @@ i32.const 0 i32.const 1040 i32.const 3931 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -46755,7 +46755,7 @@ if i32.const 0 i32.const 1040 - i32.const 3928 + i32.const 3933 i32.const 1 call $~lib/builtins/abort unreachable @@ -46768,7 +46768,7 @@ if i32.const 0 i32.const 1040 - i32.const 3932 + i32.const 3939 i32.const 1 call $~lib/builtins/abort unreachable @@ -46781,7 +46781,7 @@ if i32.const 0 i32.const 1040 - i32.const 3933 + i32.const 3940 i32.const 1 call $~lib/builtins/abort unreachable @@ -46794,7 +46794,7 @@ if i32.const 0 i32.const 1040 - i32.const 3934 + i32.const 3941 i32.const 1 call $~lib/builtins/abort unreachable @@ -46807,7 +46807,7 @@ if i32.const 0 i32.const 1040 - i32.const 3935 + i32.const 3942 i32.const 1 call $~lib/builtins/abort unreachable @@ -46820,7 +46820,7 @@ if i32.const 0 i32.const 1040 - i32.const 3936 + i32.const 3943 i32.const 1 call $~lib/builtins/abort unreachable @@ -46833,7 +46833,7 @@ if i32.const 0 i32.const 1040 - i32.const 3937 + i32.const 3944 i32.const 1 call $~lib/builtins/abort unreachable @@ -46844,7 +46844,7 @@ if i32.const 0 i32.const 1040 - i32.const 3938 + i32.const 3946 i32.const 1 call $~lib/builtins/abort unreachable @@ -46855,7 +46855,7 @@ if i32.const 0 i32.const 1040 - i32.const 3939 + i32.const 3947 i32.const 1 call $~lib/builtins/abort unreachable @@ -46866,7 +46866,7 @@ if i32.const 0 i32.const 1040 - i32.const 3940 + i32.const 3950 i32.const 1 call $~lib/builtins/abort unreachable @@ -46879,7 +46879,7 @@ if i32.const 0 i32.const 1040 - i32.const 3941 + i32.const 3952 i32.const 1 call $~lib/builtins/abort unreachable @@ -46892,7 +46892,7 @@ if i32.const 0 i32.const 1040 - i32.const 3942 + i32.const 3953 i32.const 1 call $~lib/builtins/abort unreachable @@ -46905,7 +46905,7 @@ if i32.const 0 i32.const 1040 - i32.const 3943 + i32.const 3956 i32.const 1 call $~lib/builtins/abort unreachable @@ -46918,7 +46918,7 @@ if i32.const 0 i32.const 1040 - i32.const 3944 + i32.const 3958 i32.const 1 call $~lib/builtins/abort unreachable @@ -46931,7 +46931,7 @@ if i32.const 0 i32.const 1040 - i32.const 3945 + i32.const 3959 i32.const 1 call $~lib/builtins/abort unreachable @@ -46944,7 +46944,7 @@ if i32.const 0 i32.const 1040 - i32.const 3946 + i32.const 3960 i32.const 1 call $~lib/builtins/abort unreachable @@ -46957,7 +46957,7 @@ if i32.const 0 i32.const 1040 - i32.const 3947 + i32.const 3961 i32.const 1 call $~lib/builtins/abort unreachable @@ -46970,7 +46970,7 @@ if i32.const 0 i32.const 1040 - i32.const 3951 + i32.const 3964 i32.const 1 call $~lib/builtins/abort unreachable @@ -46983,7 +46983,7 @@ if i32.const 0 i32.const 1040 - i32.const 3952 + i32.const 3965 i32.const 1 call $~lib/builtins/abort unreachable @@ -46996,7 +46996,7 @@ if i32.const 0 i32.const 1040 - i32.const 3953 + i32.const 3966 i32.const 1 call $~lib/builtins/abort unreachable @@ -47009,7 +47009,7 @@ if i32.const 0 i32.const 1040 - i32.const 3954 + i32.const 3967 i32.const 1 call $~lib/builtins/abort unreachable @@ -47022,7 +47022,7 @@ if i32.const 0 i32.const 1040 - i32.const 3955 + i32.const 3968 i32.const 1 call $~lib/builtins/abort unreachable @@ -47035,7 +47035,7 @@ if i32.const 0 i32.const 1040 - i32.const 3956 + i32.const 3969 i32.const 1 call $~lib/builtins/abort unreachable @@ -47048,7 +47048,7 @@ if i32.const 0 i32.const 1040 - i32.const 3957 + i32.const 3970 i32.const 1 call $~lib/builtins/abort unreachable @@ -47061,7 +47061,7 @@ if i32.const 0 i32.const 1040 - i32.const 3958 + i32.const 3971 i32.const 1 call $~lib/builtins/abort unreachable @@ -47074,7 +47074,7 @@ if i32.const 0 i32.const 1040 - i32.const 3959 + i32.const 3972 i32.const 1 call $~lib/builtins/abort unreachable @@ -47093,7 +47093,7 @@ if i32.const 0 i32.const 1040 - i32.const 3960 + i32.const 3974 i32.const 1 call $~lib/builtins/abort unreachable @@ -47110,7 +47110,7 @@ if i32.const 0 i32.const 1040 - i32.const 3961 + i32.const 3975 i32.const 1 call $~lib/builtins/abort unreachable @@ -47123,7 +47123,7 @@ if i32.const 0 i32.const 1040 - i32.const 3962 + i32.const 3977 i32.const 1 call $~lib/builtins/abort unreachable @@ -47136,7 +47136,7 @@ if i32.const 0 i32.const 1040 - i32.const 3963 + i32.const 3978 i32.const 1 call $~lib/builtins/abort unreachable @@ -47149,7 +47149,7 @@ if i32.const 0 i32.const 1040 - i32.const 3964 + i32.const 3979 i32.const 1 call $~lib/builtins/abort unreachable @@ -47162,7 +47162,7 @@ if i32.const 0 i32.const 1040 - i32.const 3965 + i32.const 3980 i32.const 1 call $~lib/builtins/abort unreachable @@ -47175,7 +47175,7 @@ if i32.const 0 i32.const 1040 - i32.const 3966 + i32.const 3981 i32.const 1 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index f7c1f3ff28..8e899e48c5 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -55493,7 +55493,7 @@ i32.const 0 i32.const 32 i32.const 3920 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -55507,7 +55507,7 @@ i32.const 0 i32.const 32 i32.const 3921 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -55520,13 +55520,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3922 - i32.const 0 -======= - i32.const 3920 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55539,13 +55534,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3923 - i32.const 0 -======= - i32.const 3921 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55558,13 +55548,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3924 - i32.const 0 -======= - i32.const 3922 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55577,13 +55562,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3925 - i32.const 0 -======= - i32.const 3923 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55596,13 +55576,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3926 - i32.const 0 -======= - i32.const 3924 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55615,13 +55590,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3927 - i32.const 0 -======= - i32.const 3925 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55634,9 +55604,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3928 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -55650,7 +55619,7 @@ i32.const 0 i32.const 32 i32.const 3930 - i32.const 0 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -55664,11 +55633,7 @@ i32.const 0 i32.const 32 i32.const 3931 - i32.const 0 -======= - i32.const 3926 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55685,13 +55650,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3933 - i32.const 0 -======= - i32.const 3928 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55704,13 +55664,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3939 - i32.const 0 -======= - i32.const 3932 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55723,13 +55678,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3940 - i32.const 0 -======= - i32.const 3933 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55742,13 +55692,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3941 - i32.const 0 -======= - i32.const 3934 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55761,13 +55706,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3942 - i32.const 0 -======= - i32.const 3935 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55780,13 +55720,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3943 - i32.const 0 -======= - i32.const 3936 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55799,13 +55734,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3944 - i32.const 0 -======= - i32.const 3937 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55818,13 +55748,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3946 - i32.const 0 -======= - i32.const 3938 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55837,13 +55762,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3947 - i32.const 0 -======= - i32.const 3939 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55856,13 +55776,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3950 - i32.const 0 -======= - i32.const 3940 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55875,13 +55790,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3952 - i32.const 0 -======= - i32.const 3941 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55894,13 +55804,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3953 - i32.const 0 -======= - i32.const 3942 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55913,13 +55818,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3956 - i32.const 0 -======= - i32.const 3943 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55932,13 +55832,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3958 - i32.const 0 -======= - i32.const 3944 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55951,13 +55846,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3959 - i32.const 0 -======= - i32.const 3945 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55970,13 +55860,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3960 - i32.const 0 -======= - i32.const 3946 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -55989,13 +55874,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3961 - i32.const 0 -======= - i32.const 3947 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56008,13 +55888,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3964 - i32.const 0 -======= - i32.const 3951 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56027,13 +55902,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3965 - i32.const 0 -======= - i32.const 3952 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56046,13 +55916,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3966 - i32.const 0 -======= - i32.const 3953 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56065,13 +55930,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3967 - i32.const 0 -======= - i32.const 3954 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56084,13 +55944,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3968 - i32.const 0 -======= - i32.const 3955 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56103,13 +55958,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3969 - i32.const 0 -======= - i32.const 3956 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56122,13 +55972,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3970 - i32.const 0 -======= - i32.const 3957 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56141,13 +55986,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3971 - i32.const 0 -======= - i32.const 3958 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56160,13 +56000,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3972 - i32.const 0 -======= - i32.const 3959 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56185,13 +56020,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3974 - i32.const 0 -======= - i32.const 3960 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56208,13 +56038,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3975 - i32.const 0 -======= - i32.const 3961 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56227,13 +56052,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3977 - i32.const 0 -======= - i32.const 3962 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56246,13 +56066,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3978 - i32.const 0 -======= - i32.const 3963 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56265,13 +56080,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3979 - i32.const 0 -======= - i32.const 3964 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56284,13 +56094,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3980 - i32.const 0 -======= - i32.const 3965 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end @@ -56303,13 +56108,8 @@ if i32.const 0 i32.const 32 -<<<<<<< HEAD i32.const 3981 - i32.const 0 -======= - i32.const 3966 i32.const 1 ->>>>>>> master call $~lib/builtins/abort unreachable end From 0ced38e921b0fe791b9a97cb3f66699bdcbeb9b1 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 14 Apr 2020 00:12:48 +0300 Subject: [PATCH 48/64] update --- tests/compiler/std/math.optimized.wat | 88 +++++++++++++-------------- tests/compiler/std/math.untouched.wat | 88 +++++++++++++-------------- 2 files changed, 88 insertions(+), 88 deletions(-) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 06f91e3020..b63ad2eb32 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -48194,7 +48194,7 @@ if i32.const 0 i32.const 1040 - i32.const 3920 + i32.const 4069 i32.const 1 call $~lib/builtins/abort unreachable @@ -48207,7 +48207,7 @@ if i32.const 0 i32.const 1040 - i32.const 3921 + i32.const 4070 i32.const 1 call $~lib/builtins/abort unreachable @@ -48220,7 +48220,7 @@ if i32.const 0 i32.const 1040 - i32.const 4069 + i32.const 4071 i32.const 1 call $~lib/builtins/abort unreachable @@ -48233,7 +48233,7 @@ if i32.const 0 i32.const 1040 - i32.const 4070 + i32.const 4072 i32.const 1 call $~lib/builtins/abort unreachable @@ -48246,7 +48246,7 @@ if i32.const 0 i32.const 1040 - i32.const 4071 + i32.const 4073 i32.const 1 call $~lib/builtins/abort unreachable @@ -48259,7 +48259,7 @@ if i32.const 0 i32.const 1040 - i32.const 4072 + i32.const 4074 i32.const 1 call $~lib/builtins/abort unreachable @@ -48272,7 +48272,7 @@ if i32.const 0 i32.const 1040 - i32.const 4073 + i32.const 4075 i32.const 1 call $~lib/builtins/abort unreachable @@ -48285,7 +48285,7 @@ if i32.const 0 i32.const 1040 - i32.const 4074 + i32.const 4076 i32.const 1 call $~lib/builtins/abort unreachable @@ -48298,7 +48298,7 @@ if i32.const 0 i32.const 1040 - i32.const 4075 + i32.const 4077 i32.const 1 call $~lib/builtins/abort unreachable @@ -48311,7 +48311,7 @@ if i32.const 0 i32.const 1040 - i32.const 3930 + i32.const 4079 i32.const 1 call $~lib/builtins/abort unreachable @@ -48324,7 +48324,7 @@ if i32.const 0 i32.const 1040 - i32.const 3931 + i32.const 4080 i32.const 1 call $~lib/builtins/abort unreachable @@ -48341,7 +48341,7 @@ if i32.const 0 i32.const 1040 - i32.const 4077 + i32.const 4082 i32.const 1 call $~lib/builtins/abort unreachable @@ -48354,7 +48354,7 @@ if i32.const 0 i32.const 1040 - i32.const 4081 + i32.const 4088 i32.const 1 call $~lib/builtins/abort unreachable @@ -48367,7 +48367,7 @@ if i32.const 0 i32.const 1040 - i32.const 4082 + i32.const 4089 i32.const 1 call $~lib/builtins/abort unreachable @@ -48380,7 +48380,7 @@ if i32.const 0 i32.const 1040 - i32.const 4083 + i32.const 4090 i32.const 1 call $~lib/builtins/abort unreachable @@ -48393,7 +48393,7 @@ if i32.const 0 i32.const 1040 - i32.const 4084 + i32.const 4091 i32.const 1 call $~lib/builtins/abort unreachable @@ -48406,7 +48406,7 @@ if i32.const 0 i32.const 1040 - i32.const 4085 + i32.const 4092 i32.const 1 call $~lib/builtins/abort unreachable @@ -48419,7 +48419,7 @@ if i32.const 0 i32.const 1040 - i32.const 4086 + i32.const 4093 i32.const 1 call $~lib/builtins/abort unreachable @@ -48430,7 +48430,7 @@ if i32.const 0 i32.const 1040 - i32.const 4087 + i32.const 4095 i32.const 1 call $~lib/builtins/abort unreachable @@ -48441,7 +48441,7 @@ if i32.const 0 i32.const 1040 - i32.const 4088 + i32.const 4096 i32.const 1 call $~lib/builtins/abort unreachable @@ -48452,7 +48452,7 @@ if i32.const 0 i32.const 1040 - i32.const 4089 + i32.const 4099 i32.const 1 call $~lib/builtins/abort unreachable @@ -48465,7 +48465,7 @@ if i32.const 0 i32.const 1040 - i32.const 4090 + i32.const 4101 i32.const 1 call $~lib/builtins/abort unreachable @@ -48478,7 +48478,7 @@ if i32.const 0 i32.const 1040 - i32.const 4091 + i32.const 4102 i32.const 1 call $~lib/builtins/abort unreachable @@ -48491,7 +48491,7 @@ if i32.const 0 i32.const 1040 - i32.const 4092 + i32.const 4105 i32.const 1 call $~lib/builtins/abort unreachable @@ -48504,7 +48504,7 @@ if i32.const 0 i32.const 1040 - i32.const 4093 + i32.const 4107 i32.const 1 call $~lib/builtins/abort unreachable @@ -48517,7 +48517,7 @@ if i32.const 0 i32.const 1040 - i32.const 4094 + i32.const 4108 i32.const 1 call $~lib/builtins/abort unreachable @@ -48530,7 +48530,7 @@ if i32.const 0 i32.const 1040 - i32.const 4095 + i32.const 4109 i32.const 1 call $~lib/builtins/abort unreachable @@ -48543,7 +48543,7 @@ if i32.const 0 i32.const 1040 - i32.const 4096 + i32.const 4110 i32.const 1 call $~lib/builtins/abort unreachable @@ -48556,7 +48556,7 @@ if i32.const 0 i32.const 1040 - i32.const 4100 + i32.const 4113 i32.const 1 call $~lib/builtins/abort unreachable @@ -48569,7 +48569,7 @@ if i32.const 0 i32.const 1040 - i32.const 4101 + i32.const 4114 i32.const 1 call $~lib/builtins/abort unreachable @@ -48582,7 +48582,7 @@ if i32.const 0 i32.const 1040 - i32.const 4102 + i32.const 4115 i32.const 1 call $~lib/builtins/abort unreachable @@ -48595,7 +48595,7 @@ if i32.const 0 i32.const 1040 - i32.const 4103 + i32.const 4116 i32.const 1 call $~lib/builtins/abort unreachable @@ -48608,7 +48608,7 @@ if i32.const 0 i32.const 1040 - i32.const 4104 + i32.const 4117 i32.const 1 call $~lib/builtins/abort unreachable @@ -48621,7 +48621,7 @@ if i32.const 0 i32.const 1040 - i32.const 4105 + i32.const 4118 i32.const 1 call $~lib/builtins/abort unreachable @@ -48634,7 +48634,7 @@ if i32.const 0 i32.const 1040 - i32.const 4106 + i32.const 4119 i32.const 1 call $~lib/builtins/abort unreachable @@ -48647,7 +48647,7 @@ if i32.const 0 i32.const 1040 - i32.const 4107 + i32.const 4120 i32.const 1 call $~lib/builtins/abort unreachable @@ -48660,7 +48660,7 @@ if i32.const 0 i32.const 1040 - i32.const 4108 + i32.const 4121 i32.const 1 call $~lib/builtins/abort unreachable @@ -48679,7 +48679,7 @@ if i32.const 0 i32.const 1040 - i32.const 4109 + i32.const 4123 i32.const 1 call $~lib/builtins/abort unreachable @@ -48696,7 +48696,7 @@ if i32.const 0 i32.const 1040 - i32.const 4110 + i32.const 4124 i32.const 1 call $~lib/builtins/abort unreachable @@ -48709,7 +48709,7 @@ if i32.const 0 i32.const 1040 - i32.const 4111 + i32.const 4126 i32.const 1 call $~lib/builtins/abort unreachable @@ -48722,7 +48722,7 @@ if i32.const 0 i32.const 1040 - i32.const 4112 + i32.const 4127 i32.const 1 call $~lib/builtins/abort unreachable @@ -48735,7 +48735,7 @@ if i32.const 0 i32.const 1040 - i32.const 4113 + i32.const 4128 i32.const 1 call $~lib/builtins/abort unreachable @@ -48748,7 +48748,7 @@ if i32.const 0 i32.const 1040 - i32.const 4114 + i32.const 4129 i32.const 1 call $~lib/builtins/abort unreachable @@ -48761,7 +48761,7 @@ if i32.const 0 i32.const 1040 - i32.const 4115 + i32.const 4130 i32.const 1 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 41eda5a64e..26d74061f0 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -57383,7 +57383,7 @@ if i32.const 0 i32.const 32 - i32.const 3920 + i32.const 4069 i32.const 1 call $~lib/builtins/abort unreachable @@ -57397,7 +57397,7 @@ if i32.const 0 i32.const 32 - i32.const 3921 + i32.const 4070 i32.const 1 call $~lib/builtins/abort unreachable @@ -57411,7 +57411,7 @@ if i32.const 0 i32.const 32 - i32.const 4069 + i32.const 4071 i32.const 1 call $~lib/builtins/abort unreachable @@ -57425,7 +57425,7 @@ if i32.const 0 i32.const 32 - i32.const 4070 + i32.const 4072 i32.const 1 call $~lib/builtins/abort unreachable @@ -57439,7 +57439,7 @@ if i32.const 0 i32.const 32 - i32.const 4071 + i32.const 4073 i32.const 1 call $~lib/builtins/abort unreachable @@ -57453,7 +57453,7 @@ if i32.const 0 i32.const 32 - i32.const 4072 + i32.const 4074 i32.const 1 call $~lib/builtins/abort unreachable @@ -57467,7 +57467,7 @@ if i32.const 0 i32.const 32 - i32.const 4073 + i32.const 4075 i32.const 1 call $~lib/builtins/abort unreachable @@ -57481,7 +57481,7 @@ if i32.const 0 i32.const 32 - i32.const 4074 + i32.const 4076 i32.const 1 call $~lib/builtins/abort unreachable @@ -57495,7 +57495,7 @@ if i32.const 0 i32.const 32 - i32.const 4075 + i32.const 4077 i32.const 1 call $~lib/builtins/abort unreachable @@ -57509,7 +57509,7 @@ if i32.const 0 i32.const 32 - i32.const 3930 + i32.const 4079 i32.const 1 call $~lib/builtins/abort unreachable @@ -57523,7 +57523,7 @@ if i32.const 0 i32.const 32 - i32.const 3931 + i32.const 4080 i32.const 1 call $~lib/builtins/abort unreachable @@ -57541,7 +57541,7 @@ if i32.const 0 i32.const 32 - i32.const 4077 + i32.const 4082 i32.const 1 call $~lib/builtins/abort unreachable @@ -57555,7 +57555,7 @@ if i32.const 0 i32.const 32 - i32.const 4081 + i32.const 4088 i32.const 1 call $~lib/builtins/abort unreachable @@ -57569,7 +57569,7 @@ if i32.const 0 i32.const 32 - i32.const 4082 + i32.const 4089 i32.const 1 call $~lib/builtins/abort unreachable @@ -57583,7 +57583,7 @@ if i32.const 0 i32.const 32 - i32.const 4083 + i32.const 4090 i32.const 1 call $~lib/builtins/abort unreachable @@ -57597,7 +57597,7 @@ if i32.const 0 i32.const 32 - i32.const 4084 + i32.const 4091 i32.const 1 call $~lib/builtins/abort unreachable @@ -57611,7 +57611,7 @@ if i32.const 0 i32.const 32 - i32.const 4085 + i32.const 4092 i32.const 1 call $~lib/builtins/abort unreachable @@ -57625,7 +57625,7 @@ if i32.const 0 i32.const 32 - i32.const 4086 + i32.const 4093 i32.const 1 call $~lib/builtins/abort unreachable @@ -57639,7 +57639,7 @@ if i32.const 0 i32.const 32 - i32.const 4087 + i32.const 4095 i32.const 1 call $~lib/builtins/abort unreachable @@ -57653,7 +57653,7 @@ if i32.const 0 i32.const 32 - i32.const 4088 + i32.const 4096 i32.const 1 call $~lib/builtins/abort unreachable @@ -57667,7 +57667,7 @@ if i32.const 0 i32.const 32 - i32.const 4089 + i32.const 4099 i32.const 1 call $~lib/builtins/abort unreachable @@ -57681,7 +57681,7 @@ if i32.const 0 i32.const 32 - i32.const 4090 + i32.const 4101 i32.const 1 call $~lib/builtins/abort unreachable @@ -57695,7 +57695,7 @@ if i32.const 0 i32.const 32 - i32.const 4091 + i32.const 4102 i32.const 1 call $~lib/builtins/abort unreachable @@ -57709,7 +57709,7 @@ if i32.const 0 i32.const 32 - i32.const 4092 + i32.const 4105 i32.const 1 call $~lib/builtins/abort unreachable @@ -57723,7 +57723,7 @@ if i32.const 0 i32.const 32 - i32.const 4093 + i32.const 4107 i32.const 1 call $~lib/builtins/abort unreachable @@ -57737,7 +57737,7 @@ if i32.const 0 i32.const 32 - i32.const 4094 + i32.const 4108 i32.const 1 call $~lib/builtins/abort unreachable @@ -57751,7 +57751,7 @@ if i32.const 0 i32.const 32 - i32.const 4095 + i32.const 4109 i32.const 1 call $~lib/builtins/abort unreachable @@ -57765,7 +57765,7 @@ if i32.const 0 i32.const 32 - i32.const 4096 + i32.const 4110 i32.const 1 call $~lib/builtins/abort unreachable @@ -57779,7 +57779,7 @@ if i32.const 0 i32.const 32 - i32.const 4100 + i32.const 4113 i32.const 1 call $~lib/builtins/abort unreachable @@ -57793,7 +57793,7 @@ if i32.const 0 i32.const 32 - i32.const 4101 + i32.const 4114 i32.const 1 call $~lib/builtins/abort unreachable @@ -57807,7 +57807,7 @@ if i32.const 0 i32.const 32 - i32.const 4102 + i32.const 4115 i32.const 1 call $~lib/builtins/abort unreachable @@ -57821,7 +57821,7 @@ if i32.const 0 i32.const 32 - i32.const 4103 + i32.const 4116 i32.const 1 call $~lib/builtins/abort unreachable @@ -57835,7 +57835,7 @@ if i32.const 0 i32.const 32 - i32.const 4104 + i32.const 4117 i32.const 1 call $~lib/builtins/abort unreachable @@ -57849,7 +57849,7 @@ if i32.const 0 i32.const 32 - i32.const 4105 + i32.const 4118 i32.const 1 call $~lib/builtins/abort unreachable @@ -57863,7 +57863,7 @@ if i32.const 0 i32.const 32 - i32.const 4106 + i32.const 4119 i32.const 1 call $~lib/builtins/abort unreachable @@ -57877,7 +57877,7 @@ if i32.const 0 i32.const 32 - i32.const 4107 + i32.const 4120 i32.const 1 call $~lib/builtins/abort unreachable @@ -57891,7 +57891,7 @@ if i32.const 0 i32.const 32 - i32.const 4108 + i32.const 4121 i32.const 1 call $~lib/builtins/abort unreachable @@ -57911,7 +57911,7 @@ if i32.const 0 i32.const 32 - i32.const 4109 + i32.const 4123 i32.const 1 call $~lib/builtins/abort unreachable @@ -57929,7 +57929,7 @@ if i32.const 0 i32.const 32 - i32.const 4110 + i32.const 4124 i32.const 1 call $~lib/builtins/abort unreachable @@ -57943,7 +57943,7 @@ if i32.const 0 i32.const 32 - i32.const 4111 + i32.const 4126 i32.const 1 call $~lib/builtins/abort unreachable @@ -57957,7 +57957,7 @@ if i32.const 0 i32.const 32 - i32.const 4112 + i32.const 4127 i32.const 1 call $~lib/builtins/abort unreachable @@ -57971,7 +57971,7 @@ if i32.const 0 i32.const 32 - i32.const 4113 + i32.const 4128 i32.const 1 call $~lib/builtins/abort unreachable @@ -57985,7 +57985,7 @@ if i32.const 0 i32.const 32 - i32.const 4114 + i32.const 4129 i32.const 1 call $~lib/builtins/abort unreachable @@ -57999,7 +57999,7 @@ if i32.const 0 i32.const 32 - i32.const 4115 + i32.const 4130 i32.const 1 call $~lib/builtins/abort unreachable From 788d70ad12e9d1f0a51029ccd313c50e7d3c6e76 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 16 Apr 2020 10:01:33 +0300 Subject: [PATCH 49/64] update --- tests/compiler/binary.optimized.wat | 4 +- tests/compiler/binary.untouched.wat | 201 ++++++++++++++++++ tests/compiler/resolve-binary.optimized.wat | 117 +++++----- tests/compiler/resolve-binary.untouched.wat | 201 ++++++++++++++++++ tests/compiler/std/math.optimized.wat | 62 +----- tests/compiler/std/math.untouched.wat | 24 +-- .../std/operator-overloading.optimized.wat | 183 +--------------- .../std/operator-overloading.untouched.wat | 6 +- 8 files changed, 472 insertions(+), 326 deletions(-) diff --git a/tests/compiler/binary.optimized.wat b/tests/compiler/binary.optimized.wat index 86c5febc63..64f871f36e 100644 --- a/tests/compiler/binary.optimized.wat +++ b/tests/compiler/binary.optimized.wat @@ -10,7 +10,7 @@ (global $binary/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) (start $~start) - (func $~lib/math/NativeMathf.mod (param $0 f32) (result f32) + (func $~lib/math/ipow32 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 1 @@ -42,7 +42,7 @@ end local.get $2 ) - (func $~lib/math/NativeMathf.mod (; 1 ;) (param $0 f32) (result f32) + (func $~lib/math/NativeMathf.mod (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index afa38dc0fc..5880ac4405 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -18,6 +18,207 @@ (global $binary/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) (start $~start) + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + local.set $2 + local.get $1 + i32.const 0 + i32.le_s + if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end + local.get $1 + i32.const 0 + i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or + return + else + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + return + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + end + local.get $2 + return + end + end + end + end + loop $while-continue|1 + local.get $1 + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 + end + end + local.get $2 + ) (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 45ee817674..74197bfe8c 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1353,68 +1353,10 @@ call $~lib/memory/memory.copy local.get $2 ) - (func $~lib/util/number/dtoa (result i32) + (func $start:resolve-binary (local $0 i32) (local $1 i32) (local $2 i32) - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $0 - call $~lib/util/number/dtoa_core - local.tee $1 - i32.const 28 - i32.eq - if - local.get $0 - return - end - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 2432 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 2432 - i32.const 72 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $0 - local.get $1 - i32.load - i32.add - i32.eq - if - local.get $1 - global.set $~lib/rt/stub/offset - end - ) - (func $start:resolve-binary i32.const 1040 i32.const 1040 call $~lib/string/String.__eq @@ -1579,7 +1521,62 @@ call $~lib/builtins/abort unreachable end - call $~lib/util/number/dtoa + i32.const 56 + i32.const 1 + call $~lib/rt/stub/__alloc + local.tee $1 + call $~lib/util/number/dtoa_core + local.tee $0 + i32.const 28 + i32.ne + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + select + i32.eqz + if + i32.const 0 + i32.const 2432 + i32.const 70 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 2432 + i32.const 72 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/stub/offset + local.get $1 + local.get $2 + i32.load + i32.add + i32.eq + if + local.get $2 + global.set $~lib/rt/stub/offset + end + local.set $1 + end + local.get $1 i32.const 2480 call $~lib/string/String.__eq i32.eqz diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 1a16a8c308..3d55b458b7 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -4322,6 +4322,207 @@ local.get $0 call $~lib/util/number/dtoa ) + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + local.set $2 + local.get $1 + i32.const 0 + i32.le_s + if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end + local.get $1 + i32.const 0 + i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or + return + else + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + return + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + end + local.get $2 + return + end + end + end + end + loop $while-continue|1 + local.get $1 + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 + end + end + local.get $2 + ) (func $resolve-binary/Foo#constructor (param $0 i32) (result i32) local.get $0 i32.eqz diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index fd182b2ff1..644b949258 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -11114,7 +11114,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (param $0 i64) (param $1 i32) (result i64) + (func $~lib/math/ipow64 (param $0 i64) (param $1 i64) (result i64) (local $2 i64) i64.const 1 local.set $2 @@ -11147,68 +11147,14 @@ end local.get $2 ) - (func $~lib/math/ipow32f (param $0 f32) (param $1 i32) (result f32) - (local $2 f32) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor - local.set $1 - f32.const 1 + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + i32.const 1 local.set $2 loop $while-continue|0 local.get $1 if local.get $0 - f32.const 1 - local.get $1 - i32.const 1 - i32.and - select - f32.mul - local.set $2 - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - local.get $0 - local.get $0 - f32.mul - local.set $0 - br $while-continue|0 - end - end - local.get $3 - if - f32.const 1 - local.get $2 - f32.div - local.set $2 - end - local.get $2 - ) - (func $~lib/math/ipow64f (param $0 f64) (param $1 i32) (result f64) - (local $2 f64) - (local $3 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.tee $3 - local.get $1 - local.get $3 - i32.add - i32.xor - local.set $1 - f64.const 1 - local.set $2 - loop $while-continue|0 - local.get $1 - if local.get $2 i32.mul local.get $2 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 7abfd711c0..4c58725d7e 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -15733,7 +15733,7 @@ i32.clz f64.convert_i32_s ) - (func $~lib/math/ipow64 (param $0 i64) (param $1 i32) (result i64) + (func $~lib/math/ipow64 (param $0 i64) (param $1 i64) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -15978,7 +15978,7 @@ end local.get $2 ) - (func $~lib/math/ipow32f (param $0 f32) (param $1 i32) (result f32) + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16009,26 +16009,6 @@ i32.or return else - local.get $3 - end - ) - (func $~lib/math/ipow64f (param $0 f64) (param $1 i32) (result f64) - (local $2 i32) - (local $3 f64) - (local $4 i32) - local.get $1 - i32.const 31 - i32.shr_s - local.set $2 - local.get $1 - local.get $2 - i32.add - local.get $2 - i32.xor - local.set $1 - f64.const 1 - local.set $3 - loop $while-continue|0 local.get $1 i32.const 1 i32.eq diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index ff5dee3cf1..487b81017a 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -153,187 +153,8 @@ i32.store offset=4 local.get $2 ) - (func $~lib/math/NativeMath.scalbn (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 (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 f64) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 i64) - (local $15 f64) - (local $16 i32) - (local $17 i32) - (local $18 f64) - (local $19 i32) - (local $20 i32) - local.get $1 - f64.abs - f64.const 2 - f64.le - if - local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const -inf - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - local.get $0 - i64.reinterpret_f64 - local.tee $14 - i32.wrap_i64 - local.set $19 - local.get $14 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $16 - i32.const 2147483647 - i32.and - local.set $4 - local.get $1 - i64.reinterpret_f64 - local.tee $14 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 2147483647 - i32.and - local.tee $8 - local.get $14 - i32.wrap_i64 - local.tee $20 - i32.or - i32.eqz - if - f64.const 1 - return - end + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) i32.const 1 local.set $2 loop $while-continue|0 diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 2f06ed4065..5baa2cd8d5 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -348,9 +348,9 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) (local $4 i32) i32.const 1 local.set $2 From 35d614e4d8aab2a0bb1e8446650993e152c81105 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 21 Apr 2020 21:37:34 +0300 Subject: [PATCH 50/64] rebuild --- tests/compiler/resolve-binary.optimized.wat | 155 +-- .../std/object-literal-omitted.optimized.wat | 53 +- .../std/operator-overloading.optimized.wat | 986 +----------------- 3 files changed, 124 insertions(+), 1070 deletions(-) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 6539092636..46e1f622bc 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1357,68 +1357,11 @@ call $~lib/memory/memory.copy local.get $1 ) - (func $~lib/number/F64#toString (result i32) + (func $start:resolve-binary (local $0 i32) (local $1 i32) - (local $2 i32) - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $0 - call $~lib/util/number/dtoa_core - local.tee $1 - i32.const 28 - i32.ne - if (result i32) - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 2432 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 2432 - i32.const 72 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $0 - local.get $2 - i32.load - i32.add - i32.eq - if - local.get $2 - global.set $~lib/rt/stub/offset - end - else - local.get $0 - end - ) - (func $start:resolve-binary + (local $2 f64) + (local $3 i32) i32.const 1040 i32.const 1040 call $~lib/string/String.__eq @@ -1583,7 +1526,63 @@ call $~lib/builtins/abort unreachable end - call $~lib/number/F64#toString + block $__inlined_func$~lib/util/number/dtoa + i32.const 56 + i32.const 1 + call $~lib/rt/stub/__alloc + local.tee $1 + call $~lib/util/number/dtoa_core + local.tee $0 + i32.const 28 + i32.eq + br_if $__inlined_func$~lib/util/number/dtoa + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + select + i32.eqz + if + i32.const 0 + i32.const 2432 + i32.const 70 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.tee $3 + i32.load offset=4 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 2432 + i32.const 72 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/stub/offset + local.get $1 + local.get $3 + i32.load + i32.add + i32.eq + if + local.get $3 + global.set $~lib/rt/stub/offset + end + local.set $1 + end + local.get $1 i32.const 2480 call $~lib/string/String.__eq i32.eqz @@ -1796,8 +1795,38 @@ call $~lib/builtins/abort unreachable end - call $~lib/number/F64#toString - i32.const 2480 + i32.const 2 + local.set $1 + i32.const 2 + local.set $0 + i32.const 1 + local.set $3 + loop $while-continue|0 + local.get $0 + if + local.get $1 + local.get $3 + i32.mul + local.get $3 + local.get $0 + i32.const 1 + i32.and + select + local.set $3 + local.get $0 + i32.const 1 + i32.shr_u + local.set $0 + local.get $1 + local.get $1 + i32.mul + local.set $1 + br $while-continue|0 + end + end + local.get $3 + call $~lib/number/I32#toString + i32.const 2512 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/object-literal-omitted.optimized.wat b/tests/compiler/std/object-literal-omitted.optimized.wat index a70a39a38b..7399ef8711 100644 --- a/tests/compiler/std/object-literal-omitted.optimized.wat +++ b/tests/compiler/std/object-literal-omitted.optimized.wat @@ -632,10 +632,10 @@ i32.const 16 i32.lt_u if - local.get $2 local.get $1 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl @@ -1418,26 +1418,26 @@ i32.eq br_if $__inlined_func$~lib/string/String.__eq drop + block $folding-inner0 + i32.const 0 + i32.const 1 + local.get $2 + select + br_if $folding-inner0 + local.get $2 + call $~lib/string/String#get:length + local.tee $3 + i32.const 1280 + call $~lib/string/String#get:length + i32.ne + br_if $folding-inner0 + local.get $2 + local.get $3 + call $~lib/util/string/compareImpl + i32.eqz + br $__inlined_func$~lib/string/String.__eq + end i32.const 0 - i32.const 0 - i32.const 1 - local.get $2 - select - br_if $__inlined_func$~lib/string/String.__eq - drop - i32.const 0 - local.get $2 - call $~lib/string/String#get:length - local.tee $3 - i32.const 1280 - call $~lib/string/String#get:length - i32.ne - br_if $__inlined_func$~lib/string/String.__eq - drop - local.get $2 - local.get $3 - call $~lib/util/string/compareImpl - i32.eqz end i32.eqz if @@ -1501,16 +1501,13 @@ block $switch$1$case$6 block $switch$1$case$4 local.get $0 - i32.const 16 - i32.add - local.tee $1 i32.const 8 - i32.sub + i32.add i32.load br_table $__inlined_func$~lib/rt/__visit_members $__inlined_func$~lib/rt/__visit_members $switch$1$case$4 $__inlined_func$~lib/rt/__visit_members $switch$1$case$6 $switch$1$default end - local.get $1 - i32.load + local.get $0 + i32.load offset=16 local.tee $1 if local.get $1 @@ -1518,8 +1515,8 @@ end br $__inlined_func$~lib/rt/__visit_members end - local.get $1 - i32.load offset=4 + local.get $0 + i32.load offset=20 local.tee $1 if local.get $1 diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index f7393a471e..868a0b1ae3 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -153,370 +153,14 @@ i32.store offset=4 local.get $2 ) - (func $~lib/math/NativeMath.scalbn (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 (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 f64) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f64) - (local $11 i32) - (local $12 f64) - (local $13 i64) - (local $14 f64) - (local $15 i32) - (local $16 i32) - (local $17 f64) - (local $18 i32) - (local $19 i32) - (local $20 f64) - local.get $1 - f64.abs - f64.const 2 - f64.le - if - local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const -inf - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - local.get $0 - i64.reinterpret_f64 - local.tee $13 - i32.wrap_i64 - local.set $18 - local.get $13 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $15 - i32.const 2147483647 - i32.and - local.set $4 - local.get $1 - i64.reinterpret_f64 - local.tee $13 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 2147483647 - i32.and - local.tee $8 - local.get $13 - i32.wrap_i64 - local.tee $19 - i32.or - i32.eqz - if - f64.const 1 - return - end - i32.const 1 - local.get $19 - i32.const 0 - local.get $8 - i32.const 2146435072 - i32.eq - select - i32.const 1 - local.get $8 - i32.const 2146435072 - i32.gt_s + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) i32.const 1 - local.get $18 - i32.const 0 - local.get $4 - i32.const 2146435072 - i32.eq - select - local.get $4 - i32.const 2146435072 - i32.gt_s - select - select - select - if - local.get $0 + local.set $2 + loop $while-continue|0 local.get $1 - f64.add - return - end - local.get $15 - 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) - i32.const 52 - i32.const 20 - local.get $8 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $9 - i32.const 20 - i32.gt_s - local.tee $5 - select - local.get $9 - i32.sub - local.set $11 - i32.const 2 - local.get $19 - local.get $8 - local.get $5 - select - local.tee $5 - local.get $11 - i32.shr_u - local.tee $9 - i32.const 1 - i32.and - i32.sub - i32.const 0 - local.get $5 - local.get $9 - local.get $11 - i32.shl - i32.eq - select - else - i32.const 0 - end - end - local.set $5 - end - local.get $19 - i32.eqz - if - local.get $8 - i32.const 2146435072 - i32.eq if - local.get $18 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if - local.get $4 - i32.const 1072693248 - i32.ge_s - if - local.get $1 - f64.const 0 - local.get $7 - i32.const 0 - i32.ge_s - select - return - else - local.get $1 - f64.neg - f64.const 0 - local.get $7 - i32.const 0 - i32.lt_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 $7 - i32.const 0 - i32.ge_s - if - local.get $0 - return - end - f64.const 1 local.get $0 - f64.div - return - end - local.get $7 - i32.const 1073741824 - i32.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $7 - i32.const 1071644672 - i32.eq - if - local.get $15 - i32.const 0 - i32.ge_s - if - local.get $0 - f64.sqrt - return - end - end - end - local.get $0 - f64.abs - local.set $2 - local.get $18 - i32.eqz - if - i32.const 1 - local.get $4 - i32.const 1072693248 - i32.eq - local.get $4 - i32.const 2146435072 - i32.eq - i32.const 1 - local.get $4 - select - select - if - f64.const 1 local.get $2 i32.mul local.get $2 @@ -525,537 +169,6 @@ i32.and select local.set $2 - local.get $15 - i32.const 0 - i32.lt_s - if (result f64) - local.get $5 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if (result f64) - local.get $2 - f64.neg - local.get $2 - local.get $5 - i32.const 1 - i32.eq - select - else - local.get $2 - local.get $2 - f64.sub - local.tee $0 - local.get $0 - f64.div - end - else - local.get $2 - end - return - end - end - f64.const 1 - local.set $10 - local.get $15 - i32.const 0 - i32.lt_s - if - local.get $5 - 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 $5 - i32.const 1 - i32.eq - select - local.set $10 - 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 $4 - i32.const 1072693247 - i32.le_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.ge_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - end - local.get $4 - i32.const 1072693247 - i32.lt_s - if - local.get $10 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $10 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.gt_s - if - local.get $10 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $10 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - f64.const 1.4426950216293335 - local.get $2 - f64.const 1 - f64.sub - local.tee $0 - f64.mul - local.tee $2 - local.get $0 - f64.const 1.9259629911266175e-08 - f64.mul - local.get $0 - local.get $0 - f64.mul - f64.const 0.5 - local.get $0 - f64.const 0.3333333333333333 - local.get $0 - f64.const 0.25 - f64.mul - f64.sub - f64.mul - f64.sub - f64.mul - 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 $6 - local.get $0 - local.get $6 - local.get $2 - f64.sub - f64.sub - else - local.get $4 - i32.const 1048576 - i32.lt_s - if (result i32) - local.get $2 - f64.const 9007199254740992 - f64.mul - local.tee $2 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $4 - i32.const -53 - else - i32.const 0 - end - local.get $4 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - i32.add - local.set $7 - local.get $4 - i32.const 1048575 - i32.and - local.tee $5 - i32.const 1072693248 - i32.or - local.set $4 - local.get $5 - i32.const 235662 - i32.gt_s - if - local.get $5 - i32.const 767610 - i32.lt_s - if - i32.const 1 - local.set $16 - else - local.get $7 - i32.const 1 - i32.add - local.set $7 - local.get $4 - i32.const -1048576 - i32.add - local.set $4 - end - end - f64.const 0.9617967009544373 - local.get $2 - i64.reinterpret_f64 - i64.const 4294967295 - i64.and - local.get $4 - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - local.tee $6 - f64.const 1.5 - f64.const 1 - local.get $16 - select - local.tee $3 - f64.sub - local.tee $2 - f64.const 1 - local.get $6 - local.get $3 - f64.add - f64.div - local.tee $0 - f64.mul - local.tee $17 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $14 - f64.const 3 - local.get $14 - local.get $14 - f64.mul - local.tee $20 - f64.add - local.get $17 - local.get $17 - f64.mul - local.tee $12 - local.get $12 - f64.mul - f64.const 0.5999999999999946 - local.get $12 - f64.const 0.4285714285785502 - local.get $12 - f64.const 0.33333332981837743 - local.get $12 - f64.const 0.272728123808534 - local.get $12 - f64.const 0.23066074577556175 - local.get $12 - 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 $0 - local.get $2 - local.get $14 - local.get $4 - i32.const 1 - i32.shr_s - i32.const 536870912 - i32.or - i32.const 524288 - i32.add - local.get $16 - i32.const 18 - i32.shl - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.tee $0 - f64.mul - f64.sub - local.get $14 - local.get $6 - local.get $0 - local.get $3 - f64.sub - f64.sub - f64.mul - f64.sub - f64.mul - local.tee $3 - local.get $14 - local.get $17 - f64.add - f64.mul - f64.add - local.tee $0 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $6 - f64.mul - local.tee $2 - local.get $3 - local.get $6 - f64.mul - local.get $0 - local.get $6 - f64.const 3 - f64.sub - local.get $20 - f64.sub - f64.sub - local.get $17 - 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 $2 - f64.sub - f64.sub - f64.const 0.9617966939259756 - f64.mul - f64.add - f64.const 1.350039202129749e-08 - f64.const 0 - local.get $16 - select - f64.add - local.tee $3 - f64.add - f64.const 0.5849624872207642 - f64.const 0 - local.get $16 - select - local.tee $2 - f64.add - local.get $7 - f64.convert_i32_s - local.tee $0 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $6 - local.get $3 - local.get $6 - local.get $0 - f64.sub - local.get $2 - f64.sub - local.get $20 - f64.sub - f64.sub - end - local.set $2 - local.get $1 - local.get $1 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - f64.sub - local.get $6 - f64.mul - local.get $1 - local.get $2 - f64.mul - f64.add - local.tee $1 - local.get $0 - local.get $6 - f64.mul - local.tee $3 - f64.add - local.tee $0 - i64.reinterpret_f64 - local.tee $13 - i32.wrap_i64 - local.set $5 - block $folding-inner1 - block $folding-inner0 - local.get $13 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $11 - i32.const 1083179008 - i32.ge_s - if - local.get $5 - local.get $11 - i32.const 1083179008 - i32.sub - i32.or - local.get $1 - f64.const 8.008566259537294e-17 - f64.add - local.get $0 - local.get $3 - f64.sub - f64.gt - i32.or - br_if $folding-inner0 - else - local.get $11 - i32.const 2147483647 - i32.and - i32.const 1083231232 - i32.ge_s - i32.const 0 - local.get $5 - local.get $11 - i32.const -1064252416 - i32.sub - i32.or - local.get $1 - local.get $0 - local.get $3 - f64.sub - f64.le - i32.or - select - br_if $folding-inner1 - end - local.get $11 - i32.const 2147483647 - i32.and - local.tee $9 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.set $5 - i32.const 0 - local.set $7 - local.get $9 - i32.const 1071644672 - i32.gt_s - if - i32.const 1048575 - local.get $11 - i32.const 1048576 - local.get $5 - i32.const 1 - i32.add - i32.shr_s - i32.add - local.tee $9 - i32.const 2147483647 - i32.and - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $5 - i32.shr_s - i32.const -1 - i32.xor - local.get $9 - i32.and - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $0 - i32.const 0 - local.get $9 - i32.const 1048575 - i32.and - i32.const 1048576 - i32.or - i32.const 20 - local.get $5 - i32.sub - i32.shr_s - local.tee $7 - i32.sub - local.get $7 - local.get $11 - i32.const 0 - i32.lt_s - select - local.set $7 - local.get $3 - local.get $0 - f64.sub - local.set $3 - end local.get $1 i32.const 1 i32.shr_u @@ -1064,95 +177,10 @@ local.get $0 i32.mul local.set $0 - local.get $10 - 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 $2 - 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 $7 - i32.const 20 - i32.shl - i32.add - local.tee $5 - i32.const 20 - i32.shr_s - i32.const 0 - i32.le_s - if (result f64) - local.get $0 - local.get $7 - call $~lib/math/NativeMath.scalbn - else - local.get $0 - 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 - end - f64.mul - return + br $while-continue|0 end - local.get $10 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - return - end - local.get $10 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul + end + local.get $2 ) (func $std/operator-overloading/Tester.equals (param $0 i32) (param $1 i32) (result i32) local.get $0 From a6d39c1156fb3f423ceb04cd3f757b12bcb21671 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 23 Apr 2020 21:49:25 +0300 Subject: [PATCH 51/64] update tests --- tests/compiler/resolve-binary.optimized.wat | 153 +++--- tests/compiler/resolve-binary.untouched.wat | 2 +- .../std/operator-overloading.untouched.wat | 459 +----------------- 3 files changed, 110 insertions(+), 504 deletions(-) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 9bf56a1f00..740decefed 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1360,65 +1360,8 @@ (func $start:resolve-binary (local $0 i32) (local $1 i32) - (local $2 i32) - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $0 - call $~lib/util/number/dtoa_core - local.tee $1 - i32.const 28 - i32.ne - if (result i32) - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 2368 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 2368 - i32.const 72 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $0 - local.get $2 - i32.load - i32.add - i32.eq - if - local.get $2 - global.set $~lib/rt/stub/offset - end - else - local.get $0 - end - ) - (func $start:resolve-binary + (local $2 f64) + (local $3 i32) i32.const 1040 i32.const 1040 call $~lib/string/String.__eq @@ -1583,7 +1526,63 @@ call $~lib/builtins/abort unreachable end - call $~lib/number/F64#toString + block $__inlined_func$~lib/util/number/dtoa + i32.const 56 + i32.const 1 + call $~lib/rt/stub/__alloc + local.tee $1 + call $~lib/util/number/dtoa_core + local.tee $0 + i32.const 28 + i32.eq + br_if $__inlined_func$~lib/util/number/dtoa + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + select + i32.eqz + if + i32.const 0 + i32.const 2368 + i32.const 70 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.tee $3 + i32.load offset=4 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 2368 + i32.const 72 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/stub/offset + local.get $1 + local.get $3 + i32.load + i32.add + i32.eq + if + local.get $3 + global.set $~lib/rt/stub/offset + end + local.set $1 + end + local.get $1 i32.const 2416 call $~lib/string/String.__eq i32.eqz @@ -1796,8 +1795,38 @@ call $~lib/builtins/abort unreachable end - call $~lib/number/F64#toString - i32.const 2416 + i32.const 2 + local.set $1 + i32.const 2 + local.set $0 + i32.const 1 + local.set $3 + loop $while-continue|0 + local.get $0 + if + local.get $1 + local.get $3 + i32.mul + local.get $3 + local.get $0 + i32.const 1 + i32.and + select + local.set $3 + local.get $0 + i32.const 1 + i32.shr_u + local.set $0 + local.get $1 + local.get $1 + i32.mul + local.set $1 + br $while-continue|0 + end + end + local.get $3 + call $~lib/number/I32#toString + i32.const 2448 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 8faeb08fbe..b717a56c73 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -5197,7 +5197,7 @@ call $~lib/math/ipow32 call $~lib/number/I32#toString local.tee $26 - i32.const 7952 + i32.const 7984 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index a76cfed3e9..5baa2cd8d5 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -8,8 +8,6 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "6\00\00\00\01\00\00\00\01\00\00\006\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\00") - (data (i32.const 88) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") (table $0 1 funcref) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) @@ -81,7 +79,7 @@ (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)) - (global $~lib/heap/__heap_base i32 (i32.const 6232)) + (global $~lib/heap/__heap_base i32 (i32.const 88)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/stub/maybeGrowMemory (param $0 i32) @@ -523,245 +521,14 @@ end end end - local.get $5 - local.set $9 - local.get $9 - i64.const 4604531861337669632 - i64.sub - local.set $11 - local.get $11 - i64.const 52 - i64.const 7 - i64.sub - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - local.set $12 - local.get $11 - i64.const 52 - i64.shr_s - local.set $13 - local.get $9 - local.get $11 - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $14 - local.get $14 - f64.reinterpret_i64 - local.set $10 - local.get $13 - f64.convert_i64_s - local.set $15 - i32.const 88 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $16 - i32.const 88 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=16 - local.set $17 - i32.const 88 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=24 - local.set $18 - local.get $14 - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $19 - local.get $10 - local.get $19 - f64.sub - local.set $20 - local.get $19 - local.get $16 - f64.mul - f64.const 1 - f64.sub - local.set $21 - local.get $20 - local.get $16 - f64.mul - local.set $22 - local.get $21 - local.get $22 - f64.add - local.set $23 - local.get $15 - f64.const 0.6931471805598903 - f64.mul - local.get $17 - f64.add - local.set $24 - local.get $24 - local.get $23 - f64.add - local.set $25 - local.get $15 - f64.const 5.497923018708371e-14 - f64.mul - local.get $18 - f64.add - local.set $26 - local.get $24 - local.get $25 - f64.sub - local.get $23 - f64.add - local.set $27 - f64.const -0.5 - local.get $23 - f64.mul - local.set $28 - local.get $23 - local.get $28 - f64.mul - local.set $29 - local.get $23 - local.get $29 - f64.mul - local.set $30 - f64.const -0.5 - local.get $21 - f64.mul - local.set $31 - local.get $21 - local.get $31 - f64.mul - local.set $32 - local.get $25 - local.get $32 - f64.add - local.set $33 - local.get $22 - local.get $28 - local.get $31 - f64.add - f64.mul - local.set $34 - local.get $25 - local.get $33 - f64.sub - local.get $32 - f64.add - local.set $35 - local.get $30 - f64.const -0.6666666666666679 - local.get $23 - f64.const 0.5000000000000007 - f64.mul - f64.add - local.get $29 - f64.const 0.7999999995323976 - local.get $23 - f64.const -0.6666666663487739 - f64.mul - f64.add - local.get $29 - f64.const -1.142909628459501 - local.get $23 - f64.const 1.0000415263675542 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $36 - local.get $26 - local.get $27 - f64.add - local.get $34 - f64.add - local.get $35 - f64.add - local.get $36 - f64.add - local.set $37 - local.get $33 - local.get $37 - f64.add - local.set $38 - local.get $33 - local.get $38 - f64.sub - local.get $37 - f64.add - global.set $~lib/util/math/log_tail - local.get $38 - local.set $38 - global.get $~lib/util/math/log_tail - local.set $37 - local.get $6 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $34 - local.get $2 - local.get $34 - f64.sub - local.set $33 - local.get $38 - i64.reinterpret_f64 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $32 - local.get $38 - local.get $32 - f64.sub - local.get $37 - f64.add - local.set $31 - local.get $34 - local.get $32 - f64.mul - local.set $36 - local.get $33 - local.get $32 - f64.mul - local.get $2 - local.get $31 - f64.mul - f64.add - local.set $35 - block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $36 - local.set $15 - local.get $35 - local.set $10 - local.get $4 - local.set $12 - local.get $15 - i64.reinterpret_f64 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i32.wrap_i64 - i32.const 2047 + end + loop $while-continue|1 + local.get $1 + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 i32.and if local.get $2 @@ -769,205 +536,15 @@ i32.mul local.set $2 end - f64.const 184.6649652337873 - local.get $15 - f64.mul - local.set $29 - local.get $29 - f64.const 6755399441055744 - f64.add - local.set $30 - local.get $30 - i64.reinterpret_f64 - local.set $14 - local.get $30 - f64.const 6755399441055744 - f64.sub - local.set $30 - local.get $15 - local.get $30 - f64.const -0.005415212348111709 - f64.mul - f64.add - local.get $30 - f64.const -1.2864023111638346e-14 - f64.mul - f64.add - local.set $28 - local.get $28 - local.get $10 - f64.add - local.set $28 - local.get $14 - i64.const 127 - i64.and - i64.const 1 - i64.shl - i32.wrap_i64 - local.set $40 - local.get $14 - local.get $12 - i64.extend_i32_u - i64.add - i64.const 52 - i64.const 7 - i64.sub - i64.shl - local.set $13 - i32.const 4184 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $25 - i32.const 4184 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load offset=8 - local.get $13 - i64.add - local.set $11 - local.get $28 - local.get $28 - f64.mul - local.set $27 - local.get $25 - local.get $28 - f64.add - local.get $27 - f64.const 0.49999999999996786 - local.get $28 - f64.const 0.16666666666665886 - f64.mul - f64.add - f64.mul - f64.add - local.get $27 - local.get $27 - f64.mul - f64.const 0.0416666808410674 - local.get $28 - f64.const 0.008333335853059549 - f64.mul - f64.add - f64.mul - f64.add - local.set $24 - local.get $39 - i32.const 0 - i32.eq - if - block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $24 - local.set $18 - local.get $11 - local.set $44 - local.get $14 - local.set $43 - local.get $43 - i64.const 2147483648 - i64.and - i64.const 0 - i64.ne - i32.eqz - if - local.get $44 - i64.const 1009 - i64.const 52 - i64.shl - i64.sub - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - f64.const 5486124068793688683255936e279 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - f64.mul - br $~lib/util/math/specialcase|inlined.0 - end - local.get $44 - i64.const 1022 - i64.const 52 - i64.shl - i64.add - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $16 - local.get $16 - f64.abs - f64.const 1 - f64.lt - if - f64.const 1 - local.get $16 - f64.copysign - local.set $23 - local.get $17 - local.get $16 - f64.sub - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $22 - local.get $23 - local.get $16 - f64.add - local.set $21 - local.get $23 - local.get $21 - f64.sub - local.get $16 - f64.add - local.get $22 - f64.add - local.set $22 - local.get $21 - local.get $22 - f64.add - local.get $23 - f64.sub - local.set $16 - local.get $16 - f64.const 0 - f64.eq - if - local.get $44 - i64.const -9223372036854775808 - i64.and - f64.reinterpret_i64 - local.set $16 - end - end - local.get $16 - f64.const 2.2250738585072014e-308 - f64.mul - end - br $~lib/util/math/exp_inline|inlined.0 - end - local.get $11 - f64.reinterpret_i64 - local.set $26 - local.get $26 - local.get $26 - local.get $24 - f64.mul - f64.add + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 end end local.get $2 From abfc3199daa4d97cf860e32b44feb1f246a5f0ca Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Fri, 1 May 2020 14:07:00 +0300 Subject: [PATCH 52/64] rebuild --- tests/compiler/binary.untouched.wat | 4 + tests/compiler/resolve-binary.untouched.wat | 12 +- tests/compiler/std/math.untouched.wat | 167 ++++--- .../std/operator-overloading.untouched.wat | 462 +++++------------- 4 files changed, 238 insertions(+), 407 deletions(-) diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index e549be5d0b..383098988f 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -24,6 +24,10 @@ (local $4 i32) i32.const 1 local.set $2 + i32.const 0 + i32.const 1 + i32.lt_s + drop local.get $1 i32.const 0 i32.le_s diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 400218d8ef..3d4abea6b4 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -4389,6 +4389,10 @@ (local $4 i32) i32.const 1 local.set $2 + i32.const 0 + i32.const 1 + i32.lt_s + drop local.get $1 i32.const 0 i32.le_s @@ -5280,11 +5284,9 @@ unreachable end i32.const 2 - f64.convert_i32_u - f64.const 2 - call $~lib/math/NativeMath.pow - i32.const 0 - call $~lib/number/F64#toString + i32.const 2 + call $~lib/math/ipow32 + call $~lib/number/I32#toString local.tee $26 i32.const 7984 call $~lib/string/String.__eq diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 3a0a4bd28f..c286f14221 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -16225,6 +16225,10 @@ (local $4 i32) i32.const 1 local.set $2 + i32.const 0 + i32.const 1 + i32.lt_s + drop local.get $1 i32.const 0 i32.le_s @@ -58898,6 +58902,24 @@ unreachable end i32.const 1 + i32.const 0 + i32.const 0 + i32.eq + i32.const 0 + select + i32.const 1 + i32.eq + drop + i32.const 1 + i32.const 1 + i32.const 0 + i32.eq + i32.const 0 + select + i32.const 0 + i32.eq + drop + i32.const 1 i32.const 3 call $~lib/math/ipow32 i32.const 1 @@ -58995,8 +59017,6 @@ call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg i32.const 0 i32.const -1 call $~lib/math/ipow32 @@ -59011,13 +59031,29 @@ call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg i32.const 1 - call $~lib/math/ipow32f - f32.const inf - f32.neg - f32.eq + i32.const 0 + i32.const 0 + i32.eq + i32.const 0 + select + i32.const 1 + i32.eq + drop + i32.const 1 + i32.const 1 + i32.const 0 + i32.eq + i32.const 0 + select + i32.const 0 + i32.eq + drop + i32.const 0 + i32.const 2 + call $~lib/math/ipow32 + i32.const 0 + i32.eq i32.eqz if i32.const 0 @@ -59027,12 +59063,11 @@ call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - i32.const 2 - call $~lib/math/ipow32f - f32.const inf - f32.eq + i32.const 1 + i32.const -2 + call $~lib/math/ipow32 + i32.const 1 + i32.eq i32.eqz if i32.const 0 @@ -59056,7 +59091,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f32.MAX_VALUE + i32.const 1 + i32.const 0 + i32.const 0 + i32.eq + i32.const 1 + select + i32.const 1 + i32.eq + drop + i32.const 1 + i32.const 1 + i32.const 0 + i32.eq + i32.const 1 + select + i32.const 1 + i32.eq + drop + i32.const 1 i32.const 2 call $~lib/math/ipow32 i32.const 1 @@ -59070,11 +59123,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f32.MIN_VALUE - i32.const 2 - call $~lib/math/ipow32f - f32.const 0 - f32.eq + i32.const 1 + i32.const 3 + call $~lib/math/ipow32 + i32.const 1 + i32.eq i32.eqz if i32.const 0 @@ -59084,11 +59137,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f32.MAX_VALUE - i32.const -1 - call $~lib/math/ipow32f - f32.const 2.938735877055719e-39 - f32.eq + i32.const -2 + i32.const 3 + call $~lib/math/ipow32 + i32.const -8 + i32.eq i32.eqz if i32.const 0 @@ -59224,12 +59277,11 @@ call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - i32.const 0 - call $~lib/math/ipow64f - f64.const 1 - f64.eq + i64.const 61731 + i64.const 4 + call $~lib/math/ipow64 + i64.const -3925184889716469295 + i64.eq i32.eqz if i32.const 0 @@ -59239,13 +59291,11 @@ call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - i32.const 1 - call $~lib/math/ipow64f - f64.const inf - f64.neg - f64.eq + i64.const 61731 + i64.const 4 + call $~lib/math/ipow64 + i64.const -3925184889716469295 + i64.eq i32.eqz if i32.const 0 @@ -59255,12 +59305,17 @@ call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - i32.const 2 - call $~lib/math/ipow64f - f64.const inf - f64.eq + i64.const 57055 + i64.const 3 + call $~lib/math/ipow64 + i64.const 339590 + i64.const 3 + call $~lib/math/ipow64 + i64.add + i64.const 340126 + i64.const 3 + call $~lib/math/ipow64 + i64.ne i32.eqz if i32.const 0 @@ -59288,10 +59343,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - i32.const 2 - call $~lib/math/ipow64f - f64.const inf + i32.const 1 + f64.convert_i32_u + f64.const 0.5 + call $~lib/math/NativeMath.pow + f64.const 1 f64.eq i32.eqz if @@ -59302,10 +59358,8 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MIN_VALUE - i32.const 2 - call $~lib/math/ipow64f - f64.const 0 + i32.const 0 + f64.convert_i32_u f64.const 0.5 call $~lib/math/NativeMath.pow f64.const 0 @@ -59319,10 +59373,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - i32.const -1 - call $~lib/math/ipow64f - f64.const 5.562684646268003e-309 + i32.const 0 + f64.convert_i32_u + f64.const -1 + call $~lib/math/NativeMath.pow + f64.const inf f64.eq i32.eqz if diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 2aa5783b4f..3722cbd445 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -356,6 +356,10 @@ (local $4 i32) i32.const 1 local.set $2 + i32.const 0 + i32.const 1 + i32.lt_s + drop local.get $1 i32.const 0 i32.le_s @@ -387,72 +391,10 @@ if local.get $0 return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/pow_lut|inlined.0 (result f64) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - i32.const 0 - local.set $4 - local.get $3 - i64.reinterpret_f64 - local.set $5 - local.get $2 - i64.reinterpret_f64 - local.set $6 - local.get $5 - i64.const 52 - i64.shr_u - local.set $7 - local.get $6 - i64.const 52 - i64.shr_u - local.set $8 - local.get $7 - i64.const 1 - i64.sub - i64.const 2047 - i64.const 1 - i64.sub - i64.ge_u - if (result i32) - i32.const 1 else - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 1086 - i64.const 958 - i64.sub - i64.ge_u - end - if - local.get $6 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u + local.get $1 + i32.const 2 + i32.eq if local.get $0 local.get $0 @@ -463,299 +405,127 @@ i32.const 32 i32.lt_s if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - if (result i32) - i32.const 1 - else - local.get $6 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - end - if - local.get $3 - local.get $2 - f64.add - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.lt_u - local.get $6 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.eqz - i32.eq - if - f64.const 0 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $2 - local.get $2 - f64.mul - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u - if - local.get $3 - local.get $3 - f64.mul - local.set $10 - local.get $5 - i64.const 63 - i64.shr_u - i32.wrap_i64 - if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end - local.get $11 - i64.const 1023 - i64.const 52 - i64.add - i64.gt_u + local.get $1 + i32.const 1 + i32.and if local.get $2 local.get $0 i32.mul local.set $2 end - i64.const 1 - i64.const 1023 - i64.const 52 - i64.add - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 - end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne - if - i32.const 1 - br $~lib/util/math/checkint|inlined.0 - end - i32.const 2 end local.get $2 return end end - local.get $5 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if - block $~lib/util/math/checkint|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u - if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 - end - local.get $11 - i64.const 1023 - i64.const 52 - i64.add - i64.gt_u - if - i32.const 2 - br $~lib/util/math/checkint|inlined.1 - end - i64.const 1 - i64.const 1023 - i64.const 52 - i64.add - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 - end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne - if - i32.const 1 - br $~lib/util/math/checkint|inlined.1 - end - i32.const 2 - end - local.set $12 - local.get $12 - i32.const 0 - i32.eq - if - local.get $3 - local.get $3 - f64.sub - local.get $3 - local.get $3 - f64.sub - f64.div - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $12 - i32.const 1 - i32.eq - if - i32.const 262144 - local.set $4 - end - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $7 - i64.const 2047 - i64.and - local.set $7 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 1086 - i64.const 958 - i64.sub - i64.ge_u - if - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.lt_u - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.gt_u - local.get $8 - i64.const 2048 - i64.lt_u - i32.eq - if (result f64) - f64.const inf - else - f64.const 0 - end - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $7 - i64.const 0 - i64.eq - if - local.get $3 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $5 - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $5 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $5 - end end end loop $while-continue|1 From 5d6eaf42d47dda510f65df6b9ee0a08fc8038adb Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Fri, 1 May 2020 17:47:05 +0300 Subject: [PATCH 53/64] remove TBD --- tests/compiler/resolve-binary.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/compiler/resolve-binary.ts b/tests/compiler/resolve-binary.ts index 5687252b29..878d4d44ca 100644 --- a/tests/compiler/resolve-binary.ts +++ b/tests/compiler/resolve-binary.ts @@ -144,7 +144,7 @@ assert( assert( (2 ** 2).toString() == - "4" // TBD + "4" ); // shift From c2ce14882421097a9b7a50d36c36c6661e8a10cf Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Fri, 15 May 2020 14:42:56 +0300 Subject: [PATCH 54/64] rebuild --- tests/compiler/resolve-binary.untouched.wat | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 6a21f8eb74..c2d2da8bc4 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -5283,11 +5283,10 @@ call $~lib/builtins/abort unreachable end - f64.const 2 - f64.const 2 - call $~lib/math/NativeMath.pow - i32.const 0 - call $~lib/number/F64#toString + i32.const 2 + i32.const 2 + call $~lib/math/ipow32 + call $~lib/number/I32#toString local.tee $26 i32.const 7984 call $~lib/string/String.__eq From d82a98b711d14ff4ceffc049bdb3d162a91eef57 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Fri, 15 May 2020 14:59:55 +0300 Subject: [PATCH 55/64] Fix bootstrap --- src/compiler.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index b41c26d519..9e0f53eb55 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4854,8 +4854,8 @@ export class Compiler extends DiagnosticEmitter { expr = module.unreachable(); break; } - let prototype = namespace.members ? namespace.members.get(CommonNames.pow) : null; - if (!prototype) { + let namespaceMembers = namespace.members; + if (!namespaceMembers || !namespaceMembers.has(CommonNames.pow)) { this.error( DiagnosticCode.Cannot_find_name_0, expression.range, "Mathf.pow" @@ -4863,6 +4863,7 @@ export class Compiler extends DiagnosticEmitter { expr = module.unreachable(); break; } + let prototype = assert(namespaceMembers.get(CommonNames.pow)); assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); this.f32PowInstance = instance = this.resolver.resolveFunction(prototype, null); } @@ -4887,8 +4888,8 @@ export class Compiler extends DiagnosticEmitter { expr = module.unreachable(); break; } - let prototype = namespace.members ? namespace.members.get(CommonNames.pow) : null; - if (!prototype) { + let namespaceMembers = namespace.members; + if (!namespaceMembers || !namespaceMembers.has(CommonNames.pow)) { this.error( DiagnosticCode.Cannot_find_name_0, expression.range, "Math.pow" @@ -4896,6 +4897,7 @@ export class Compiler extends DiagnosticEmitter { expr = module.unreachable(); break; } + let prototype = assert(namespaceMembers.get(CommonNames.pow)); assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); this.f64PowInstance = instance = this.resolver.resolveFunction(prototype, null); } From 20b54c61cfa4368554f18e713cb70b7b9f576a23 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Jun 2020 17:07:01 +0300 Subject: [PATCH 56/64] rebuild --- tests/compiler/resolve-binary.optimized.wat | 153 ++++++++++++-------- tests/compiler/resolve-binary.untouched.wat | 3 +- 2 files changed, 93 insertions(+), 63 deletions(-) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 0faf003552..968f3bd87f 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -1363,65 +1363,8 @@ (func $start:resolve-binary (local $0 i32) (local $1 i32) - (local $2 i32) - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $0 - call $~lib/util/number/dtoa_core - local.tee $1 - i32.const 28 - i32.ne - if (result i32) - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.get $0 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $0 - select - i32.eqz - if - i32.const 0 - i32.const 2656 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 16 - i32.sub - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 2656 - i32.const 70 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $0 - local.get $2 - i32.load - i32.add - i32.eq - if - local.get $2 - global.set $~lib/rt/stub/offset - end - else - local.get $0 - end - ) - (func $start:resolve-binary + (local $2 f64) + (local $3 i32) i32.const 1040 i32.const 1040 call $~lib/string/String.__eq @@ -1586,7 +1529,63 @@ call $~lib/builtins/abort unreachable end - call $~lib/number/F64#toString + block $__inlined_func$~lib/util/number/dtoa + i32.const 56 + i32.const 1 + call $~lib/rt/stub/__alloc + local.tee $1 + call $~lib/util/number/dtoa_core + local.tee $0 + i32.const 28 + i32.eq + br_if $__inlined_func$~lib/util/number/dtoa + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + select + i32.eqz + if + i32.const 0 + i32.const 2656 + i32.const 68 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.tee $3 + i32.load offset=4 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 2656 + i32.const 70 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/stub/offset + local.get $1 + local.get $3 + i32.load + i32.add + i32.eq + if + local.get $3 + global.set $~lib/rt/stub/offset + end + local.set $1 + end + local.get $1 i32.const 2704 call $~lib/string/String.__eq i32.eqz @@ -1799,8 +1798,38 @@ call $~lib/builtins/abort unreachable end - call $~lib/number/F64#toString - i32.const 2704 + i32.const 2 + local.set $1 + i32.const 2 + local.set $0 + i32.const 1 + local.set $3 + loop $while-continue|0 + local.get $0 + if + local.get $1 + local.get $3 + i32.mul + local.get $3 + local.get $0 + i32.const 1 + i32.and + select + local.set $3 + local.get $0 + i32.const 1 + i32.shr_u + local.set $0 + local.get $1 + local.get $1 + i32.mul + local.set $1 + br $while-continue|0 + end + end + local.get $3 + call $~lib/number/I32#toString + i32.const 2736 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index b5a673fe98..8d3d73f9b2 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -5610,9 +5610,10 @@ i32.const 2 i32.const 2 call $~lib/math/ipow32 + i32.const 10 call $~lib/number/I32#toString local.tee $26 - i32.const 9280 + i32.const 9312 call $~lib/string/String.__eq i32.eqz if From f98d11ac09c913e5e3d73538c2c7034f388b2fb1 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Jun 2020 17:19:14 +0300 Subject: [PATCH 57/64] fix lint --- src/glue/wasm/i64.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/glue/wasm/i64.ts b/src/glue/wasm/i64.ts index 1134b8b459..ff69d03c18 100644 --- a/src/glue/wasm/i64.ts +++ b/src/glue/wasm/i64.ts @@ -11,8 +11,7 @@ @global const i64_one: i64 = 1; // @ts-ignore: decorator -@global -const i64_neg_one: i64 = -1; +@global const i64_neg_one: i64 = -1; // @ts-ignore: decorator @global From 378146579fcc31f637e5882d5319c62cc468f783 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Jun 2020 23:45:24 +0300 Subject: [PATCH 58/64] handle small types --- src/compiler.ts | 6 ++- tests/compiler/std/math.optimized.wat | 72 ++++++++++++++++++------- tests/compiler/std/math.ts | 5 +- tests/compiler/std/math.untouched.wat | 78 +++++++++++++++++++++------ 4 files changed, 121 insertions(+), 40 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index dcd8713dcc..7eef949134 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4812,7 +4812,10 @@ export class Compiler extends DiagnosticEmitter { if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); } else { - expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); + expr = this.ensureSmallIntegerWrap( + this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression), + commonType + ); } break; } @@ -4901,7 +4904,6 @@ export class Compiler extends DiagnosticEmitter { break; } // Math.pow otherwise (result is f64) - // TODO: should the result be converted back? case TypeKind.F64: { instance = this.f64PowInstance; if (!instance) { diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 7d4b48ad81..7482a25aa1 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -48484,6 +48484,8 @@ i32.const 1 i32.const 3 call $~lib/math/ipow32 + i32.const 255 + i32.and i32.const 1 i32.ne if @@ -48497,7 +48499,9 @@ i32.const -2 i32.const 3 call $~lib/math/ipow32 - i32.const -8 + i32.const 255 + i32.and + i32.const 248 i32.ne if i32.const 0 @@ -48510,6 +48514,8 @@ i32.const 4 i32.const 7 call $~lib/math/ipow32 + i32.const 65535 + i32.and i32.const 16384 i32.ne if @@ -48523,8 +48529,8 @@ i32.const 4 i32.const 8 call $~lib/math/ipow32 - i32.const 65536 - i32.ne + i32.const 65535 + i32.and if i32.const 0 i32.const 1040 @@ -48533,6 +48539,34 @@ call $~lib/builtins/abort unreachable end + i32.const 4 + i32.const 9 + call $~lib/math/ipow32 + i32.const 65535 + i32.and + if + i32.const 0 + i32.const 1040 + i32.const 4111 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 10 + call $~lib/math/ipow32 + i32.const 65535 + i32.and + i32.const 761 + i32.ne + if + i32.const 0 + i32.const 1040 + i32.const 4112 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i64.const 0 i64.const 0 call $~lib/math/ipow64 @@ -48541,7 +48575,7 @@ if i32.const 0 i32.const 1040 - i32.const 4113 + i32.const 4114 i32.const 1 call $~lib/builtins/abort unreachable @@ -48554,7 +48588,7 @@ if i32.const 0 i32.const 1040 - i32.const 4114 + i32.const 4115 i32.const 1 call $~lib/builtins/abort unreachable @@ -48567,7 +48601,7 @@ if i32.const 0 i32.const 1040 - i32.const 4115 + i32.const 4116 i32.const 1 call $~lib/builtins/abort unreachable @@ -48580,7 +48614,7 @@ if i32.const 0 i32.const 1040 - i32.const 4116 + i32.const 4117 i32.const 1 call $~lib/builtins/abort unreachable @@ -48593,7 +48627,7 @@ if i32.const 0 i32.const 1040 - i32.const 4117 + i32.const 4118 i32.const 1 call $~lib/builtins/abort unreachable @@ -48606,7 +48640,7 @@ if i32.const 0 i32.const 1040 - i32.const 4118 + i32.const 4119 i32.const 1 call $~lib/builtins/abort unreachable @@ -48619,7 +48653,7 @@ if i32.const 0 i32.const 1040 - i32.const 4119 + i32.const 4120 i32.const 1 call $~lib/builtins/abort unreachable @@ -48632,7 +48666,7 @@ if i32.const 0 i32.const 1040 - i32.const 4120 + i32.const 4121 i32.const 1 call $~lib/builtins/abort unreachable @@ -48645,7 +48679,7 @@ if i32.const 0 i32.const 1040 - i32.const 4121 + i32.const 4122 i32.const 1 call $~lib/builtins/abort unreachable @@ -48664,7 +48698,7 @@ if i32.const 0 i32.const 1040 - i32.const 4123 + i32.const 4124 i32.const 1 call $~lib/builtins/abort unreachable @@ -48681,7 +48715,7 @@ if i32.const 0 i32.const 1040 - i32.const 4124 + i32.const 4125 i32.const 1 call $~lib/builtins/abort unreachable @@ -48694,7 +48728,7 @@ if i32.const 0 i32.const 1040 - i32.const 4126 + i32.const 4127 i32.const 1 call $~lib/builtins/abort unreachable @@ -48707,7 +48741,7 @@ if i32.const 0 i32.const 1040 - i32.const 4127 + i32.const 4128 i32.const 1 call $~lib/builtins/abort unreachable @@ -48720,7 +48754,7 @@ if i32.const 0 i32.const 1040 - i32.const 4128 + i32.const 4129 i32.const 1 call $~lib/builtins/abort unreachable @@ -48733,7 +48767,7 @@ if i32.const 0 i32.const 1040 - i32.const 4129 + i32.const 4130 i32.const 1 call $~lib/builtins/abort unreachable @@ -48746,7 +48780,7 @@ if i32.const 0 i32.const 1040 - i32.const 4130 + i32.const 4131 i32.const 1 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index a7d95d622c..d7c4b3f6a5 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -4107,8 +4107,9 @@ assert(true ** 2 == 1); assert(( 1) ** 3 == 1); assert((-2) ** 3 == -8); assert((4) ** 7 == 16384); -assert((4) ** 8 == 65536); -// assert((4) ** 9 == 0); // should overflow fail! +assert((4) ** 8 == 0); // should overflow +assert((4) ** 9 == 0); // should overflow +assert((5) ** 10 == 761); // should overflow assert((0) ** 0 == 1); assert((0) ** 1 == 0); diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index db1eb2806f..ec344ecb69 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -59126,6 +59126,10 @@ i32.const 1 i32.const 3 call $~lib/math/ipow32 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 1 i32.eq i32.eqz @@ -59140,6 +59144,10 @@ i32.const -2 i32.const 3 call $~lib/math/ipow32 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const -8 i32.eq i32.eqz @@ -59154,6 +59162,8 @@ i32.const 4 i32.const 7 call $~lib/math/ipow32 + i32.const 65535 + i32.and i32.const 16384 i32.eq i32.eqz @@ -59168,7 +59178,9 @@ i32.const 4 i32.const 8 call $~lib/math/ipow32 - i32.const 65536 + i32.const 65535 + i32.and + i32.const 0 i32.eq i32.eqz if @@ -59179,6 +59191,38 @@ call $~lib/builtins/abort unreachable end + i32.const 4 + i32.const 9 + call $~lib/math/ipow32 + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 4111 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 10 + call $~lib/math/ipow32 + i32.const 65535 + i32.and + i32.const 761 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 4112 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i64.const 0 i64.const 0 call $~lib/math/ipow64 @@ -59188,7 +59232,7 @@ if i32.const 0 i32.const 32 - i32.const 4113 + i32.const 4114 i32.const 1 call $~lib/builtins/abort unreachable @@ -59202,7 +59246,7 @@ if i32.const 0 i32.const 32 - i32.const 4114 + i32.const 4115 i32.const 1 call $~lib/builtins/abort unreachable @@ -59216,7 +59260,7 @@ if i32.const 0 i32.const 32 - i32.const 4115 + i32.const 4116 i32.const 1 call $~lib/builtins/abort unreachable @@ -59230,7 +59274,7 @@ if i32.const 0 i32.const 32 - i32.const 4116 + i32.const 4117 i32.const 1 call $~lib/builtins/abort unreachable @@ -59244,7 +59288,7 @@ if i32.const 0 i32.const 32 - i32.const 4117 + i32.const 4118 i32.const 1 call $~lib/builtins/abort unreachable @@ -59258,7 +59302,7 @@ if i32.const 0 i32.const 32 - i32.const 4118 + i32.const 4119 i32.const 1 call $~lib/builtins/abort unreachable @@ -59272,7 +59316,7 @@ if i32.const 0 i32.const 32 - i32.const 4119 + i32.const 4120 i32.const 1 call $~lib/builtins/abort unreachable @@ -59286,7 +59330,7 @@ if i32.const 0 i32.const 32 - i32.const 4120 + i32.const 4121 i32.const 1 call $~lib/builtins/abort unreachable @@ -59300,7 +59344,7 @@ if i32.const 0 i32.const 32 - i32.const 4121 + i32.const 4122 i32.const 1 call $~lib/builtins/abort unreachable @@ -59320,7 +59364,7 @@ if i32.const 0 i32.const 32 - i32.const 4123 + i32.const 4124 i32.const 1 call $~lib/builtins/abort unreachable @@ -59338,7 +59382,7 @@ if i32.const 0 i32.const 32 - i32.const 4124 + i32.const 4125 i32.const 1 call $~lib/builtins/abort unreachable @@ -59353,7 +59397,7 @@ if i32.const 0 i32.const 32 - i32.const 4126 + i32.const 4127 i32.const 1 call $~lib/builtins/abort unreachable @@ -59368,7 +59412,7 @@ if i32.const 0 i32.const 32 - i32.const 4127 + i32.const 4128 i32.const 1 call $~lib/builtins/abort unreachable @@ -59383,7 +59427,7 @@ if i32.const 0 i32.const 32 - i32.const 4128 + i32.const 4129 i32.const 1 call $~lib/builtins/abort unreachable @@ -59397,7 +59441,7 @@ if i32.const 0 i32.const 32 - i32.const 4129 + i32.const 4130 i32.const 1 call $~lib/builtins/abort unreachable @@ -59411,7 +59455,7 @@ if i32.const 0 i32.const 32 - i32.const 4130 + i32.const 4131 i32.const 1 call $~lib/builtins/abort unreachable From c483af5cbabd58bfc4822bc8957723ca7ac0cca4 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Jun 2020 23:50:04 +0300 Subject: [PATCH 59/64] remove some redundant tests --- tests/compiler/std/math.optimized.wat | 170 +++++++------------------ tests/compiler/std/math.ts | 9 +- tests/compiler/std/math.untouched.wat | 174 +++++++------------------- 3 files changed, 87 insertions(+), 266 deletions(-) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 7482a25aa1..a576a4a5a6 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -48184,11 +48184,11 @@ call $~lib/builtins/abort unreachable end - i64.const 2 - i64.const 64 + i64.const 3 + i64.const 40 call $~lib/math/ipow64 - i64.eqz - i32.eqz + i64.const -6289078614652622815 + i64.ne if i32.const 0 i32.const 1040 @@ -48197,11 +48197,11 @@ call $~lib/builtins/abort unreachable end - i64.const 3 - i64.const 40 + i64.const 2 + i64.const 64 call $~lib/math/ipow64 - i64.const -6289078614652622815 - i64.ne + i64.eqz + i32.eqz if i32.const 0 i32.const 1040 @@ -48224,58 +48224,6 @@ unreachable end i64.const 3 - i64.const 42 - call $~lib/math/ipow64 - i64.const -1261475310744950487 - i64.ne - if - i32.const 0 - i32.const 1040 - i32.const 4073 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i64.const 43 - call $~lib/math/ipow64 - i64.const -3784425932234851461 - i64.ne - if - i32.const 0 - i32.const 1040 - i32.const 4074 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i64.const 63 - call $~lib/math/ipow64 - i64.const -3237885987332494933 - i64.ne - if - i32.const 0 - i32.const 1040 - i32.const 4075 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i64.const 64 - call $~lib/math/ipow64 - i64.const 8733086111712066817 - i64.ne - if - i32.const 0 - i32.const 1040 - i32.const 4076 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 i64.const 128 call $~lib/math/ipow64 i64.const -9204772141784466943 @@ -48283,7 +48231,7 @@ if i32.const 0 i32.const 1040 - i32.const 4077 + i32.const 4073 i32.const 1 call $~lib/builtins/abort unreachable @@ -48296,7 +48244,7 @@ if i32.const 0 i32.const 1040 - i32.const 4079 + i32.const 4075 i32.const 1 call $~lib/builtins/abort unreachable @@ -48309,24 +48257,7 @@ if i32.const 0 i32.const 1040 - i32.const 4080 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 57055 - i64.const 3 - call $~lib/math/ipow64 - i64.const 339590 - i64.const 3 - call $~lib/math/ipow64 - i64.add - i64.const 39347712995520375 - i64.ne - if - i32.const 0 - i32.const 1040 - i32.const 4082 + i32.const 4076 i32.const 1 call $~lib/builtins/abort unreachable @@ -48339,7 +48270,7 @@ if i32.const 0 i32.const 1040 - i32.const 4088 + i32.const 4082 i32.const 1 call $~lib/builtins/abort unreachable @@ -48352,7 +48283,7 @@ if i32.const 0 i32.const 1040 - i32.const 4089 + i32.const 4083 i32.const 1 call $~lib/builtins/abort unreachable @@ -48365,7 +48296,7 @@ if i32.const 0 i32.const 1040 - i32.const 4090 + i32.const 4084 i32.const 1 call $~lib/builtins/abort unreachable @@ -48378,7 +48309,7 @@ if i32.const 0 i32.const 1040 - i32.const 4091 + i32.const 4085 i32.const 1 call $~lib/builtins/abort unreachable @@ -48391,7 +48322,7 @@ if i32.const 0 i32.const 1040 - i32.const 4092 + i32.const 4086 i32.const 1 call $~lib/builtins/abort unreachable @@ -48404,7 +48335,7 @@ if i32.const 0 i32.const 1040 - i32.const 4093 + i32.const 4087 i32.const 1 call $~lib/builtins/abort unreachable @@ -48415,7 +48346,7 @@ if i32.const 0 i32.const 1040 - i32.const 4095 + i32.const 4089 i32.const 1 call $~lib/builtins/abort unreachable @@ -48426,7 +48357,7 @@ if i32.const 0 i32.const 1040 - i32.const 4096 + i32.const 4090 i32.const 1 call $~lib/builtins/abort unreachable @@ -48437,7 +48368,7 @@ if i32.const 0 i32.const 1040 - i32.const 4099 + i32.const 4093 i32.const 1 call $~lib/builtins/abort unreachable @@ -48450,7 +48381,7 @@ if i32.const 0 i32.const 1040 - i32.const 4101 + i32.const 4095 i32.const 1 call $~lib/builtins/abort unreachable @@ -48463,7 +48394,7 @@ if i32.const 0 i32.const 1040 - i32.const 4102 + i32.const 4096 i32.const 1 call $~lib/builtins/abort unreachable @@ -48476,7 +48407,7 @@ if i32.const 0 i32.const 1040 - i32.const 4105 + i32.const 4099 i32.const 1 call $~lib/builtins/abort unreachable @@ -48491,7 +48422,7 @@ if i32.const 0 i32.const 1040 - i32.const 4107 + i32.const 4101 i32.const 1 call $~lib/builtins/abort unreachable @@ -48506,7 +48437,7 @@ if i32.const 0 i32.const 1040 - i32.const 4108 + i32.const 4102 i32.const 1 call $~lib/builtins/abort unreachable @@ -48521,7 +48452,7 @@ if i32.const 0 i32.const 1040 - i32.const 4109 + i32.const 4103 i32.const 1 call $~lib/builtins/abort unreachable @@ -48534,20 +48465,7 @@ if i32.const 0 i32.const 1040 - i32.const 4110 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 9 - call $~lib/math/ipow32 - i32.const 65535 - i32.and - if - i32.const 0 - i32.const 1040 - i32.const 4111 + i32.const 4104 i32.const 1 call $~lib/builtins/abort unreachable @@ -48562,7 +48480,7 @@ if i32.const 0 i32.const 1040 - i32.const 4112 + i32.const 4105 i32.const 1 call $~lib/builtins/abort unreachable @@ -48575,7 +48493,7 @@ if i32.const 0 i32.const 1040 - i32.const 4114 + i32.const 4107 i32.const 1 call $~lib/builtins/abort unreachable @@ -48588,7 +48506,7 @@ if i32.const 0 i32.const 1040 - i32.const 4115 + i32.const 4108 i32.const 1 call $~lib/builtins/abort unreachable @@ -48601,7 +48519,7 @@ if i32.const 0 i32.const 1040 - i32.const 4116 + i32.const 4109 i32.const 1 call $~lib/builtins/abort unreachable @@ -48614,7 +48532,7 @@ if i32.const 0 i32.const 1040 - i32.const 4117 + i32.const 4110 i32.const 1 call $~lib/builtins/abort unreachable @@ -48627,7 +48545,7 @@ if i32.const 0 i32.const 1040 - i32.const 4118 + i32.const 4111 i32.const 1 call $~lib/builtins/abort unreachable @@ -48640,7 +48558,7 @@ if i32.const 0 i32.const 1040 - i32.const 4119 + i32.const 4112 i32.const 1 call $~lib/builtins/abort unreachable @@ -48653,7 +48571,7 @@ if i32.const 0 i32.const 1040 - i32.const 4120 + i32.const 4113 i32.const 1 call $~lib/builtins/abort unreachable @@ -48666,7 +48584,7 @@ if i32.const 0 i32.const 1040 - i32.const 4121 + i32.const 4114 i32.const 1 call $~lib/builtins/abort unreachable @@ -48679,7 +48597,7 @@ if i32.const 0 i32.const 1040 - i32.const 4122 + i32.const 4115 i32.const 1 call $~lib/builtins/abort unreachable @@ -48698,7 +48616,7 @@ if i32.const 0 i32.const 1040 - i32.const 4124 + i32.const 4117 i32.const 1 call $~lib/builtins/abort unreachable @@ -48715,7 +48633,7 @@ if i32.const 0 i32.const 1040 - i32.const 4125 + i32.const 4118 i32.const 1 call $~lib/builtins/abort unreachable @@ -48728,7 +48646,7 @@ if i32.const 0 i32.const 1040 - i32.const 4127 + i32.const 4120 i32.const 1 call $~lib/builtins/abort unreachable @@ -48741,7 +48659,7 @@ if i32.const 0 i32.const 1040 - i32.const 4128 + i32.const 4121 i32.const 1 call $~lib/builtins/abort unreachable @@ -48754,7 +48672,7 @@ if i32.const 0 i32.const 1040 - i32.const 4129 + i32.const 4122 i32.const 1 call $~lib/builtins/abort unreachable @@ -48767,7 +48685,7 @@ if i32.const 0 i32.const 1040 - i32.const 4130 + i32.const 4123 i32.const 1 call $~lib/builtins/abort unreachable @@ -48780,7 +48698,7 @@ if i32.const 0 i32.const 1040 - i32.const 4131 + i32.const 4124 i32.const 1 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index d7c4b3f6a5..d9afeed0c2 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -4067,20 +4067,14 @@ assert(ipow64(-2, 2) == 4); assert(ipow64(-2, 3) == -8); assert(ipow64(2, 63) == 9223372036854775808); -assert(ipow64(2, 64) == 0); // should overflow assert(ipow64(3, 40) == 12157665459056928801); +assert(ipow64(2, 64) == 0); // should overflow assert(ipow64(3, 41) == -420491770248316829); // should overflow -assert(ipow64(3, 42) == -1261475310744950487); // should overflow -assert(ipow64(3, 43) == -3784425932234851461); // should overflow -assert(ipow64(3, 63) == -3237885987332494933); // should overflow -assert(ipow64(3, 64) == 8733086111712066817); // should overflow assert(ipow64(3, 128) == -9204772141784466943); // should overflow assert(ipow64(1, -1) == 1); assert(ipow64(2, -1) == 0); -assert(ipow64(57055, 3) + ipow64(339590, 3) == 39347712995520375); - // integer pow operators assert( 0 ** 0 == 1); @@ -4108,7 +4102,6 @@ assert(( 1) ** 3 == 1); assert((-2) ** 3 == -8); assert((4) ** 7 == 16384); assert((4) ** 8 == 0); // should overflow -assert((4) ** 9 == 0); // should overflow assert((5) ** 10 == 761); // should overflow assert((0) ** 0 == 1); diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index ec344ecb69..6035f6844a 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -58743,10 +58743,10 @@ call $~lib/builtins/abort unreachable end - i64.const 2 - i64.const 64 + i64.const 3 + i64.const 40 call $~lib/math/ipow64 - i64.const 0 + i64.const -6289078614652622815 i64.eq i32.eqz if @@ -58757,10 +58757,10 @@ call $~lib/builtins/abort unreachable end - i64.const 3 - i64.const 40 + i64.const 2 + i64.const 64 call $~lib/math/ipow64 - i64.const -6289078614652622815 + i64.const 0 i64.eq i32.eqz if @@ -58786,62 +58786,6 @@ unreachable end i64.const 3 - i64.const 42 - call $~lib/math/ipow64 - i64.const -1261475310744950487 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 4073 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i64.const 43 - call $~lib/math/ipow64 - i64.const -3784425932234851461 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 4074 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i64.const 63 - call $~lib/math/ipow64 - i64.const -3237885987332494933 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 4075 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 - i64.const 64 - call $~lib/math/ipow64 - i64.const 8733086111712066817 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 4076 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 3 i64.const 128 call $~lib/math/ipow64 i64.const -9204772141784466943 @@ -58850,7 +58794,7 @@ if i32.const 0 i32.const 32 - i32.const 4077 + i32.const 4073 i32.const 1 call $~lib/builtins/abort unreachable @@ -58864,7 +58808,7 @@ if i32.const 0 i32.const 32 - i32.const 4079 + i32.const 4075 i32.const 1 call $~lib/builtins/abort unreachable @@ -58878,25 +58822,7 @@ if i32.const 0 i32.const 32 - i32.const 4080 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 57055 - i64.const 3 - call $~lib/math/ipow64 - i64.const 339590 - i64.const 3 - call $~lib/math/ipow64 - i64.add - i64.const 39347712995520375 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 4082 + i32.const 4076 i32.const 1 call $~lib/builtins/abort unreachable @@ -58928,7 +58854,7 @@ if i32.const 0 i32.const 32 - i32.const 4088 + i32.const 4082 i32.const 1 call $~lib/builtins/abort unreachable @@ -58942,7 +58868,7 @@ if i32.const 0 i32.const 32 - i32.const 4089 + i32.const 4083 i32.const 1 call $~lib/builtins/abort unreachable @@ -58956,7 +58882,7 @@ if i32.const 0 i32.const 32 - i32.const 4090 + i32.const 4084 i32.const 1 call $~lib/builtins/abort unreachable @@ -58970,7 +58896,7 @@ if i32.const 0 i32.const 32 - i32.const 4091 + i32.const 4085 i32.const 1 call $~lib/builtins/abort unreachable @@ -58984,7 +58910,7 @@ if i32.const 0 i32.const 32 - i32.const 4092 + i32.const 4086 i32.const 1 call $~lib/builtins/abort unreachable @@ -58998,7 +58924,7 @@ if i32.const 0 i32.const 32 - i32.const 4093 + i32.const 4087 i32.const 1 call $~lib/builtins/abort unreachable @@ -59012,7 +58938,7 @@ if i32.const 0 i32.const 32 - i32.const 4095 + i32.const 4089 i32.const 1 call $~lib/builtins/abort unreachable @@ -59026,7 +58952,7 @@ if i32.const 0 i32.const 32 - i32.const 4096 + i32.const 4090 i32.const 1 call $~lib/builtins/abort unreachable @@ -59058,7 +58984,7 @@ if i32.const 0 i32.const 32 - i32.const 4099 + i32.const 4093 i32.const 1 call $~lib/builtins/abort unreachable @@ -59072,7 +58998,7 @@ if i32.const 0 i32.const 32 - i32.const 4101 + i32.const 4095 i32.const 1 call $~lib/builtins/abort unreachable @@ -59086,7 +59012,7 @@ if i32.const 0 i32.const 32 - i32.const 4102 + i32.const 4096 i32.const 1 call $~lib/builtins/abort unreachable @@ -59118,7 +59044,7 @@ if i32.const 0 i32.const 32 - i32.const 4105 + i32.const 4099 i32.const 1 call $~lib/builtins/abort unreachable @@ -59136,7 +59062,7 @@ if i32.const 0 i32.const 32 - i32.const 4107 + i32.const 4101 i32.const 1 call $~lib/builtins/abort unreachable @@ -59154,7 +59080,7 @@ if i32.const 0 i32.const 32 - i32.const 4108 + i32.const 4102 i32.const 1 call $~lib/builtins/abort unreachable @@ -59170,7 +59096,7 @@ if i32.const 0 i32.const 32 - i32.const 4109 + i32.const 4103 i32.const 1 call $~lib/builtins/abort unreachable @@ -59186,23 +59112,7 @@ if i32.const 0 i32.const 32 - i32.const 4110 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 9 - call $~lib/math/ipow32 - i32.const 65535 - i32.and - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 4111 + i32.const 4104 i32.const 1 call $~lib/builtins/abort unreachable @@ -59218,7 +59128,7 @@ if i32.const 0 i32.const 32 - i32.const 4112 + i32.const 4105 i32.const 1 call $~lib/builtins/abort unreachable @@ -59232,7 +59142,7 @@ if i32.const 0 i32.const 32 - i32.const 4114 + i32.const 4107 i32.const 1 call $~lib/builtins/abort unreachable @@ -59246,7 +59156,7 @@ if i32.const 0 i32.const 32 - i32.const 4115 + i32.const 4108 i32.const 1 call $~lib/builtins/abort unreachable @@ -59260,7 +59170,7 @@ if i32.const 0 i32.const 32 - i32.const 4116 + i32.const 4109 i32.const 1 call $~lib/builtins/abort unreachable @@ -59274,7 +59184,7 @@ if i32.const 0 i32.const 32 - i32.const 4117 + i32.const 4110 i32.const 1 call $~lib/builtins/abort unreachable @@ -59288,7 +59198,7 @@ if i32.const 0 i32.const 32 - i32.const 4118 + i32.const 4111 i32.const 1 call $~lib/builtins/abort unreachable @@ -59302,7 +59212,7 @@ if i32.const 0 i32.const 32 - i32.const 4119 + i32.const 4112 i32.const 1 call $~lib/builtins/abort unreachable @@ -59316,7 +59226,7 @@ if i32.const 0 i32.const 32 - i32.const 4120 + i32.const 4113 i32.const 1 call $~lib/builtins/abort unreachable @@ -59330,7 +59240,7 @@ if i32.const 0 i32.const 32 - i32.const 4121 + i32.const 4114 i32.const 1 call $~lib/builtins/abort unreachable @@ -59344,7 +59254,7 @@ if i32.const 0 i32.const 32 - i32.const 4122 + i32.const 4115 i32.const 1 call $~lib/builtins/abort unreachable @@ -59364,7 +59274,7 @@ if i32.const 0 i32.const 32 - i32.const 4124 + i32.const 4117 i32.const 1 call $~lib/builtins/abort unreachable @@ -59382,7 +59292,7 @@ if i32.const 0 i32.const 32 - i32.const 4125 + i32.const 4118 i32.const 1 call $~lib/builtins/abort unreachable @@ -59397,7 +59307,7 @@ if i32.const 0 i32.const 32 - i32.const 4127 + i32.const 4120 i32.const 1 call $~lib/builtins/abort unreachable @@ -59412,7 +59322,7 @@ if i32.const 0 i32.const 32 - i32.const 4128 + i32.const 4121 i32.const 1 call $~lib/builtins/abort unreachable @@ -59427,7 +59337,7 @@ if i32.const 0 i32.const 32 - i32.const 4129 + i32.const 4122 i32.const 1 call $~lib/builtins/abort unreachable @@ -59441,7 +59351,7 @@ if i32.const 0 i32.const 32 - i32.const 4130 + i32.const 4123 i32.const 1 call $~lib/builtins/abort unreachable @@ -59455,7 +59365,7 @@ if i32.const 0 i32.const 32 - i32.const 4131 + i32.const 4124 i32.const 1 call $~lib/builtins/abort unreachable From 512a1326ec10053817f0ec87795af71ae842bf52 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Jun 2020 15:55:39 +0300 Subject: [PATCH 60/64] minor optimization --- src/compiler.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 7eef949134..2e67449c59 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4812,10 +4812,10 @@ export class Compiler extends DiagnosticEmitter { if (!instance || !this.compileFunction(instance)) { expr = module.unreachable(); } else { - expr = this.ensureSmallIntegerWrap( - this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression), - commonType - ); + expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], expression); + if (commonType.size != 32) { + expr = this.ensureSmallIntegerWrap(expr, commonType); + } } break; } From 306c011483c10c6c1650681ca66a65f1c6f97874 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 9 Jun 2020 18:53:42 +0300 Subject: [PATCH 61/64] use commonDenominator also for resolver --- src/resolver.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/resolver.ts b/src/resolver.ts index cb5a8c44c9..1eebfb8cfa 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -2028,7 +2028,18 @@ export class Resolver extends DiagnosticEmitter { if (overload) return overload.signature.returnType; } } - return leftType; + let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode); + if (!rightType) return null; + let commonType = Type.commonDenominator(leftType, rightType, false); + if (!commonType) { + if (reportMode == ReportMode.REPORT) { + this.error( + DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, + node.range, leftType.toString(), rightType.toString() + ); + } + } + return commonType; } // shift: result is LHS (RHS is converted to LHS), preferring overloads From 8df219d926c3b07efd537ad05e79fc8a1167b53e Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 9 Jun 2020 18:54:28 +0300 Subject: [PATCH 62/64] fix comment --- src/resolver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resolver.ts b/src/resolver.ts index 1eebfb8cfa..8f4f857f19 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -2016,7 +2016,7 @@ export class Resolver extends DiagnosticEmitter { return commonType; } - // pow: result is f32 if LHS is f32, otherwise f64, preferring overloads + // pow: result is common type of LHS and RHS, preferring overloads case Token.ASTERISK_ASTERISK: { let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode); From 5b0f4907f92b4926ba0e073f58e0cfe3bc41d598 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 9 Jun 2020 18:59:25 +0300 Subject: [PATCH 63/64] retrieve operator's kind via fromBinaryToken --- src/resolver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resolver.ts b/src/resolver.ts index 8f4f857f19..80d9d6bf1f 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -2024,7 +2024,7 @@ export class Resolver extends DiagnosticEmitter { if (leftType.is(TypeFlags.REFERENCE)) { let classReference = leftType.classReference; if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.POW); + let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator)); if (overload) return overload.signature.returnType; } } From f89399dce3862a9100ae8503ba9a363a4e61a195 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 9 Jun 2020 20:31:12 +0300 Subject: [PATCH 64/64] add mixed pow tests for resolver --- tests/compiler/resolve-binary.optimized.wat | 225 +++++++++++--------- tests/compiler/resolve-binary.ts | 16 +- tests/compiler/resolve-binary.untouched.wat | 172 +++++++++------ 3 files changed, 248 insertions(+), 165 deletions(-) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 968f3bd87f..842873e15a 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -5,6 +5,7 @@ (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $none_=>_i32 (func (result i32))) (type $i32_i64_i32_i64_i32_i64_=>_i32 (func (param i32 i64 i32 i64 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) @@ -1360,11 +1361,71 @@ call $~lib/memory/memory.copy local.get $1 ) + (func $~lib/number/F64#toString (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + i32.const 56 + i32.const 1 + call $~lib/rt/stub/__alloc + local.tee $0 + call $~lib/util/number/dtoa_core + local.tee $1 + i32.const 28 + i32.ne + if (result i32) + local.get $0 + local.get $1 + call $~lib/string/String#substring + local.get $0 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $0 + select + i32.eqz + if + i32.const 0 + i32.const 2656 + i32.const 68 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 16 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 2656 + i32.const 70 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/stub/offset + local.get $0 + local.get $2 + i32.load + i32.add + i32.eq + if + local.get $2 + global.set $~lib/rt/stub/offset + end + else + local.get $0 + end + ) (func $start:resolve-binary (local $0 i32) (local $1 i32) - (local $2 f64) - (local $3 i32) + (local $2 i32) i32.const 1040 i32.const 1040 call $~lib/string/String.__eq @@ -1529,63 +1590,7 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/util/number/dtoa - i32.const 56 - i32.const 1 - call $~lib/rt/stub/__alloc - local.tee $1 - call $~lib/util/number/dtoa_core - local.tee $0 - i32.const 28 - i32.eq - br_if $__inlined_func$~lib/util/number/dtoa - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.get $1 - i32.const 15 - i32.and - i32.eqz - i32.const 0 - local.get $1 - select - i32.eqz - if - i32.const 0 - i32.const 2656 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 16 - i32.sub - local.tee $3 - i32.load offset=4 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 2656 - i32.const 70 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/stub/offset - local.get $1 - local.get $3 - i32.load - i32.add - i32.eq - if - local.get $3 - global.set $~lib/rt/stub/offset - end - local.set $1 - end - local.get $1 + call $~lib/number/F64#toString i32.const 2704 call $~lib/string/String.__eq i32.eqz @@ -1799,35 +1804,35 @@ unreachable end i32.const 2 - local.set $1 - i32.const 2 local.set $0 + i32.const 2 + local.set $1 i32.const 1 - local.set $3 + local.set $2 loop $while-continue|0 - local.get $0 + local.get $1 if - local.get $1 - local.get $3 - i32.mul - local.get $3 local.get $0 + local.get $2 + i32.mul + local.get $2 + local.get $1 i32.const 1 i32.and select - local.set $3 - local.get $0 + local.set $2 + local.get $1 i32.const 1 i32.shr_u - local.set $0 - local.get $1 - local.get $1 - i32.mul local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 br $while-continue|0 end end - local.get $3 + local.get $2 call $~lib/number/I32#toString i32.const 2736 call $~lib/string/String.__eq @@ -1840,6 +1845,30 @@ call $~lib/builtins/abort unreachable end + call $~lib/number/F64#toString + i32.const 2704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1104 + i32.const 151 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + call $~lib/number/F64#toString + i32.const 2704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1104 + i32.const 158 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 4 call $~lib/number/I32#toString i32.const 2736 @@ -1848,7 +1877,7 @@ if i32.const 0 i32.const 1104 - i32.const 151 + i32.const 165 i32.const 1 call $~lib/builtins/abort unreachable @@ -1861,7 +1890,7 @@ if i32.const 0 i32.const 1104 - i32.const 156 + i32.const 170 i32.const 1 call $~lib/builtins/abort unreachable @@ -1874,7 +1903,7 @@ if i32.const 0 i32.const 1104 - i32.const 161 + i32.const 175 i32.const 1 call $~lib/builtins/abort unreachable @@ -1887,7 +1916,7 @@ if i32.const 0 i32.const 1104 - i32.const 168 + i32.const 182 i32.const 1 call $~lib/builtins/abort unreachable @@ -1900,7 +1929,7 @@ if i32.const 0 i32.const 1104 - i32.const 173 + i32.const 187 i32.const 1 call $~lib/builtins/abort unreachable @@ -1913,7 +1942,7 @@ if i32.const 0 i32.const 1104 - i32.const 178 + i32.const 192 i32.const 1 call $~lib/builtins/abort unreachable @@ -1926,7 +1955,7 @@ if i32.const 0 i32.const 1104 - i32.const 185 + i32.const 199 i32.const 1 call $~lib/builtins/abort unreachable @@ -1939,7 +1968,7 @@ if i32.const 0 i32.const 1104 - i32.const 190 + i32.const 204 i32.const 1 call $~lib/builtins/abort unreachable @@ -1952,7 +1981,7 @@ if i32.const 0 i32.const 1104 - i32.const 195 + i32.const 209 i32.const 1 call $~lib/builtins/abort unreachable @@ -1965,7 +1994,7 @@ if i32.const 0 i32.const 1104 - i32.const 200 + i32.const 214 i32.const 1 call $~lib/builtins/abort unreachable @@ -1981,7 +2010,7 @@ if i32.const 0 i32.const 1104 - i32.const 261 + i32.const 275 i32.const 1 call $~lib/builtins/abort unreachable @@ -1993,7 +2022,7 @@ if i32.const 0 i32.const 1104 - i32.const 266 + i32.const 280 i32.const 1 call $~lib/builtins/abort unreachable @@ -2005,7 +2034,7 @@ if i32.const 0 i32.const 1104 - i32.const 271 + i32.const 285 i32.const 1 call $~lib/builtins/abort unreachable @@ -2017,7 +2046,7 @@ if i32.const 0 i32.const 1104 - i32.const 276 + i32.const 290 i32.const 1 call $~lib/builtins/abort unreachable @@ -2029,7 +2058,7 @@ if i32.const 0 i32.const 1104 - i32.const 281 + i32.const 295 i32.const 1 call $~lib/builtins/abort unreachable @@ -2041,7 +2070,7 @@ if i32.const 0 i32.const 1104 - i32.const 286 + i32.const 300 i32.const 1 call $~lib/builtins/abort unreachable @@ -2053,7 +2082,7 @@ if i32.const 0 i32.const 1104 - i32.const 291 + i32.const 305 i32.const 1 call $~lib/builtins/abort unreachable @@ -2065,7 +2094,7 @@ if i32.const 0 i32.const 1104 - i32.const 296 + i32.const 310 i32.const 1 call $~lib/builtins/abort unreachable @@ -2077,7 +2106,7 @@ if i32.const 0 i32.const 1104 - i32.const 301 + i32.const 315 i32.const 1 call $~lib/builtins/abort unreachable @@ -2089,7 +2118,7 @@ if i32.const 0 i32.const 1104 - i32.const 306 + i32.const 320 i32.const 1 call $~lib/builtins/abort unreachable @@ -2101,7 +2130,7 @@ if i32.const 0 i32.const 1104 - i32.const 311 + i32.const 325 i32.const 1 call $~lib/builtins/abort unreachable @@ -2113,7 +2142,7 @@ if i32.const 0 i32.const 1104 - i32.const 316 + i32.const 330 i32.const 1 call $~lib/builtins/abort unreachable @@ -2134,7 +2163,7 @@ if i32.const 0 i32.const 1104 - i32.const 334 + i32.const 348 i32.const 1 call $~lib/builtins/abort unreachable @@ -2145,7 +2174,7 @@ if i32.const 0 i32.const 1104 - i32.const 339 + i32.const 353 i32.const 1 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/resolve-binary.ts b/tests/compiler/resolve-binary.ts index 878d4d44ca..349a7e3634 100644 --- a/tests/compiler/resolve-binary.ts +++ b/tests/compiler/resolve-binary.ts @@ -140,13 +140,27 @@ assert( "1" ); -// pow +// pow i32 only assert( (2 ** 2).toString() == "4" ); +// pow mixed i32 and f64 +assert( + (2 ** 2.0).toString() + == + "4.0" +); + +// pow mixed f64 and i32 +assert( + (2.0 ** 2).toString() + == + "4.0" +); + // shift assert( (2 << 1).toString() diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 8d3d73f9b2..aab348e14b 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -5127,6 +5127,8 @@ (local $61 i32) (local $62 i32) (local $63 i32) + (local $64 i32) + (local $65 i32) i32.const 1 i32.const 2 i32.lt_s @@ -5624,19 +5626,53 @@ call $~lib/builtins/abort unreachable end + f64.const 2 + f64.const 2 + call $~lib/math/NativeMath.pow + i32.const 0 + call $~lib/number/F64#toString + local.tee $27 + i32.const 9280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 151 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 2 + f64.const 2 + call $~lib/math/NativeMath.pow + i32.const 0 + call $~lib/number/F64#toString + local.tee $28 + i32.const 9280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 158 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 2 i32.const 1 i32.shl i32.const 10 call $~lib/number/I32#toString - local.tee $27 + local.tee $29 i32.const 9312 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 151 + i32.const 165 i32.const 1 call $~lib/builtins/abort unreachable @@ -5646,14 +5682,14 @@ i32.shr_s i32.const 10 call $~lib/number/I32#toString - local.tee $28 + local.tee $30 i32.const 1952 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 156 + i32.const 170 i32.const 1 call $~lib/builtins/abort unreachable @@ -5663,14 +5699,14 @@ i32.shr_u i32.const 10 call $~lib/number/I32#toString - local.tee $29 + local.tee $31 i32.const 9344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 161 + i32.const 175 i32.const 1 call $~lib/builtins/abort unreachable @@ -5680,14 +5716,14 @@ i32.and i32.const 10 call $~lib/number/I32#toString - local.tee $30 + local.tee $32 i32.const 1952 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 168 + i32.const 182 i32.const 1 call $~lib/builtins/abort unreachable @@ -5697,14 +5733,14 @@ i32.or i32.const 10 call $~lib/number/I32#toString - local.tee $31 + local.tee $33 i32.const 9344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 173 + i32.const 187 i32.const 1 call $~lib/builtins/abort unreachable @@ -5714,14 +5750,14 @@ i32.xor i32.const 10 call $~lib/number/I32#toString - local.tee $32 + local.tee $34 i32.const 1984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 178 + i32.const 192 i32.const 1 call $~lib/builtins/abort unreachable @@ -5734,14 +5770,14 @@ end i32.const 10 call $~lib/number/I32#toString - local.tee $33 + local.tee $35 i32.const 1984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 185 + i32.const 199 i32.const 1 call $~lib/builtins/abort unreachable @@ -5754,14 +5790,14 @@ end i32.const 10 call $~lib/number/I32#toString - local.tee $34 + local.tee $36 i32.const 384 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 190 + i32.const 204 i32.const 1 call $~lib/builtins/abort unreachable @@ -5774,14 +5810,14 @@ end i32.const 10 call $~lib/number/I32#toString - local.tee $35 + local.tee $37 i32.const 1952 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 195 + i32.const 209 i32.const 1 call $~lib/builtins/abort unreachable @@ -5794,14 +5830,14 @@ end i32.const 10 call $~lib/number/I32#toString - local.tee $36 + local.tee $38 i32.const 1984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 200 + i32.const 214 i32.const 1 call $~lib/builtins/abort unreachable @@ -5812,16 +5848,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#lt - local.tee $37 + local.tee $39 call $~lib/string/String#toString - local.tee $38 + local.tee $40 i32.const 9408 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 261 + i32.const 275 i32.const 1 call $~lib/builtins/abort unreachable @@ -5829,16 +5865,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#gt - local.tee $39 + local.tee $41 call $~lib/string/String#toString - local.tee $40 + local.tee $42 i32.const 9440 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 266 + i32.const 280 i32.const 1 call $~lib/builtins/abort unreachable @@ -5846,16 +5882,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#le - local.tee $41 + local.tee $43 call $~lib/string/String#toString - local.tee $42 + local.tee $44 i32.const 9472 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 271 + i32.const 285 i32.const 1 call $~lib/builtins/abort unreachable @@ -5863,16 +5899,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#ge - local.tee $43 + local.tee $45 call $~lib/string/String#toString - local.tee $44 + local.tee $46 i32.const 9504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 276 + i32.const 290 i32.const 1 call $~lib/builtins/abort unreachable @@ -5880,16 +5916,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#eq - local.tee $45 + local.tee $47 call $~lib/string/String#toString - local.tee $46 + local.tee $48 i32.const 9536 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 281 + i32.const 295 i32.const 1 call $~lib/builtins/abort unreachable @@ -5897,16 +5933,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#ne - local.tee $47 + local.tee $49 call $~lib/string/String#toString - local.tee $48 + local.tee $50 i32.const 9568 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 286 + i32.const 300 i32.const 1 call $~lib/builtins/abort unreachable @@ -5914,16 +5950,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#add - local.tee $49 + local.tee $51 call $~lib/string/String#toString - local.tee $50 + local.tee $52 i32.const 9600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 291 + i32.const 305 i32.const 1 call $~lib/builtins/abort unreachable @@ -5931,16 +5967,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo.sub - local.tee $51 + local.tee $53 call $~lib/string/String#toString - local.tee $52 + local.tee $54 i32.const 9632 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 296 + i32.const 310 i32.const 1 call $~lib/builtins/abort unreachable @@ -5948,16 +5984,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#mul - local.tee $53 + local.tee $55 call $~lib/string/String#toString - local.tee $54 + local.tee $56 i32.const 9664 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 301 + i32.const 315 i32.const 1 call $~lib/builtins/abort unreachable @@ -5965,16 +6001,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#div - local.tee $55 + local.tee $57 call $~lib/string/String#toString - local.tee $56 + local.tee $58 i32.const 9696 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 306 + i32.const 320 i32.const 1 call $~lib/builtins/abort unreachable @@ -5982,16 +6018,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#rem - local.tee $57 + local.tee $59 call $~lib/string/String#toString - local.tee $58 + local.tee $60 i32.const 9728 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 311 + i32.const 325 i32.const 1 call $~lib/builtins/abort unreachable @@ -5999,16 +6035,16 @@ global.get $resolve-binary/foo global.get $resolve-binary/foo call $resolve-binary/Foo#pow - local.tee $59 + local.tee $61 call $~lib/string/String#toString - local.tee $60 + local.tee $62 i32.const 9760 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 316 + i32.const 330 i32.const 1 call $~lib/builtins/abort unreachable @@ -6022,30 +6058,30 @@ global.get $resolve-binary/bar global.get $resolve-binary/bar2 call $resolve-binary/Bar#add - local.tee $61 - local.tee $62 - global.get $resolve-binary/bar local.tee $63 + local.tee $64 + global.get $resolve-binary/bar + local.tee $65 i32.ne if - local.get $62 + local.get $64 call $~lib/rt/stub/__retain - local.set $62 - local.get $63 + local.set $64 + local.get $65 call $~lib/rt/stub/__release end - local.get $62 + local.get $64 global.set $resolve-binary/bar global.get $resolve-binary/bar call $resolve-binary/Bar#self - local.tee $62 + local.tee $64 global.get $resolve-binary/bar2 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 334 + i32.const 348 i32.const 1 call $~lib/builtins/abort unreachable @@ -6057,7 +6093,7 @@ if i32.const 0 i32.const 96 - i32.const 339 + i32.const 353 i32.const 1 call $~lib/builtins/abort unreachable @@ -6188,6 +6224,10 @@ call $~lib/rt/stub/__release local.get $62 call $~lib/rt/stub/__release + local.get $63 + call $~lib/rt/stub/__release + local.get $64 + call $~lib/rt/stub/__release ) (func $~start call $start:resolve-binary