diff --git a/src/common.ts b/src/common.ts index c48f5e7005..21e61c6e8a 100644 --- a/src/common.ts +++ b/src/common.ts @@ -216,9 +216,7 @@ export namespace CommonNames { export const ArrayBufferView = "ArrayBufferView"; export const ArrayBuffer = "ArrayBuffer"; export const Math = "Math"; - export const Mathf = "Mathf"; export const NativeMath = "NativeMath"; - export const NativeMathf = "NativeMathf"; export const Int8Array = "Int8Array"; export const Int16Array = "Int16Array"; export const Int32Array = "Int32Array"; @@ -236,10 +234,12 @@ export namespace CommonNames { export const abort = "abort"; export const trace = "trace"; export const seed = "seed"; - export const pow = "pow"; - export const ipow32 = "ipow32"; - export const ipow64 = "ipow64"; - export const mod = "mod"; + export const fpow32 = "~lib/util/math/pow32"; + export const fpow64 = "~lib/util/math/pow64"; + export const ipow32 = "~lib/util/math/ipow32"; + export const ipow64 = "~lib/util/math/ipow64"; + export const fmod32 = "~lib/util/math/mod32"; + export const fmod64 = "~lib/util/math/mod64"; export const alloc = "__alloc"; export const realloc = "__realloc"; export const free = "__free"; diff --git a/src/compiler.ts b/src/compiler.ts index 74518ef05d..e6b73950da 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -5327,23 +5327,14 @@ export class Compiler extends DiagnosticEmitter { } let instance = this.f32PowInstance; if (!instance) { - let namespace = this.program.lookup(CommonNames.Mathf); - if (!namespace) { - this.error( - DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Mathf" - ); - return module.unreachable(); - } - let namespaceMembers = namespace.members; - if (!namespaceMembers || !namespaceMembers.has(CommonNames.pow)) { + let prototype = this.program.lookup(CommonNames.fpow32); + if (!prototype) { this.error( DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Mathf.pow" + reportNode.range, "pow32" ); return module.unreachable(); } - let prototype = assert(namespaceMembers.get(CommonNames.pow)); assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); this.f32PowInstance = instance = this.resolver.resolveFunction(prototype, null); } @@ -5369,23 +5360,14 @@ export class Compiler extends DiagnosticEmitter { } let instance = this.f64PowInstance; if (!instance) { - let namespace = this.program.lookup(CommonNames.Math); - if (!namespace) { - this.error( - DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Math" - ); - return module.unreachable(); - } - let namespaceMembers = namespace.members; - if (!namespaceMembers || !namespaceMembers.has(CommonNames.pow)) { + let prototype = this.program.lookup(CommonNames.fpow64); + if (!prototype) { this.error( DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Math.pow" + reportNode.range, "pow64" ); return module.unreachable(); } - let prototype = assert(namespaceMembers.get(CommonNames.pow)); assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); this.f64PowInstance = instance = this.resolver.resolveFunction(prototype, null); } @@ -5507,23 +5489,14 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.F32: { let instance = this.f32ModInstance; if (!instance) { - let namespace = this.program.lookup(CommonNames.Mathf); - if (!namespace) { - this.error( - DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Mathf" - ); - return module.unreachable(); - } - let namespaceMembers = namespace.members; - if (!namespaceMembers || !namespaceMembers.has(CommonNames.mod)) { + let prototype = this.program.lookup(CommonNames.fmod32); + if (!prototype) { this.error( DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Mathf.mod" + reportNode.range, "mod32" ); return module.unreachable(); } - let prototype = assert(namespaceMembers.get(CommonNames.mod)); assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); this.f32ModInstance = instance = this.resolver.resolveFunction(prototype, null); } @@ -5535,23 +5508,14 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.F64: { let instance = this.f64ModInstance; if (!instance) { - let namespace = this.program.lookup(CommonNames.Math); - if (!namespace) { - this.error( - DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Math" - ); - return module.unreachable(); - } - let namespaceMembers = namespace.members; - if (!namespaceMembers || !namespaceMembers.has(CommonNames.mod)) { + let prototype = this.program.lookup(CommonNames.fmod64); + if (!prototype) { this.error( DiagnosticCode.Cannot_find_name_0, - reportNode.range, "Math.mod" + reportNode.range, "mod64" ); return module.unreachable(); } - let prototype = assert(namespaceMembers.get(CommonNames.mod)); assert(prototype.kind == ElementKind.FUNCTION_PROTOTYPE); this.f64ModInstance = instance = this.resolver.resolveFunction(prototype, null); } diff --git a/src/program.ts b/src/program.ts index 2958241478..d23411b500 100644 --- a/src/program.ts +++ b/src/program.ts @@ -1401,9 +1401,6 @@ export class Program extends DiagnosticEmitter { if (!globalAliases.has(CommonNames.Math)) { globalAliases.set(CommonNames.Math, CommonNames.NativeMath); } - if (!globalAliases.has(CommonNames.Mathf)) { - globalAliases.set(CommonNames.Mathf, CommonNames.NativeMathf); - } // TODO: for (let [alias, name] of globalAliases) { for (let _keys = Map_keys(globalAliases), i = 0, k = _keys.length; i < k; ++i) { let alias = unchecked(_keys[i]); diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 7c741f027d..afed5b96f2 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -2024,128 +2024,122 @@ interface SymbolConstructor { declare const Symbol: SymbolConstructor; +// prevent infer T as literal /** @internal */ -interface IMath { +type Widen = T extends number ? number : T; + +/** @internal */ +interface IMath { /** The base of natural logarithms, e, approximately 2.718. */ - readonly E: T; + readonly E: f64; /** The natural logarithm of 2, approximately 0.693. */ - readonly LN2: T; + readonly LN2: f64; /** The natural logarithm of 10, approximately 2.302. */ - readonly LN10: T; + readonly LN10: f64; /** The base 2 logarithm of e, approximately 1.442. */ - readonly LOG2E: T; + readonly LOG2E: f64; /** The base 10 logarithm of e, approximately 0.434. */ - readonly LOG10E: T; + readonly LOG10E: f64; /** The ratio of the circumference of a circle to its diameter, approximately 3.14159. */ - readonly PI: T; + readonly PI: f64; /** The square root of 1/2, approximately 0.707. */ - readonly SQRT1_2: T; + readonly SQRT1_2: f64; /** The square root of 2, approximately 1.414. */ - readonly SQRT2: T; + readonly SQRT2: f64; /** Returns the absolute value of `x`. */ - abs(x: T): T; + abs>(x: T): Widen; /** Returns the arccosine (in radians) of `x`. */ - acos(x: T): T; + acos(x: T): Widen; /** Returns the hyperbolic arc-cosine of `x`. */ - acosh(x: T): T; + acosh(x: T): Widen; /** Returns the arcsine (in radians) of `x`. */ - asin(x: T): T; + asin(x: T): Widen; /** Returns the hyperbolic arcsine of `x`. */ - asinh(x: T): T; + asinh(x: T): Widen; /** Returns the arctangent (in radians) of `x`. */ - atan(x: T): T; + atan(x: T): Widen; /** Returns the arctangent of the quotient of its arguments. */ - atan2(y: T, x: T): T; + atan2(y: T, x: T): Widen; /** Returns the hyperbolic arctangent of `x`. */ - atanh(x: T): T; + atanh(x: T): Widen; /** Returns the cube root of `x`. */ - cbrt(x: T): T; + cbrt(x: T): Widen; /** Returns the smallest integer greater than or equal to `x`. */ - ceil(x: T): T; - /** Returns the number of leading zero bits in the 32-bit binary representation of `x`. */ - clz32(x: T): T; + ceil(x: T): Widen; + /** @deprecated Returns the number of leading zero bits in the 32-bit binary representation of `x`. */ + clz32(x: T): Widen; /** Returns the cosine (in radians) of `x`. */ - cos(x: T): T; + cos(x: T): Widen; /** Returns the hyperbolic cosine of `x`. */ - cosh(x: T): T; + cosh(x: T): Widen; /** Returns e to the power of `x`. */ - exp(x: T): T; + exp(x: T): Widen; /** Returns e to the power of `x`, minus 1. */ - expm1(x: T): T; + expm1(x: T): Widen; /** Returns the largest integer less than or equal to `x`. */ - floor(x: T): T; - /** Returns the nearest 32-bit single precision float representation of `x`. */ - fround(x: T): T; + floor(x: T): Widen; + /** @deprecated Returns the nearest 32-bit single precision float representation of `x`. */ + fround(x: T): Widen; /** Returns the square root of the sum of squares of its arguments. */ - hypot(value1: T, value2: T): T; // TODO: rest - /** Returns the result of the C-like 32-bit multiplication of `a` and `b`. */ - imul(a: T, b: T): T; + hypot(a: T, b: T): Widen; // TODO: rest + /** @deprecated Returns the result of the C-like 32-bit multiplication of `a` and `b`. */ + imul(a: T, b: T): Widen; /** Returns the natural logarithm (base e) of `x`. */ - log(x: T): T; + log(x: T): Widen; /** Returns the base 10 logarithm of `x`. */ - log10(x: T): T; + log10(x: T): Widen; /** Returns the natural logarithm (base e) of 1 + `x`. */ - log1p(x: T): T; + log1p(x: T): Widen; /** Returns the base 2 logarithm of `x`. */ - log2(x: T): T; + log2(x: T): Widen; /** Returns the largest-valued number of its arguments. */ - max(value1: T, value2: T): T; // TODO: rest + max(a: T, b: T): Widen; // TODO: rest /** Returns the lowest-valued number of its arguments. */ - min(value1: T, value2: T): T; // TODO: rest + min(a: T, b: T): Widen; // TODO: rest /** Returns `base` to the power of `exponent`. */ - pow(base: T, exponent: T): T; + pow(base: T, exponent: T): Widen; /** Returns a pseudo-random number in the range from 0.0 inclusive up to but not including 1.0. */ - random(): T; + random(): f64; /** Returns the value of `x` rounded to the nearest integer. */ - round(x: T): T; + round(x: T): Widen; /** Returns the sign of `x`, indicating whether the number is positive, negative or zero. */ - sign(x: T): T; + sign(x: T): Widen; /** Returns whether the sign bit of `x` is set. */ - signbit(x: T): bool; + signbit(x: T): bool; /** Returns the sine of `x`. */ - sin(x: T): T; + sin(x: T): Widen; /** Returns the hyperbolic sine of `x`. */ - sinh(x: T): T; + sinh(x: T): Widen; /** Returns the square root of `x`. */ - sqrt(x: T): T; + sqrt(x: T): Widen; /** Returns the tangent of `x`. */ - tan(x: T): T; + tan(x: T): Widen; /** Returns the hyperbolic tangent of `x`. */ - tanh(x: T): T; + tanh(x: T): Widen; /** Returns the integer part of `x` by removing any fractional digits. */ - trunc(x: T): T; + trunc(x: T): Widen; } /** @internal */ -interface INativeMath extends IMath { - /** Contains sin value produced after Math/Mathf.sincos */ - sincos_sin: T; - /** Contains cos value produced after Math/Mathf.sincos */ - sincos_cos: T; +interface INativeMath extends IMath { + /** Contains sin value produced after Math.sincos */ + sincos_sin: f64; + /** Contains cos value produced after Math.sincos */ + sincos_cos: f64; /** Seeds the random number generator. */ seedRandom(value: i64): void; - /** Multiplies a floating point `x` by 2 raised to power exp `n`. */ - scalbn(x: T, n: i32): T; - /** Returns the floating-point remainder of `x / y` (rounded towards zero). */ - mod(x: T, y: T): T; - /** Returns the floating-point remainder of `x / y` (rounded to nearest). */ - rem(x: T, y: T): T; /** Returns sin and cos simultaneously for same angle. Results stored to `sincos_s32/64` and `sincos_c32/64` globals */ - sincos(x: T): void; + sincos(x: T): void; /** Returns 2 raised to the given power x. Equivalent to 2 ** x. */ - exp2(x: T): T; + exp2(x: T): Widen; } /** Double precision math imported from JavaScript. */ -declare const JSMath: IMath; +declare const JSMath: IMath; /** Double precision math implemented natively. */ -declare const NativeMath: INativeMath; -/** Single precision math implemented natively. */ -declare const NativeMathf: INativeMath; +declare const NativeMath: INativeMath; /** Alias of {@link NativeMath} or {@link JSMath} respectively. Defaults to `NativeMath`. */ -declare const Math: IMath; -/** Alias of {@link NativeMathf} or {@link JSMath} respectively. Defaults to `NativeMathf`. */ -declare const Mathf: IMath; +declare const Math: IMath; /** Environmental abort function. */ declare function abort(msg?: string | null, fileName?: string | null, lineNumber?: i32, columnNumber?: i32): never; @@ -2234,8 +2228,10 @@ interface TypedPropertyDescriptor { /** Annotates a method as a binary operator overload for the specified `token`. */ declare function operator(token: - "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | - ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" + | "[]" | "[]=" | "{}" | "{}=" + | "==" | "!=" | ">" | "<" | "<=" | ">=" + | ">>" | ">>>" | "<<" | "&" | "|" | "^" + | "+" | "-" | "*" | "**" | "/" | "%" ): ( target: any, propertyKey: string, @@ -2245,8 +2241,10 @@ declare function operator(token: declare namespace operator { /** Annotates a method as a binary operator overload for the specified `token`. */ export function binary(token: - "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | - ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" + | "[]" | "[]=" | "{}" | "{}=" + | "==" | "!=" | ">" | "<" | "<=" | ">=" + | ">>" | ">>>" | "<<" | "&" | "|" | "^" + | "+" | "-" | "*" | "**" | "/" | "%" ): ( target: any, propertyKey: string, diff --git a/std/assembly/math.ts b/std/assembly/math.ts index c934e9dce7..ef3f622d08 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -2,8 +2,32 @@ import { Math as JSMath } from "./bindings/dom"; export { JSMath }; import { - pow_lut, exp_lut, exp2_lut, log_lut, log2_lut, - powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut + dtoi32, murmurHash3, + acos32, acos64, + acosh32, acosh64, + asin32, asin64, + asinh32, asinh64, + atan32, atan64, + atanh32, atanh64, + atan2_32, atan2_64, + cbrt32, cbrt64, + cos32, cos64, + cosh32, cosh64, + exp32, exp64, + expm1_32, expm1_64, + log32, log64, + log1p32, log1p64, + log2_32, log2_64, + log10_32, log10_64, + hypot32, hypot64, + pow32, pow64, + sin32, sin64, + sinh32, sinh64, + tan32, tan64, + tanh32, tanh64, + sincos32, sincos64, + sincos_cos32, sincos_cos64, + exp2_32_lut, exp2_64_lut } from "./util/math"; import { @@ -27,390 +51,11 @@ import { // // Applies to all functions marked with a comment referring here. -/** @internal */ // @ts-ignore: decorator -@lazy var rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64; - -/** @internal */ -// @ts-ignore: decorator -@lazy @inline const PIO2_TABLE = memory.data([ - 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB, - 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, - 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF, - 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, - 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20, - 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557 -]); - -/** @internal */ -function R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3 - const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above - pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01 - pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01 - pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01 - pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02 - pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04 - pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05 - qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00 - qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00 - qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01 - qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02 - - var p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); - var q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); - return p / q; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX) - const // see: musl/src/math/__expo2.c - k = 2043, - kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10 - var scale = reinterpret(((0x3FF + k / 2) << 20) << 32); - // in directed rounding correct sign before rounding or overflow is important - return NativeMath.exp(x - kln2) * (sign * scale) * scale; -} - -/** @internal */ -/* Helper function to eventually get bits of π/2 * |x| - * - * y = π/4 * (frac << clz(frac) >> 11) - * return clz(frac) - * - * Right shift 11 bits to make upper half fit in `double` - */ -// @ts-ignore: decorator -@inline -function pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c - // Bits of π/4 - const p0: u64 = 0xC4C6628B80DC1CD1; - const p1: u64 = 0xC90FDAA22168C234; - - const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64 - const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75 - - var shift = clz(q1); - - q1 = q1 << shift | q0 >> (64 - shift); - q0 <<= shift; - - var lo = umuldi(p1, q1); - var hi = res128_hi; - - var ahi = hi >> 11; - var alo = lo >> 11 | hi << 53; - var blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0); - - rempio2_y0 = (ahi + u64(lo < blo)); - rempio2_y1 = Ox1p_64 * (alo + blo); - - return shift; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function umuldi(u: u64, v: u64): u64 { - var u1: u64 , v1: u64, w0: u64, w1: u64, t: u64; - - u1 = u & 0xFFFFFFFF; - v1 = v & 0xFFFFFFFF; - - u >>= 32; - v >>= 32; - - t = u1 * v1; - w0 = t & 0xFFFFFFFF; - t = u * v1 + (t >> 32); - w1 = t >> 32; - t = u1 * v + (t & 0xFFFFFFFF); - - res128_hi = u * v + w1 + (t >> 32); - return (t << 32) + w0; -} - -/** @internal */ -function pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c - var magnitude = u & 0x7FFFFFFFFFFFFFFF; - var offset = (magnitude >> 52) - 1045; - var shift = offset & 63; - var tblPtr = PIO2_TABLE + ((offset >> 6) << 3); - var s0: u64, s1: u64, s2: u64; - - var b0 = load(tblPtr, 0 << 3); - var b1 = load(tblPtr, 1 << 3); - var b2 = load(tblPtr, 2 << 3); - - // Get 192 bits of 0x1p-31 / π with `offset` bits skipped - if (shift) { - let rshift = 64 - shift; - let b3 = load(tblPtr, 3 << 3); - s0 = b1 >> rshift | b0 << shift; - s1 = b2 >> rshift | b1 << shift; - s2 = b3 >> rshift | b2 << shift; - } else { - s0 = b0; - s1 = b1; - s2 = b2; - } - - var significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000; - - // First 128 bits of fractional part of x/(2π) - var blo = umuldi(s1, significand); - var bhi = res128_hi; - - var ahi = s0 * significand; - var clo = (s2 >> 32) * (significand >> 32); - var plo = blo + clo; - var phi = ahi + bhi + u64(plo < clo); - - // r: u128 = p << 2 - var rlo = plo << 2; - var rhi = phi << 2 | plo >> 62; - - // s: i128 = r >> 127 - var slo = rhi >> 63; - var shi = slo >> 1; - var q = (phi >> 62) - slo; - - var shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52); - var signbit = (u ^ rhi) & 0x8000000000000000; - var coeff = reinterpret(shifter | signbit); - - rempio2_y0 *= coeff; - rempio2_y1 *= coeff; - - return q; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function rempio2(x: f64, u: u64, sign: i32): i32 { - const - pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00 - pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11 - pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11 - pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21 - pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21 - pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32 - invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 - - var ix = (u >> 32) & 0x7FFFFFFF; - - if (ASC_SHRINK_LEVEL < 1) { - if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1 - let q = 1, z: f64, y0: f64, y1: f64; - if (!sign) { - z = x - pio2_1; - if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough - y0 = z - pio2_1t; - y1 = (z - y0) - pio2_1t; - } else { // near pi/2, use 33+33+53 bit pi - z -= pio2_2; - y0 = z - pio2_2t; - y1 = (z - y0) - pio2_2t; - } - } else { // negative x - z = x + pio2_1; - if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough - y0 = z + pio2_1t; - y1 = (z - y0) + pio2_1t; - } else { // near pi/2, use 33+33+53 bit pi - z += pio2_2; - y0 = z + pio2_2t; - y1 = (z - y0) + pio2_2t; - } - q = -1; - } - rempio2_y0 = y0; - rempio2_y1 = y1; - return q; - } - } - - if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099) - // Use precise Cody Waite scheme - let q = nearest(x * invpio2); - let r = x - q * pio2_1; - let w = q * pio2_1t; // 1st round good to 85 bit - let j = ix >> 20; - let y0 = r - w; - let hi = (reinterpret(y0) >> 32); - let i = j - ((hi >> 20) & 0x7FF); - - if (i > 16) { // 2nd iteration needed, good to 118 - let t = r; - w = q * pio2_2; - r = t - w; - w = q * pio2_2t - ((t - r) - w); - y0 = r - w; - hi = (reinterpret(y0) >> 32); - i = j - ((hi >> 20) & 0x7FF); - if (i > 49) { // 3rd iteration need, 151 bits acc - let t = r; - w = q * pio2_3; - r = t - w; - w = q * pio2_3t - ((t - r) - w); - y0 = r - w; - } - } - let y1 = (r - y0) - w; - rempio2_y0 = y0; - rempio2_y1 = y1; - return q; - } - var q = pio2_large_quot(x, u); - return select(-q, q, sign); -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c - const - S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01 - S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03 - S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04 - S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06 - S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08 - S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10 - - var z = x * x; - var w = z * z; - var r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6); - var v = z * x; - if (!iy) { - return x + v * (S1 + z * r); - } else { - return x - ((z * (0.5 * y - v * r) - y) - v * S1); - } -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c - const - C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02 - C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03 - C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05 - C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07 - C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09 - C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11 - - var z = x * x; - var w = z * z; - var r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6)); - var hz = 0.5 * z; - w = 1.0 - hz; - return w + (((1.0 - w) - hz) + (z * r - x * y)); -} - -/** @internal */ -function tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c - const - T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01 - T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01 - T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02 - T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02 - T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03 - T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03 - T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03 - T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04 - T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04 - T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05 - T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05 - T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05 - T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05 - - const - one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00 - pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 - pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17 - - var z: f64, r: f64, v: f64, w: f64, s: f64; - var hx = (reinterpret(x) >> 32); // high word of x - var ix = hx & 0x7FFFFFFF; // high word of |x| - var big = ix >= 0x3FE59428; - if (big) { // |x| >= 0.6744 - if (hx < 0) { x = -x, y = -y; } - z = pio4 - x; - w = pio4lo - y; - x = z + w; - y = 0.0; - } - z = x * x; - w = z * z; - r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11)))); - v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12))))); - s = z * x; - r = y + z * (s * (r + v) + y); - r += T0 * s; - w = x + r; - if (big) { - v = iy; - return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); - } - if (iy == 1) return w; - var a: f64, t: f64; - z = w; - z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000); - v = r - (z - x); // z + v = r + x - t = a = -one / w; // a = -1.0 / w - t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); - s = one + t * z; - return t + a * (s + t * v); -} - -/** @internal */ -function dtoi32(x: f64): i32 { - if (ASC_SHRINK_LEVEL > 0) { - const inv32 = 1.0 / 4294967296; - return (x - 4294967296 * floor(x * inv32)); - } else { - let result = 0; - let u = reinterpret(x); - let e = (u >> 52) & 0x7FF; - if (e <= 1023 + 30) { - result = x; - } else if (e <= 1023 + 30 + 53) { - let v = (u & ((1 << 52) - 1)) | (1 << 52); - v = v << e - 1023 - 52 + 32; - result = (v >> 32); - result = select(-result, result, u >> 63); - } - return result; - } -} - -// @ts-ignore: decorator -@lazy var random_seeded = false; - -// @ts-ignore: decorator -@lazy var random_state0_64: u64, random_state1_64: u64; - -// @ts-ignore: decorator -@lazy var random_state0_32: u32, random_state1_32: u32; - -function murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche - h ^= h >> 33; // see: https://github.com/aappleby/smhasher - h *= 0xFF51AFD7ED558CCD; - h ^= h >> 33; - h *= 0xC4CEB9FE1A85EC53; - h ^= h >> 33; - return h; -} - -function splitMix32(h: u32): u32 { - h += 0x6D2B79F5; - h = (h ^ (h >> 15)) * (h | 1); - h ^= h + (h ^ (h >> 7)) * (h | 61); - return h ^ (h >> 14); -} +@lazy var + random_seeded = false, + random_state0_64: u64, + random_state1_64: u64; export namespace NativeMath { @@ -455,961 +100,358 @@ export namespace NativeMath { export var sincos_cos: f64 = 0; // @ts-ignore: decorator - @inline export function abs(x: f64): f64 { - return builtin_abs(x); + @inline + export function abs(x: T): T { + return builtin_abs(x); } - export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - Ox1p_120f = reinterpret(0x03800000); - - var hx = (reinterpret(x) >> 32); - var ix = hx & 0x7FFFFFFF; - if (ix >= 0x3FF00000) { - let lx = reinterpret(x); - if ((ix - 0x3FF00000 | lx) == 0) { - if (hx >> 31) return 2 * pio2_hi + Ox1p_120f; - return 0; + // @ts-ignore: decorator + @inline + export function acos(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return acos32(x); + } + if (sizeof() == 8) { + return acos64(x); } - return 0 / (x - x); - } - if (ix < 0x3FE00000) { - if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f; - return pio2_hi - (x - (pio2_lo - x * R(x * x))); - } - var s: f64, w: f64, z: f64; - if (hx >> 31) { - // z = (1.0 + x) * 0.5; - z = 0.5 + x * 0.5; - s = builtin_sqrt(z); - w = R(z) * s - pio2_lo; - return 2 * (pio2_hi - (s + w)); } - // z = (1.0 - x) * 0.5; - z = 0.5 - x * 0.5; - s = builtin_sqrt(z); - var df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); - var c = (z - df * df) / (s + df); - w = R(z) * s + c; - return 2 * (df + w); - } - - export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c - const s = reinterpret(0x3FE62E42FEFA39EF); - var u = reinterpret(x); - // Prevent propagation for all input values less than 1.0. - // Note musl lib didn't fix this yet. - if (u < 0x3FF0000000000000) return (x - x) / 0.0; - var e = u >> 52 & 0x7FF; - if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1))); - if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); - return log(x) + s; + return ERROR("Math.acos accept only f32 or f64 types"); } - export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - Ox1p_120f = reinterpret(0x03800000); - - var hx = (reinterpret(x) >> 32); - var ix = hx & 0x7FFFFFFF; - if (ix >= 0x3FF00000) { - let lx = reinterpret(x); - if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f; - return 0 / (x - x); - } - if (ix < 0x3FE00000) { - if (ix < 0x3E500000 && ix >= 0x00100000) return x; - return x + x * R(x * x); - } - // var z = (1.0 - builtin_abs(x)) * 0.5; - var z = 0.5 - builtin_abs(x) * 0.5; - var s = builtin_sqrt(z); - var r = R(z); - if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo); - else { - let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); - let c = (z - f * f) / (s + f); - x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f)); + // @ts-ignore: decorator + @inline + export function acosh(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return acosh32(x); + } + if (sizeof() == 8) { + return acosh64(x); + } } - if (hx >> 31) return -x; - return x; + return ERROR("Math.acosh accept only f32 or f64 types"); } - export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c - const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568 - var u = reinterpret(x); - var e = u >> 52 & 0x7FF; - var y = reinterpret(u & 0x7FFFFFFFFFFFFFFF); - if (e >= 0x3FF + 26) y = log(y) + c; - else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); - else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); - return builtin_copysign(y, x); - } - - export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above - const - atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01 - atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 - atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01 - atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17 - atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17 - atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17 - atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01 - aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01 - aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01 - aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01, - aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02 - aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02 - aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02 - aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02 - aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02 - aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02 - aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02 - Ox1p_120f = reinterpret(0x03800000); - - var ix = (reinterpret(x) >> 32); - var sx = x; - ix &= 0x7FFFFFFF; - var z: f64; - if (ix >= 0x44100000) { - if (isNaN(x)) return x; - z = atanhi3 + Ox1p_120f; - return builtin_copysign(z, sx); - } - var id: i32; - if (ix < 0x3FDC0000) { - if (ix < 0x3E400000) return x; - id = -1; - } else { - x = builtin_abs(x); - if (ix < 0x3FF30000) { - if (ix < 0x3FE60000) { - id = 0; - x = (2.0 * x - 1.0) / (2.0 + x); - } else { - id = 1; - x = (x - 1.0) / (x + 1.0); - } - } else { - if (ix < 0x40038000) { - id = 2; - x = (x - 1.5) / (1.0 + 1.5 * x); - } else { - id = 3; - x = -1.0 / x; - } + // @ts-ignore: decorator + @inline + export function asin(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return asin32(x); + } + if (sizeof() == 8) { + return asin64(x); } } - z = x * x; - var w = z * z; - var s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10))))); - var s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9)))); - var s3 = x * (s1 + s2); - if (id < 0) return x - s3; - switch (id) { - case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } - case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } - case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } - case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } - default: unreachable(); - } - return builtin_copysign(z, sx); + return ERROR("Math.asin accept only f32 or f64 types"); } - export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c - var u = reinterpret(x); - var e = u >> 52 & 0x7FF; - var y = builtin_abs(x); - if (e < 0x3FF - 1) { - if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y)); - } else { - y = 0.5 * log1p(2 * (y / (1 - y))); + // @ts-ignore: decorator + @inline + export function asinh(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return asinh32(x); + } + if (sizeof() == 8) { + return asinh64(x); + } } - return builtin_copysign(y, x); + return ERROR("Math.asinh accept only f32 or f64 types"); } - export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above - const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16 - if (isNaN(x) || isNaN(y)) return x + y; - var u = reinterpret(x); - var ix = (u >> 32); - var lx = u; - u = reinterpret(y); - var iy = (u >> 32); - var ly = u; - if ((ix - 0x3FF00000 | lx) == 0) return atan(y); - var m = ((iy >> 31) & 1) | ((ix >> 30) & 2); - ix = ix & 0x7FFFFFFF; - iy = iy & 0x7FFFFFFF; - if ((iy | ly) == 0) { - switch (m) { - case 0: - case 1: return y; - case 2: return PI; - case 3: return -PI; + // @ts-ignore: decorator + @inline + export function atan(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return atan32(x); } - } - if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2; - if (ix == 0x7FF00000) { - if (iy == 0x7FF00000) { - let t = m & 2 ? 3 * PI / 4 : PI / 4; - return m & 1 ? -t : t; - } else { - let t = m & 2 ? PI : 0; - return m & 1 ? -t : t; + if (sizeof() == 8) { + return atan64(x); } } - var z: f64; - if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2; - if ((m & 2) && iy + (64 << 20) < ix) z = 0; - else z = atan(builtin_abs(y / x)); - switch (m) { - case 0: return z; - case 1: return -z; - case 2: return PI - (z - pi_lo); - case 3: return (z - pi_lo) - PI; - } - unreachable(); - return 0; + return ERROR("Math.atan accept only f32 or f64 types"); } - export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above - const - B1 = 715094163, - B2 = 696219795, - P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643 - P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875 - P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140 - P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437 - P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - var u = reinterpret(x); - var hx = (u >> 32) & 0x7FFFFFFF; - if (hx >= 0x7FF00000) return x + x; - if (hx < 0x00100000) { - u = reinterpret(x * Ox1p54); - hx = (u >> 32) & 0x7FFFFFFF; - if (hx == 0) return x; - hx = hx / 3 + B2; - } else { - hx = hx / 3 + B1; + // @ts-ignore: decorator + @inline + export function atanh(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return atanh32(x); + } + if (sizeof() == 8) { + return atanh64(x); + } } - u &= 1 << 63; - u |= hx << 32; - var t = reinterpret(u); - var r = (t * t) * (t / x); - t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); - t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000); - var s = t * t; - r = x / s; - r = (r - t) / (2 * t + r); - t = t + t * r; - return t; + return ERROR("Math.atanh accept only f32 or f64 types"); } // @ts-ignore: decorator @inline - export function ceil(x: f64): f64 { - return builtin_ceil(x); - } - - export function clz32(x: f64): f64 { - if (!isFinite(x)) return 32; - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - return builtin_clz(dtoi32(x)); - } - - export function cos(x: f64): f64 { // see: musl/src/math/cos.c - var u = reinterpret(x); - var ix = (u >> 32); - var sign = ix >> 31; - - ix &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ix <= 0x3FE921FB) { - if (ix < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2) - return 1.0; + export function atan2(x: T, y: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return atan2_32(x, y); + } + if (sizeof() == 8) { + return atan2_64(x, y); } - return cos_kern(x, 0); } - - // sin(Inf or NaN) is NaN - if (ix >= 0x7FF00000) return x - x; - - // argument reduction needed - var n = rempio2(x, u, sign); - var y0 = rempio2_y0; - var y1 = rempio2_y1; - - x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1); - return (n + 1) & 2 ? -x : x; + return ERROR("Math.atan2 accept only f32 or f64 types"); } - export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c - var u = reinterpret(x); - u &= 0x7FFFFFFFFFFFFFFF; - x = reinterpret(u); - var w = (u >> 32); - var t: f64; - if (w < 0x3FE62E42) { - if (w < 0x3FF00000 - (26 << 20)) return 1; - t = expm1(x); - // return 1 + t * t / (2 * (1 + t)); - return 1 + t * t / (2 + 2 * t); - } - if (w < 0x40862E42) { - t = exp(x); - return 0.5 * (t + 1 / t); + // @ts-ignore: decorator + @inline + export function cbrt(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return cbrt32(x); + } + if (sizeof() == 8) { + return cbrt64(x); + } } - t = expo2(x, 1); - return t; + return ERROR("Math.cbrt accept only f32 or f64 types"); } - export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return exp_lut(x); + // @ts-ignore: decorator + @inline + export function ceil(x: T): T { + if (isInteger()) { + WARNING("Using Math.ceil for integer types is unnecessary"); + return x; + } else if (isFloat()) { + return builtin_ceil(x); } else { - const - ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 - P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 - P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 - P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 - P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 - overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096 - underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842 - Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 + return ERROR("Math.ceil accept only numeric types"); + } + } + + export function clz32(x: T): i32 { + if (isInteger()) { + return builtin_clz(i32(x)); + } else if (isFloat()) { + if (!isFinite(x)) return 32; + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + return builtin_clz(dtoi32(f64(x))); + } else { + return ERROR("Math.clz32 accept only numeric types"); + } + } - let hx = (reinterpret(x) >> 32); - let sign_ = (hx >> 31); - hx &= 0x7FFFFFFF; - if (hx >= 0x4086232B) { - if (isNaN(x)) return x; - if (x > overflow) return x * Ox1p1023; - if (x < underflow) return 0; + // @ts-ignore: decorator + @inline + export function cos(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return cos32(x); + } + if (sizeof() == 8) { + return cos64(x); } - let hi: f64, lo: f64 = 0; - let k = 0; - if (hx > 0x3FD62E42) { - if (hx >= 0x3FF0A2B2) { - k = (invln2 * x + builtin_copysign(0.5, x)); - } else { - k = 1 - (sign_ << 1); - } - hi = x - k * ln2hi; - lo = k * ln2lo; - x = hi - lo; - } else if (hx > 0x3E300000) { - hi = x; - } else return 1.0 + x; - let xs = x * x; - // var c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5)))); - let xq = xs * xs; - let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5))); - let y = 1.0 + (x * c / (2 - c) - lo + hi); - return k == 0 ? y : scalbn(y, k); } + return ERROR("Math.cos accept only f32 or f64 types"); } - export function exp2(x: f64): f64 { - return exp2_lut(x); + // @ts-ignore: decorator + @inline + export function cosh(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return cosh32(x); + } + if (sizeof() == 8) { + return cosh64(x); + } + } + return ERROR("Math.cosh accept only f32 or f64 types"); } - export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above - const - o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02 - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02 - Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03 - Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05 - Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06 - Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07 - Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 - - var u = reinterpret(x); - var hx = (u >> 32 & 0x7FFFFFFF); - var k = 0, sign_ = (u >> 63); - if (hx >= 0x4043687A) { - if (isNaN(x)) return x; - if (sign_) return -1; - if (x > o_threshold) return x * Ox1p1023; - } - var c = 0.0, t: f64; - if (hx > 0x3FD62E42) { - k = select( - 1 - (sign_ << 1), - (invln2 * x + builtin_copysign(0.5, x)), - hx < 0x3FF0A2B2 - ); - t = k; - let hi = x - t * ln2_hi; - let lo = t * ln2_lo; - x = hi - lo; - c = (hi - x) - lo; - } else if (hx < 0x3C900000) return x; - var hfx = 0.5 * x; - var hxs = x * hfx; - // var r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); - var hxq = hxs * hxs; - var r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5)); - t = 3.0 - r1 * hfx; - var e = hxs * ((r1 - t) / (6.0 - x * t)); - if (k == 0) return x - (x * e - hxs); - e = x * (e - c) - c; - e -= hxs; - if (k == -1) return 0.5 * (x - e) - 0.5; - if (k == 1) { - if (x < -0.25) return -2.0 * (e - (x + 0.5)); - return 1.0 + 2.0 * (x - e); - } - u = (0x3FF + k) << 52; - var twopk = reinterpret(u); - var y: f64; - if (k < 0 || k > 56) { - y = x - e + 1.0; - if (k == 1024) y = y * 2.0 * Ox1p1023; - else y = y * twopk; - return y - 1.0; + // @ts-ignore: decorator + @inline + export function exp(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return exp32(x); + } + if (sizeof() == 8) { + return exp64(x); + } } - u = (0x3FF - k) << 52; - y = reinterpret(u); - if (k < 20) y = (1 - y) - e; - else y = 1 - (e + y); - return (x + y) * twopk; + return ERROR("Math.exp accept only f32 or f64 types"); } // @ts-ignore: decorator @inline - export function floor(x: f64): f64 { - return builtin_floor(x); + export function exp2(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return exp2_32_lut(x); + } + if (sizeof() == 8) { + return exp2_64_lut(x); + } + } + return ERROR("Math.exp2 accept only numeric types"); } // @ts-ignore: decorator @inline - export function fround(x: f64): f64 { - return x; + export function expm1(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return expm1_32(x); + } + if (sizeof() == 8) { + return expm1_64(x); + } + } + return ERROR("Math.expm1 accept only numeric types"); } - export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c - const - SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1 - Ox1p700 = reinterpret(0x6BB0000000000000), - Ox1p_700 = reinterpret(0x1430000000000000); - - var ux = reinterpret(x); - var uy = reinterpret(y); - ux &= 0x7FFFFFFFFFFFFFFF; - uy &= 0x7FFFFFFFFFFFFFFF; - if (ux < uy) { - let ut = ux; - ux = uy; - uy = ut; - } - var ex = (ux >> 52); - var ey = (uy >> 52); - y = reinterpret(uy); - if (ey == 0x7FF) return y; - x = reinterpret(ux); - if (ex == 0x7FF || uy == 0) return x; - if (ex - ey > 64) return x + y; - var z = 1.0; - if (ex > 0x3FF + 510) { - z = Ox1p700; - x *= Ox1p_700; - y *= Ox1p_700; - } else if (ey < 0x3FF - 450) { - z = Ox1p_700; - x *= Ox1p700; - y *= Ox1p700; + // @ts-ignore: decorator + @inline + export function floor(x: T): T { + if (isInteger()) { + WARNING("Using Math.floor for integer types is unnecessary"); + return x; + } else if (isFloat()) { + return builtin_floor(x); + } else { + return ERROR("Math.floor accept only numeric types"); } - var c = x * SPLIT; - var h = x - c + c; - var l = x - h; - var hx = x * x; - var lx = h * h - hx + (2 * h + l) * l; - c = y * SPLIT; - h = y - c + c; - l = y - h; - var hy = y * y; - var ly = h * h - hy + (2 * h + l) * l; - return z * builtin_sqrt(ly + lx + hy + hx); } - export function imul(x: f64, y: f64): f64 { - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - if (!isFinite(x + y)) return 0; - return dtoi32(x) * dtoi32(y); + // @ts-ignore: decorator + @inline + export function fround(x: T): f32 { + if (isFloat()) { + return x; + } else { + return ERROR("Math.fround accept only f32 or f64 types"); + } } - export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log_lut(x); + // @ts-ignore: decorator + @inline + export function hypot(x: T, y: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return hypot32(x, y); + } + if (sizeof() == 8) { + return hypot64(x, y); + } + } + return ERROR("Math.hypot accept only f32 or f64 types"); + } + + export function imul(x: T, y: T): T { + if (isInteger()) { + WARNING("Using Math.imul for integer types is unnecessary. Just use ordinal multiplication"); + return (x * y); + } else if (isFloat()) { + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + if (!isFinite(x + y)) return 0; + return (dtoi32(x) * dtoi32(y)); } else { - const - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + return ERROR("Math.imul accept only numeric types"); + } + } - let u = reinterpret(x); - let hx = (u >> 32); - let k = 0; - if (hx < 0x00100000 || (hx >> 31)) { - if (u << 1 == 0) return -1 / (x * x); - if (hx >> 31) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = (u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; + // @ts-ignore: decorator + @inline + export function log(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return log32(x); + } + if (sizeof() == 8) { + return log64(x); } - hx += 0x3FF00000 - 0x3FE6A09E; - k += (hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let dk = k; - return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; } + return ERROR("Math.log accept only f32 or f64 types"); } - export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above - const - ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01 - ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11 - log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01 - log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - var u = reinterpret(x); - var hx = (u >> 32); - var k = 0; - if (hx < 0x00100000 || (hx >> 31)) { - if (u << 1 == 0) return -1 / (x * x); - if (hx >> 31) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = (u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; + // @ts-ignore: decorator + @inline + export function log10(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return log10_32(x); + } + if (sizeof() == 8) { + return log10_64(x); + } } - hx += 0x3FF00000 - 0x3FE6A09E; - k += (hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - var f = x - 1.0; - var hfsq = 0.5 * f * f; - var s = f / (2.0 + f); - var z = s * s; - var w = z * z; - var t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - var r = t2 + t1; - var hi = f - hfsq; - u = reinterpret(hi); - u &= 0xFFFFFFFF00000000; - hi = reinterpret(u); - var lo = f - hi - hfsq + s * (hfsq + r); - var val_hi = hi * ivln10hi; - var dk = k; - var y = dk * log10_2hi; - var val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi; - w = y + val_hi; - val_lo += (y - w) + val_hi; - return val_lo + w; + return ERROR("Math.log10 accept only f32 or f64 types"); } - export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01 - - var u = reinterpret(x); - var hx = (u >> 32); - var k = 1; - var c = 0.0, f = 0.0; - if (hx < 0x3FDA827A || (hx >> 31)) { - if (hx >= 0xBFF00000) { - if (x == -1) return x / 0.0; - return (x - x) / 0.0; + // @ts-ignore: decorator + @inline + export function log1p(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return log1p32(x); } - if (hx << 1 < 0x3CA00000 << 1) return x; - if (hx <= 0xBFD2BEC4) { - k = 0; - c = 0; - f = x; + if (sizeof() == 8) { + return log1p64(x); } - } else if (hx >= 0x7FF00000) return x; - if (k) { - u = reinterpret(1 + x); - let hu = (u >> 32); - hu += 0x3FF00000 - 0x3FE6A09E; - k = (hu >> 20) - 0x3FF; - if (k < 54) { - let uf = reinterpret(u); - c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); - c /= uf; - } else c = 0; - hu = (hu & 0x000FFFFF) + 0x3FE6A09E; - u = hu << 32 | (u & 0xFFFFFFFF); - f = reinterpret(u) - 1; } - var hfsq = 0.5 * f * f; - var s = f / (2.0 + f); - var z = s * s; - var w = z * z; - var t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - var r = t2 + t1; - var dk = k; - return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; + return ERROR("Math.log1p accept only f32 or f64 types"); } - export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log2_lut(x); - } else { - const - ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00 - ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 1p54 - - let u = reinterpret(x); - let hx = (u >> 32); - let k = 0; - if (hx < 0x00100000 || (hx >> 31)) { - if (u << 1 == 0) return -1 / (x * x); - if (hx >> 31) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = (u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; + // @ts-ignore: decorator + @inline + export function log2(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return log2_32(x); + } + if (sizeof() == 8) { + return log2_64(x); } - hx += 0x3FF00000 - 0x3FE6A09E; - k += (hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let hi = f - hfsq; - u = reinterpret(hi); - u &= 0xFFFFFFFF00000000; - hi = reinterpret(u); - let lo = f - hi - hfsq + s * (hfsq + r); - let val_hi = hi * ivln2hi; - let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; - let y = k; - w = y + val_hi; - val_lo += (y - w) + val_hi; - val_hi = w; - return val_lo + val_hi; } + return ERROR("Math.log2 accept only f32 or f64 types"); } // @ts-ignore: decorator @inline - export function max(value1: f64, value2: f64): f64 { - return builtin_max(value1, value2); + export function max(a: T, b: T): T { + return builtin_max(a, b); } // @ts-ignore: decorator @inline - export function min(value1: f64, value2: f64): f64 { - return builtin_min(value1, value2); + export function min(a: T, b: T): T { + return builtin_min(a, b); } - export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above - // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms - if (builtin_abs(y) <= 2) { - if (y == 2.0) return x * x; - if (y == 0.5) { - return select( - builtin_abs(builtin_sqrt(x)), - Infinity, - x != -Infinity - ); - } - if (y == -1.0) return 1 / x; - if (y == 1.0) return x; - if (y == 0.0) return 1.0; - } - if (ASC_SHRINK_LEVEL < 1) { - return pow_lut(x, y); - } else { - const - dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01 - dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08 - two53 = reinterpret(0x4340000000000000), // 9007199254740992.0 - huge = reinterpret(0x7E37E43C8800759C), // 1e+300 - tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300 - L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01 - L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01 - L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01 - L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01 - L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01 - L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01 - P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 - P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 - P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 - P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 - P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 - lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01 - lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01 - lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09 - ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017 - cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01 - cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01 - cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09 - ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00 - ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08 - inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333 - - let u_ = reinterpret(x); - let hx = (u_ >> 32); - let lx = u_; - u_ = reinterpret(y); - let hy = (u_ >> 32); - let ly = u_; - let ix = hx & 0x7FFFFFFF; - let iy = hy & 0x7FFFFFFF; - if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN - // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN - if ( // NaN if either arg is NaN - ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) || - iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0) - ) return x + y; - let yisint = 0, k: i32; - if (hx < 0) { - if (iy >= 0x43400000) yisint = 2; - else if (iy >= 0x3FF00000) { - k = (iy >> 20) - 0x3FF; - let offset = select(52, 20, k > 20) - k; - let Ly = select(ly, iy, k > 20); - let jj = Ly >> offset; - if ((jj << offset) == Ly) yisint = 2 - (jj & 1); - } - } - if (ly == 0) { - if (iy == 0x7FF00000) { // y is +-inf - if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN - else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0 - else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf - } - if (iy == 0x3FF00000) { - if (hy >= 0) return x; - return 1 / x; - } - if (hy == 0x40000000) return x * x; - if (hy == 0x3FE00000) { - if (hx >= 0) return builtin_sqrt(x); - } - } - let ax = builtin_abs(x), z: f64; - if (lx == 0) { - if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) { - z = ax; - if (hy < 0) z = 1.0 / z; - if (hx < 0) { - if (((ix - 0x3FF00000) | yisint) == 0) { - let d = z - z; - z = d / d; - } else if (yisint == 1) z = -z; - } - return z; - } - } - let s = 1.0; - if (hx < 0) { - if (yisint == 0) { - let d = x - x; - return d / d; - } - if (yisint == 1) s = -1.0; - } - let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64; - let j: i32, n: i32; - if (iy > 0x41E00000) { - if (iy > 0x43F00000) { - if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny; - if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny; - } - if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny; - if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny; - t = ax - 1.0; - w = (t * t) * (0.5 - t * (inv3 - t * 0.25)); - u = ivln2_h * t; - v = t * ivln2_l - w * ivln2; - t1 = u + v; - t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); - t2 = v - (t1 - u); - } else { - let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64; - n = 0; - if (ix < 0x00100000) { - ax *= two53; - n -= 53; - ix = (reinterpret(ax) >> 32); - } - n += (ix >> 20) - 0x3FF; - j = ix & 0x000FFFFF; - ix = j | 0x3FF00000; - if (j <= 0x3988E) k = 0; - else if (j < 0xBB67A) k = 1; - else { - k = 0; - n += 1; - ix -= 0x00100000; - } - ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32)); - let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0 - u = ax - bp; - v = 1.0 / (ax + bp); - ss = u * v; - s_h = ss; - s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000); - t_h = reinterpret((((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32); - t_l = ax - (t_h - bp); - s_l = v * ((u - s_h * t_h) - s_h * t_l); - s2 = ss * ss; - r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6))))); - r += s_l * (s_h + ss); - s2 = s_h * s_h; - t_h = 3.0 + s2 + r; - t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000); - t_l = r - ((t_h - 3.0) - s2); - u = s_h * t_h; - v = s_l * t_h + t_l * ss; - p_h = u + v; - p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000); - p_l = v - (p_h - u); - let z_h = cp_h * p_h; - let dp_l = select(dp_l1, 0.0, k); - let z_l = cp_l * p_h + p_l * cp + dp_l; - t = n; - let dp_h = select(dp_h1, 0.0, k); - t1 = ((z_h + z_l) + dp_h) + t; - t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); - t2 = z_l - (((t1 - t) - dp_h) - z_h); - } - let y1 = y; - y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000); - p_l = (y - y1) * t1 + y * t2; - p_h = y1 * t1; - z = p_l + p_h; - u_ = reinterpret(z); - j = (u_ >> 32); - let i = u_; - if (j >= 0x40900000) { - if (((j - 0x40900000) | i) != 0) return s * huge * huge; - if (p_l + ovt > z - p_h) return s * huge * huge; - } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) { - if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny; - if (p_l <= z - p_h) return s * tiny * tiny; + // @ts-ignore: decorator + @inline + export function pow(x: T, y: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return pow32(x, y); } - i = j & 0x7FFFFFFF; - k = (i >> 20) - 0x3FF; - n = 0; - if (i > 0x3FE00000) { - n = j + (0x00100000 >> (k + 1)); - k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF; - t = 0.0; - t = reinterpret((n & ~(0x000FFFFF >> k)) << 32); - n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k); - if (j < 0) n = -n; - p_h -= t; + if (sizeof() == 8) { + return pow64(x, y); } - t = p_l + p_h; - t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); - u = t * lg2_h; - v = (p_l - (t - p_h)) * lg2 + t * lg2_l; - z = u + v; - w = v - (z - u); - t = z * z; - t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); - r = (z * t1) / (t1 - 2.0) - (w + z * w); - z = 1.0 - (r - z); - j = (reinterpret(z) >> 32); - j += n << 20; - if ((j >> 20) <= 0) z = scalbn(z, n); - else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32)); - return s * z; } + return ERROR("Math.pow accept only f32 or f64 types"); } export function seedRandom(value: i64): void { @@ -1419,8 +461,6 @@ export namespace NativeMath { if (value == 0) value = 0x9e3779b97f4a7c15; random_state0_64 = murmurHash3(value); random_state1_64 = murmurHash3(~random_state0_64); - random_state0_32 = splitMix32(value); - random_state1_32 = splitMix32(random_state0_32); random_seeded = true; } @@ -1440,1846 +480,152 @@ export namespace NativeMath { // @ts-ignore: decorator @inline - export function round(x: f64): f64 { - let roundUp = builtin_ceil(x); - return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); + export function round(x: T): T { + if (isInteger()) { + WARNING("Using Math.round for integer types is unnecessary"); + return x; + } else if (isFloat()) { + let roundUp = builtin_ceil(x); + return select(roundUp, (roundUp - 1.0), roundUp - 0.5 <= x); + } else { + return ERROR("Math.round accept only numeric types"); + } } // @ts-ignore: decorator @inline - export function sign(x: f64): f64 { - if (ASC_SHRINK_LEVEL > 0) { - return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x; + export function sign(x: T): T { + if (isInteger()) { + if (isSigned()) { + return (x ? (x >> sizeof() * 8 - 1) | 1 : 0); + } else { + return (x ? 1 : 0); + } + } else if (isFloat()) { + if (ASC_SHRINK_LEVEL > 0) { + return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x; + } else { + return (x > 0 ? 1 : x < 0 ? -1 : x); + } } else { - return x > 0 ? 1 : x < 0 ? -1 : x; + return ERROR("Math.sign accept only numeric types"); } } // @ts-ignore: decorator @inline - export function signbit(x: f64): bool { - return (reinterpret(x) >>> 63); + export function signbit(x: T): bool { + if (isInteger()) { + if (isSigned()) { + return (x >>> sizeof() * 8 - 1); + } else { + return false; + } + } else if (isFloat()) { + if (sizeof() == 4) { + return (reinterpret(x) >>> 31); + } + if (sizeof() == 8) { + return (reinterpret(x) >>> 63); + } + } + return ERROR("Math.signbit accept only numeric types"); } - export function sin(x: f64): f64 { // see: musl/src/math/sin.c - var u = reinterpret(x); - var ix = (u >> 32); - var sign = ix >> 31; - - ix &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ix <= 0x3FE921FB) { - if (ix < 0x3E500000) { // |x| < 2**-26 - return x; + // @ts-ignore: decorator + @inline + export function sin(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return sin32(x); + } + if (sizeof() == 8) { + return sin64(x); } - return sin_kern(x, 0.0, 0); } - - // sin(Inf or NaN) is NaN - if (ix >= 0x7FF00000) return x - x; - - // argument reduction needed - var n = rempio2(x, u, sign); - var y0 = rempio2_y0; - var y1 = rempio2_y1; - - x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1); - return n & 2 ? -x : x; + return ERROR("Math.sin accept only f32 or f64 types"); } - export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c - var u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF; - var a = reinterpret(u); - var w = (u >> 32); - var h = builtin_copysign(0.5, x); - if (w < 0x40862E42) { - let t = expm1(a); - if (w < 0x3FF00000) { - if (w < 0x3FF00000 - (26 << 20)) return x; - return h * (2 * t - t * t / (t + 1)); + // @ts-ignore: decorator + @inline + export function sinh(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return sinh32(x); + } + if (sizeof() == 8) { + return sinh64(x); } - return h * (t + t / (t + 1)); } - return expo2(a, 2 * h); + return ERROR("Math.sinh accept only f32 or f64 types"); } // @ts-ignore: decorator @inline - export function sqrt(x: f64): f64 { - return builtin_sqrt(x); + export function sqrt(x: T): T { + if (isFloat()) { + return builtin_sqrt(x); + } else { + return ERROR("Math.sqrt accept only f32 or f64 types"); + } } - export function tan(x: f64): f64 { // see: musl/src/math/tan.c - var u = reinterpret(x); - var ix = (u >> 32); - var sign = ix >>> 31; - - ix &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ix <= 0x3FE921FB) { - if (ix < 0x3E400000) { // |x| < 2**-27 - return x; + // @ts-ignore: decorator + @inline + export function tan(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return tan32(x); + } + if (sizeof() == 8) { + return tan64(x); } - return tan_kern(x, 0.0, 1); } - - // tan(Inf or NaN) is NaN - if (ix >= 0x7FF00000) return x - x; - - var n = rempio2(x, u, sign); - return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1)); + return ERROR("Math.tan accept only f32 or f64 types"); } - export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c - var u = reinterpret(x); - u &= 0x7FFFFFFFFFFFFFFF; - var y = reinterpret(u); - var w = (u >> 32); - var t: f64; - if (w > 0x3FE193EA) { - if (w > 0x40340000) { - t = 1 - 0 / y; - } else { - t = expm1(2 * y); - t = 1 - 2 / (t + 2); + // @ts-ignore: decorator + @inline + export function tanh(x: T): T { + if (isFloat()) { + if (sizeof() == 4) { + return tanh32(x); } - } else if (w > 0x3FD058AE) { - t = expm1(2 * y); - t = t / (t + 2); - } else if (w >= 0x00100000) { - t = expm1(-2 * y); - t = -t / (t + 2); - } else t = y; - return builtin_copysign(t, x); + if (sizeof() == 8) { + return tanh64(x); + } + } + return ERROR("Math.tanh accept only f32 or f64 types"); } // @ts-ignore: decorator @inline - export function trunc(x: f64): f64 { - return builtin_trunc(x); + export function trunc(x: T): T { + if (isInteger()) { + WARNING("Using Math.trunc for integer types is unnecessary"); + return x; + } else if (isFloat()) { + return builtin_trunc(x); + } else { + return ERROR("Math.trunc accept only numeric types"); + } } - export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c - const - Ox1p53 = reinterpret(0x4340000000000000), - Ox1p1023 = reinterpret(0x7FE0000000000000), - Ox1p_1022 = reinterpret(0x0010000000000000); - - var y = x; - if (n > 1023) { - y *= Ox1p1023; - n -= 1023; - if (n > 1023) { - y *= Ox1p1023; - n = builtin_min(n - 1023, 1023); - } - } else if (n < -1022) { - // make sure final n < -53 to avoid double - // rounding in the subnormal range - y *= Ox1p_1022 * Ox1p53; - n += 1022 - 53; - if (n < -1022) { - y *= Ox1p_1022 * Ox1p53; - n = builtin_max(n + 1022 - 53, -1022); + // @ts-ignore: decorator + @inline + export function sincos(x: T): void { + if (isFloat()) { + if (sizeof() == 4) { + sincos_sin = sincos32(x); + sincos_cos = sincos_cos32; + } else if (sizeof() == 8) { + sincos_sin = sincos64(x); + sincos_cos = sincos_cos64; + } else { + ERROR("Math.sincos accept only f32 or f64 types"); } + } else { + ERROR("Math.sincos accept only f32 or f64 types"); } - return y * reinterpret((0x3FF + n) << 52); } - - export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c - if (builtin_abs(y) == 1.0) { - // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) - // TODO: move this rule to compiler's optimization pass. - // It could be apply for any x % C_pot, where "C_pot" is pow of two const. - return builtin_copysign(x - builtin_trunc(x), x); - } - var ux = reinterpret(x); - var uy = reinterpret(y); - var ex = (ux >> 52 & 0x7FF); - var ey = (uy >> 52 & 0x7FF); - var sx = ux >> 63; - var uy1 = uy << 1; - if (uy1 == 0 || ex == 0x7FF || isNaN(y)) { - let m = x * y; - return m / m; - } - var ux1 = ux << 1; - if (ux1 <= uy1) { - return x * f64(ux1 != uy1); - } - if (!ex) { - ex -= builtin_clz(ux << 12); - ux <<= 1 - ex; - } else { - ux &= -1 >> 12; - ux |= 1 << 52; - } - if (!ey) { - ey -= builtin_clz(uy << 12); - uy <<= 1 - ey; - } else { - uy &= -1 >> 12; - uy |= 1 << 52; - } - while (ex > ey) { - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - ux <<= 1; - --ex; - } - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - // for (; !(ux >> 52); ux <<= 1) --ex; - var shift = builtin_clz(ux << 11); - ex -= shift; - ux <<= shift; - if (ex > 0) { - ux -= 1 << 52; - ux |= ex << 52; - } else { - ux >>= -ex + 1; - } - return reinterpret(ux | (sx << 63)); - } - - export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c - var ux = reinterpret(x); - var uy = reinterpret(y); - var ex = (ux >> 52 & 0x7FF); - var ey = (uy >> 52 & 0x7FF); - var sx = (ux >> 63); - if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) { - let m = x * y; - return m / m; - } - if (ux << 1 == 0) return x; - var uxi = ux; - if (!ex) { - ex -= builtin_clz(uxi << 12); - uxi <<= 1 - ex; - } else { - uxi &= -1 >> 12; - uxi |= 1 << 52; - } - if (!ey) { - ey -= builtin_clz(uy << 12); - uy <<= 1 - ey; - } else { - uy &= -1 >> 12; - uy |= 1 << 52; - } - var q: u32 = 0; - do { - if (ex < ey) { - if (ex + 1 == ey) break; // goto end - return x; - } - while (ex > ey) { - if (uxi >= uy) { - uxi -= uy; - ++q; - } - uxi <<= 1; - q <<= 1; - --ex; - } - if (uxi >= uy) { - uxi -= uy; - ++q; - } - if (uxi == 0) ex = -60; - else { - let shift = builtin_clz(uxi << 11); - ex -= shift; - uxi <<= shift; - } - break; - } while (false); - // end: - if (ex > 0) { - uxi -= 1 << 52; - uxi |= ex << 52; - } else { - uxi >>= -ex + 1; - } - x = reinterpret(uxi); - y = builtin_abs(y); - var x2 = x + x; - if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) { - x -= y; - // ++q; - } - return sx ? -x : x; - } - - export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c - var u = reinterpret(x); - var ix = (u >> 32); - var sign = ix >> 31; - ix &= 0x7FFFFFFF; - - if (ix <= 0x3FE921FB) { // |x| ~<= π/4 - if (ix < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2) - sincos_sin = x; - sincos_cos = 1; - return; - } - sincos_sin = sin_kern(x, 0, 0); - sincos_cos = cos_kern(x, 0); - return; - } - // sin(Inf or NaN) is NaN - if (ix >= 0x7F800000) { - let xx = x - x; - sincos_sin = xx; - sincos_cos = xx; - return; - } - // general argument reduction needed - var n = rempio2(x, u, sign); - var y0 = rempio2_y0; - var y1 = rempio2_y1; - var s = sin_kern(y0, y1, 1); - var c = cos_kern(y0, y1); - var sin = s, cos = c; - if (n & 1) { - sin = c; - cos = -s; - } - if (n & 2) { - sin = -sin; - cos = -cos; - } - sincos_sin = sin; - sincos_cos = cos; - } -} - -// @ts-ignore: decorator -@lazy var rempio2f_y: f64; - -// @ts-ignore: decorator -@lazy @inline const PIO2F_TABLE = memory.data([ - 0xA2F9836E4E441529, - 0xFC2757D1F534DDC0, - 0xDB6295993C439041, - 0xFE5163ABDEBBC561 -]); - -function Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3 - const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above - pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f - pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f - pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f - qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f - - var p = z * (pS0 + z * (pS1 + z * pS2)); - var q: f32 = 1 + z * qS1; - return p / q; -} - -// @ts-ignore: decorator -@inline -function expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX) - const // see: musl/src/math/__expo2f.c - k = 235, - kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f - var scale = reinterpret((0x7F + (k >> 1)) << 23); - // in directed rounding correct sign before rounding or overflow is important - return NativeMathf.exp(x - kln2) * (sign * scale) * scale; -} - -// @ts-ignore: decorator -@inline -function pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c - const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20 - - var offset = (u >> 23) - 152; - var shift = (offset & 63); - var tblPtr = PIO2F_TABLE + (offset >> 6 << 3); - - var b0 = load(tblPtr, 0 << 3); - var b1 = load(tblPtr, 1 << 3); - var lo: u64; - - if (shift > 32) { - let b2 = load(tblPtr, 2 << 3); - lo = b2 >> (96 - shift); - lo |= b1 << (shift - 32); - } else { - lo = b1 >> (32 - shift); - } - - var hi = (b1 >> (64 - shift)) | (b0 << shift); - var mantissa: u64 = (u & 0x007FFFFF) | 0x00800000; - var product = mantissa * hi + (mantissa * lo >> 32); - var r: i64 = product << 2; - var q = ((product >> 62) + (r >>> 63)); - rempio2f_y = copysign(coeff, x) * r; - return q; -} - -// @ts-ignore: decorator -@inline -function rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c - const - pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570 - pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8 - _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 - - if (u < 0x4DC90FDB) { // π * 0x1p28 - let q = nearest(x * _2_pi); - rempio2f_y = x - q * pi2hi - q * pi2lo; - return q; - } - - var q = pio2f_large_quot(x, u); - return select(-q, q, sign); -} - -// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). -// @ts-ignore: decorator -@inline -function sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c - const - S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55 - S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59 - S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65 - S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71 - - var z = x * x; - var w = z * z; - var r = S3 + z * S4; - var s = z * x; - return ((x + s * (S1 + z * S2)) + s * w * r); -} - -// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). -// @ts-ignore: decorator -@inline -function cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c - const - C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54 - C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57 - C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62 - C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68 - - var z = x * x; - var w = z * z; - var r = C2 + z * C3; - return (((1 + z * C0) + w * C1) + (w * z) * r); -} - -// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]). -// @ts-ignore: decorator -@inline -function tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c - const - T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54 - T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55 - T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57 - T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58 - T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61 - T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59 - - var z = x * x; - var r = T4 + z * T5; - var t = T2 + z * T3; - var w = z * z; - var s = z * x; - var u = T0 + z * T1; - - r = (x + s * u) + (s * w) * (t + w * r); - return (odd ? -1 / r : r); -} - -// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h -// @ts-ignore: decorator -@inline -function log2f(x: f64): f64 { - const - log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736 - c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129 - c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505 - c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375 - c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150 - - var i = reinterpret(x); - var exponent = (i - 0x3FE6A09E667F3BCD) >> 52; - x = reinterpret(i - (exponent << 52)); - x = (x - 1) / (x + 1); - var xx = x * x; - var y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx)); - return (2 * log2e) * y + exponent; -} - -// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h -// @ts-ignore: decorator -@inline -function exp2f(x: f64): f64 { - const - c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1 - c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1 - c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2 - c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3 - c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3 - c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4 - - if (x < -1022) return 0; - if (x >= 1024) return Infinity; - - var n = nearest(x); - x -= n; - var xx = x * x; - var y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx)); - return reinterpret(reinterpret(y) + (n << 52)); -} - -export namespace NativeMathf { - - // @ts-ignore: decorator - @lazy - export const E = NativeMath.E; - - // @ts-ignore: decorator - @lazy - export const LN2 = NativeMath.LN2; - - // @ts-ignore: decorator - @lazy - export const LN10 = NativeMath.LN10; - - // @ts-ignore: decorator - @lazy - export const LOG2E = NativeMath.LOG2E; - - // @ts-ignore: decorator - @lazy - export const LOG10E = NativeMath.LOG10E; - - // @ts-ignore: decorator - @lazy - export const PI = NativeMath.PI; - - // @ts-ignore: decorator - @lazy - export const SQRT1_2 = NativeMath.SQRT1_2; - - // @ts-ignore: decorator - @lazy - export const SQRT2 = NativeMath.SQRT2; - - // @ts-ignore: decorator - @lazy - export var sincos_sin: f32 = 0; - - // @ts-ignore: decorator - @lazy - export var sincos_cos: f32 = 0; - - // @ts-ignore: decorator - @inline - export function abs(x: f32): f32 { - return builtin_abs(x); - } - - export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f - pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - var hx = reinterpret(x); - var ix = hx & 0x7FFFFFFF; - if (ix >= 0x3F800000) { - if (ix == 0x3F800000) { - if (hx >> 31) return 2 * pio2_hi + Ox1p_120f; - return 0; - } - return 0 / (x - x); - } - if (ix < 0x3F000000) { - if (ix <= 0x32800000) return pio2_hi + Ox1p_120f; - return pio2_hi - (x - (pio2_lo - x * Rf(x * x))); - } - var z: f32, w: f32, s: f32; - if (hx >> 31) { - // z = (1 + x) * 0.5; - z = 0.5 + x * 0.5; - s = builtin_sqrt(z); - w = Rf(z) * s - pio2_lo; - return 2 * (pio2_hi - (s + w)); - } - // z = (1 - x) * 0.5; - z = 0.5 - x * 0.5; - s = builtin_sqrt(z); - hx = reinterpret(s); - var df = reinterpret(hx & 0xFFFFF000); - var c = (z - df * df) / (s + df); - w = Rf(z) * s + c; - return 2 * (df + w); - } - - export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c - const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f - var u = reinterpret(x); - var a = u & 0x7FFFFFFF; - if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1 - let xm1 = x - 1; - return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2))); - } - if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12 - return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); - } - // x >= 0x1p12 or x <= -2 or NaN - return log(x) + s; - } - - export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above - const - pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - var sx = x; - var hx = reinterpret(x) & 0x7FFFFFFF; - if (hx >= 0x3F800000) { - if (hx == 0x3F800000) return x * pio2 + Ox1p_120f; - return 0 / (x - x); - } - if (hx < 0x3F000000) { - if (hx < 0x39800000 && hx >= 0x00800000) return x; - return x + x * Rf(x * x); - } - // var z: f32 = (1 - builtin_abs(x)) * 0.5; - var z: f32 = 0.5 - builtin_abs(x) * 0.5; - var s = builtin_sqrt(z); // sic - x = (pio2 - 2 * (s + s * Rf(z))); - return builtin_copysign(x, sx); - } - - export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c - const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f - var u = reinterpret(x) & 0x7FFFFFFF; - var y = reinterpret(u); - if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c; - else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); - else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); - return builtin_copysign(y, x); - } - - export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above - const - atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f - atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f - atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f - atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f - atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f - atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f - atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f - atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f - aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f - aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f - aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f - aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f - aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - var ix = reinterpret(x); - var sx = x; - ix &= 0x7FFFFFFF; - var z: f32; - if (ix >= 0x4C800000) { - if (isNaN(x)) return x; - z = atanhi3 + Ox1p_120f; - return builtin_copysign(z, sx); - } - var id: i32; - if (ix < 0x3EE00000) { - if (ix < 0x39800000) return x; - id = -1; - } else { - x = builtin_abs(x); - if (ix < 0x3F980000) { - if (ix < 0x3F300000) { - id = 0; - x = (2.0 * x - 1.0) / (2.0 + x); - } else { - id = 1; - x = (x - 1.0) / (x + 1.0); - } - } else { - if (ix < 0x401C0000) { - id = 2; - x = (x - 1.5) / (1.0 + 1.5 * x); - } else { - id = 3; - x = -1.0 / x; - } - } - } - z = x * x; - var w = z * z; - var s1 = z * (aT0 + w * (aT2 + w * aT4)); - var s2 = w * (aT1 + w * aT3); - var s3 = x * (s1 + s2); - if (id < 0) return x - s3; - switch (id) { - case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } - case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } - case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } - case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } - default: unreachable(); - } - return builtin_copysign(z, sx); - } - - export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c - var u = reinterpret(x); - var y = builtin_abs(x); - if (u < 0x3F800000 - (1 << 23)) { - if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y))); - } else y = 0.5 * log1p(2 * (y / (1 - y))); - return builtin_copysign(y, x); - } - - export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above - const - pi = reinterpret(0x40490FDB), // 3.1415927410e+00f - pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f - - if (isNaN(x) || isNaN(y)) return x + y; - var ix = reinterpret(x); - var iy = reinterpret(y); - if (ix == 0x3F800000) return atan(y); - var m = (((iy >> 31) & 1) | ((ix >> 30) & 2)); - ix &= 0x7FFFFFFF; - iy &= 0x7FFFFFFF; - if (iy == 0) { - switch (m) { - case 0: - case 1: return y; - case 2: return pi; - case 3: return -pi; - } - } - if (ix == 0) return m & 1 ? -pi / 2 : pi / 2; - if (ix == 0x7F800000) { - if (iy == 0x7F800000) { - let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4; - return m & 1 ? -t : t; - } else { - let t: f32 = m & 2 ? pi : 0.0; - return m & 1 ? -t : t; - } - } - if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2; - var z: f32; - if ((m & 2) && iy + (26 << 23) < ix) z = 0.0; - else z = atan(builtin_abs(y / x)); - switch (m) { - case 0: return z; - case 1: return -z; - case 2: return pi - (z - pi_lo); - case 3: return (z - pi_lo) - pi; - } - unreachable(); - return 0; - } - - export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above - const - B1 = 709958130, - B2 = 642849266, - Ox1p24f = reinterpret(0x4B800000); - - var u = reinterpret(x); - var hx = u & 0x7FFFFFFF; - if (hx >= 0x7F800000) return x + x; - if (hx < 0x00800000) { - if (hx == 0) return x; - u = reinterpret(x * Ox1p24f); - hx = u & 0x7FFFFFFF; - hx = hx / 3 + B2; - } else { - hx = hx / 3 + B1; - } - u &= 0x80000000; - u |= hx; - var t = reinterpret(u); - var r = t * t * t; - t = t * (x + x + r) / (x + r + r); - r = t * t * t; - t = t * (x + x + r) / (x + r + r); - return t; - } - - // @ts-ignore: decorator - @inline - export function ceil(x: f32): f32 { - return builtin_ceil(x); - } - - export function clz32(x: f32): f32 { - if (!isFinite(x)) return 32; - return builtin_clz(dtoi32(x)); - } - - export function cos(x: f32): f32 { // see: musl/src/math/cosf.c - const - c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 - c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 - c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 - c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 - - var ix = reinterpret(x); - var sign = ix >> 31; - ix &= 0x7FFFFFFF; - - if (ix <= 0x3F490FDA) { // |x| ~<= π/4 - if (ix < 0x39800000) { // |x| < 2**-12 - // raise inexact if x != 0 - return 1; - } - return cos_kernf(x); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ix > 0x4016CBE3) { // |x| ~> 3π/4 - return -cos_kernf(sign ? x + c2pio2 : x - c2pio2); - } else { - return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x); - } - } - if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ix > 0x40AFEDDF) { // |x| ~> 7π/4 - return cos_kernf(sign ? x + c4pio2 : x - c4pio2); - } else { - return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2); - } - } - } - - // cos(Inf or NaN) is NaN - if (ix >= 0x7F800000) return x - x; - - // general argument reduction needed - var n = rempio2f(x, ix, sign); - var y = rempio2f_y; - - var t = n & 1 ? sin_kernf(y) : cos_kernf(y); - return (n + 1) & 2 ? -t : t; - } - - export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c - var u = reinterpret(x); - u &= 0x7FFFFFFF; - x = reinterpret(u); - if (u < 0x3F317217) { - if (u < 0x3F800000 - (12 << 23)) return 1; - let t = expm1(x); - // return 1 + t * t / (2 * (1 + t)); - return 1 + t * t / (2 + 2 * t); - } - if (u < 0x42B17217) { - let t = exp(x); - // return 0.5 * (t + 1 / t); - return 0.5 * t + 0.5 / t; - } - return expo2f(x, 1); - } - - // @ts-ignore: decorator - @inline - export function floor(x: f32): f32 { - return builtin_floor(x); - } - - export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return expf_lut(x); - } else { - const - ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f - ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f - invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f - P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f - P2 = reinterpret(0xBB355215), // -2.7667332906e-3f - Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f - - let hx = reinterpret(x); - let sign_ = (hx >> 31); - hx &= 0x7FFFFFFF; - if (hx >= 0x42AEAC50) { - if (hx > 0x7F800000) return x; // NaN - if (hx >= 0x42B17218) { - if (!sign_) return x * Ox1p127f; - else if (hx >= 0x42CFF1B5) return 0; - } - } - let hi: f32, lo: f32; - let k: i32; - if (hx > 0x3EB17218) { - if (hx > 0x3F851592) { - k = (invln2 * x + builtin_copysign(0.5, x)); - } else { - k = 1 - (sign_ << 1); - } - hi = x - k * ln2hi; - lo = k * ln2lo; - x = hi - lo; - } else if (hx > 0x39000000) { - k = 0; - hi = x; - lo = 0; - } else { - return 1 + x; - } - let xx = x * x; - let c = x - xx * (P1 + xx * P2); - let y: f32 = 1 + (x * c / (2 - c) - lo + hi); - return k == 0 ? y : scalbn(y, k); - } - } - - export function exp2(x: f32): f32 { - return exp2f_lut(x); - } - - export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f - invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f - Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f - Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f - Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f - - var u = reinterpret(x); - var hx = u & 0x7FFFFFFF; - var sign_ = (u >> 31); - if (hx >= 0x4195B844) { - if (hx > 0x7F800000) return x; - if (sign_) return -1; - if (hx > 0x42B17217) { // x > log(FLT_MAX) - x *= Ox1p127f; - return x; - } - } - var c: f32 = 0.0, t: f32, k: i32; - if (hx > 0x3EB17218) { - k = select( - 1 - (sign_ << 1), - (invln2 * x + builtin_copysign(0.5, x)), - hx < 0x3F851592 - ); - t = k; - let hi = x - t * ln2_hi; - let lo = t * ln2_lo; - x = hi - lo; - c = (hi - x) - lo; - } else if (hx < 0x33000000) { - return x; - } else k = 0; - var hfx: f32 = 0.5 * x; - var hxs: f32 = x * hfx; - var r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2); - t = 3.0 - r1 * hfx; - var e = hxs * ((r1 - t) / (6.0 - x * t)); - if (k == 0) return x - (x * e - hxs); - e = x * (e - c) - c; - e -= hxs; - if (k == -1) return 0.5 * (x - e) - 0.5; - if (k == 1) { - if (x < -0.25) return -2.0 * (e - (x + 0.5)); - return 1.0 + 2.0 * (x - e); - } - u = (0x7F + k) << 23; - var twopk = reinterpret(u); - var y: f32; - if (k < 0 || k > 56) { - y = x - e + 1.0; - if (k == 128) y = y * 2.0 * Ox1p127f; - else y = y * twopk; - return y - 1.0; - } - u = (0x7F - k) << 23; - y = reinterpret(u); - if (k < 20) y = (1 - y) - e; - else y = 1 - (e + y); - return (x + y) * twopk; - } - - // @ts-ignore: decorator - @inline - export function fround(x: f32): f32 { - return x; - } - - export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c - const - Ox1p90f = reinterpret(0x6C800000), - Ox1p_90f = reinterpret(0x12800000); - - var ux = reinterpret(x); - var uy = reinterpret(y); - ux &= 0x7FFFFFFF; - uy &= 0x7FFFFFFF; - if (ux < uy) { - let ut = ux; - ux = uy; - uy = ut; - } - x = reinterpret(ux); - y = reinterpret(uy); - if (uy == 0xFF << 23) return y; - if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y; - var z: f32 = 1; - if (ux >= (0x7F + 60) << 23) { - z = Ox1p90f; - x *= Ox1p_90f; - y *= Ox1p_90f; - } else if (uy < (0x7F - 60) << 23) { - z = Ox1p_90f; - x *= Ox1p90f; - y *= Ox1p90f; - } - return z * builtin_sqrt((x * x + y * y)); - } - - // @ts-ignore: decorator - @inline - export function imul(x: f32, y: f32): f32 { - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - if (!isFinite(x + y)) return 0; - return (dtoi32(x) * dtoi32(y)); - } - - export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return logf_lut(x); - } else { - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f - Ox1p25f = reinterpret(0x4C000000); - - let u = reinterpret(x); - let k = 0; - if (u < 0x00800000 || (u >> 31)) { - if (u << 1 == 0) return -1 / (x * x); - if (u >> 31) return (x - x) / 0; - k -= 25; - x *= Ox1p25f; - u = reinterpret(x); - } else if (u >= 0x7F800000) { - return x; - } else if (u == 0x3F800000) { - return 0; - } - u += 0x3F800000 - 0x3F3504F3; - k += (u >> 23) - 0x7F; - u = (u & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(u); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq = 0.5 * f * f; - let dk = k; - return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; - } - } - - export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above - const - ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f - ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f - log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f - log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f - Ox1p25f = reinterpret(0x4C000000); // 0x1p25f - - var ix = reinterpret(x); - var k = 0; - if (ix < 0x00800000 || (ix >> 31)) { - if (ix << 1 == 0) return -1 / (x * x); - if (ix >> 31) return (x - x) / 0.0; - k -= 25; - x *= Ox1p25f; - ix = reinterpret(x); - } else if (ix >= 0x7F800000) { - return x; - } else if (ix == 0x3F800000) { - return 0; - } - ix += 0x3F800000 - 0x3F3504F3; - k += (ix >> 23) - 0x7F; - ix = (ix & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(ix); - var f = x - 1.0; - var s = f / (2.0 + f); - var z = s * s; - var w = z * z; - var t1 = w * (Lg2 + w * Lg4); - var t2 = z * (Lg1 + w * Lg3); - var r = t2 + t1; - var hfsq: f32 = 0.5 * f * f; - var hi = f - hfsq; - ix = reinterpret(hi); - ix &= 0xFFFFF000; - hi = reinterpret(ix); - var lo = f - hi - hfsq + s * (hfsq + r); - var dk = k; - return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi; - } - - export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01 - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06 - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f - - var ix = reinterpret(x); - var c: f32 = 0, f: f32 = 0; - var k: i32 = 1; - if (ix < 0x3ED413D0 || (ix >> 31)) { - if (ix >= 0xBF800000) { - if (x == -1) return x / 0.0; - return (x - x) / 0.0; - } - if (ix << 1 < 0x33800000 << 1) return x; - if (ix <= 0xBE95F619) { - k = 0; - c = 0; - f = x; - } - } else if (ix >= 0x7F800000) return x; - if (k) { - let uf: f32 = 1 + x; - let iu = reinterpret(uf); - iu += 0x3F800000 - 0x3F3504F3; - k = (iu >> 23) - 0x7F; - if (k < 25) { - c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); - c /= uf; - } else c = 0; - iu = (iu & 0x007FFFFF) + 0x3F3504F3; - f = reinterpret(iu) - 1; - } - var s = f / (2.0 + f); - var z = s * s; - var w = z * z; - var t1 = w * (Lg2 + w * Lg4); - var t2 = z * (Lg1 + w * Lg3); - var r = t2 + t1; - var hfsq: f32 = 0.5 * f * f; - var dk = k; - return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; - } - - export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log2f_lut(x); - } else { - const - ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f - ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04 - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f - Ox1p25f = reinterpret(0x4C000000); // 0x1p25f - - let ix = reinterpret(x); - let k: i32 = 0; - if (ix < 0x00800000 || (ix >> 31)) { - if (ix << 1 == 0) return -1 / (x * x); - if (ix >> 31) return (x - x) / 0.0; - k -= 25; - x *= Ox1p25f; - ix = reinterpret(x); - } else if (ix >= 0x7F800000) { - return x; - } else if (ix == 0x3F800000) { - return 0; - } - ix += 0x3F800000 - 0x3F3504F3; - k += (ix >> 23) - 0x7F; - ix = (ix & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(ix); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq: f32 = 0.5 * f * f; - let hi = f - hfsq; - let u = reinterpret(hi); - u &= 0xFFFFF000; - hi = reinterpret(u); - let lo: f32 = f - hi - hfsq + s * (hfsq + r); - let dk = k; - return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk; - } - } - - // @ts-ignore: decorator - @inline - export function max(value1: f32, value2: f32): f32 { - return builtin_max(value1, value2); - } - - // @ts-ignore: decorator - @inline - export function min(value1: f32, value2: f32): f32 { - return builtin_min(value1, value2); - } - - export function pow(x: f32, y: f32): f32 { - // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms - if (builtin_abs(y) <= 2) { - if (y == 2.0) return x * x; - if (y == 0.5) { - return select( - builtin_abs(builtin_sqrt(x)), - Infinity, - x != -Infinity - ); - } - if (y == -1.0) return 1 / x; - if (y == 1.0) return x; - if (y == 0.0) return 1.0; - } - if (ASC_SHRINK_LEVEL < 1) { - // see: musl/src/math/powf.c - return powf_lut(x, y); - } else { - // based on: jdh8/metallic/src/math/float/powf.c - if (y == 0) return 1; - // @ts-ignore: cast - if (isNaN(x) | isNaN(y)) { - return NaN; - } - let sign: u32 = 0; - let uy = reinterpret(y); - let ux = reinterpret(x); - let sx = ux >> 31; - ux &= 0x7FFFFFFF; - if (sx && nearest(y) == y) { - x = -x; - sx = 0; - sign = u32(nearest(y * 0.5) != y * 0.5) << 31; - } - let m: u32; - if (ux == 0x3F800000) { // x == 1 - m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000; - } else if (ux == 0) { - m = uy >> 31 ? 0x7F800000 : 0; - } else if (ux == 0x7F800000) { - m = uy >> 31 ? 0 : 0x7F800000; - } else if (sx) { - m = 0x7FC00000; - } else { - m = reinterpret(exp2f(y * log2f(x))); - } - return reinterpret(m | sign); - } - } - - // @ts-ignore: decorator - @inline - export function seedRandom(value: i64): void { - NativeMath.seedRandom(value); - } - - // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c - export function random(): f32 { - if (!random_seeded) seedRandom(reinterpret(seed())); - - var s0 = random_state0_32; - var s1 = random_state1_32; - var r = rotl(s0 * 0x9E3779BB, 5) * 5; - - s1 ^= s0; - random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9); - random_state1_32 = rotl(s1, 13); - - return reinterpret((r >> 9) | (127 << 23)) - 1.0; - } - - // @ts-ignore: decorator - @inline - export function round(x: f32): f32 { - let roundUp = builtin_ceil(x); - return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); - } - - // @ts-ignore: decorator - @inline - export function sign(x: f32): f32 { - if (ASC_SHRINK_LEVEL > 0) { - return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x; - } else { - return x > 0 ? 1 : x < 0 ? -1 : x; - } - } - - // @ts-ignore: decorator - @inline - export function signbit(x: f32): bool { - return (reinterpret(x) >>> 31); - } - - export function sin(x: f32): f32 { // see: musl/src/math/sinf.c - const - s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 - s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 - s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 - s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 - - var ix = reinterpret(x); - var sign = ix >> 31; - ix &= 0x7FFFFFFF; - - if (ix <= 0x3F490FDA) { // |x| ~<= π/4 - if (ix < 0x39800000) { // |x| < 2**-12 - return x; - } - return sin_kernf(x); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4 - return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2); - } - return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2)); - } - - if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4 - return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2); - } - return sin_kernf(sign ? x + s4pio2 : x - s4pio2); - } - } - - // sin(Inf or NaN) is NaN - if (ix >= 0x7F800000) return x - x; - - var n = rempio2f(x, ix, sign); - var y = rempio2f_y; - - var t = n & 1 ? cos_kernf(y) : sin_kernf(y); - return n & 2 ? -t : t; - } - - export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c - var u = reinterpret(x) & 0x7FFFFFFF; - var a = reinterpret(u); - var h = builtin_copysign(0.5, x); - if (u < 0x42B17217) { - let t = expm1(a); - if (u < 0x3F800000) { - if (u < 0x3F800000 - (12 << 23)) return x; - return h * (2 * t - t * t / (t + 1)); - } - return h * (t + t / (t + 1)); - } - return expo2f(a, 2 * h); - } - - // @ts-ignore: decorator - @inline - export function sqrt(x: f32): f32 { - return builtin_sqrt(x); - } - - export function tan(x: f32): f32 { // see: musl/src/math/tanf.c - const - t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 - t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 - t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 - t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 - - var ix = reinterpret(x); - var sign = ix >> 31; - ix &= 0x7FFFFFFF; - - if (ix <= 0x3F490FDA) { // |x| ~<= π/4 - if (ix < 0x39800000) { // |x| < 2**-12 - return x; - } - return tan_kernf(x, 0); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4 - return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1); - } else { - return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0); - } - } - if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4 - return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1); - } else { - return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0); - } - } - } - - // tan(Inf or NaN) is NaN - if (ix >= 0x7F800000) return x - x; - - // argument reduction - var n = rempio2f(x, ix, sign); - var y = rempio2f_y; - return tan_kernf(y, n & 1); - } - - export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c - var u = reinterpret(x); - u &= 0x7FFFFFFF; - var y = reinterpret(u); - var t: f32; - if (u > 0x3F0C9F54) { - if (u > 0x41200000) t = 1 + 0 / y; - else { - t = expm1(2 * y); - t = 1 - 2 / (t + 2); - } - } else if (u > 0x3E82C578) { - t = expm1(2 * y); - t = t / (t + 2); - } else if (u >= 0x00800000) { - t = expm1(-2 * y); - t = -t / (t + 2); - } else t = y; - return builtin_copysign(t, x); - } - - // @ts-ignore: decorator - @inline - export function trunc(x: f32): f32 { - return builtin_trunc(x); - } - - export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c - const - Ox1p24f = reinterpret(0x4B800000), - Ox1p127f = reinterpret(0x7F000000), - Ox1p_126f = reinterpret(0x00800000); - - var y = x; - if (n > 127) { - y *= Ox1p127f; - n -= 127; - if (n > 127) { - y *= Ox1p127f; - n = builtin_min(n - 127, 127); - } - } else if (n < -126) { - y *= Ox1p_126f * Ox1p24f; - n += 126 - 24; - if (n < -126) { - y *= Ox1p_126f * Ox1p24f; - n = builtin_max(n + 126 - 24, -126); - } - } - return y * reinterpret((0x7F + n) << 23); - } - - export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c - if (builtin_abs(y) == 1.0) { - // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) - // TODO: move this rule to compiler's optimization pass. - // It could be apply for any x % C_pot, where "C_pot" is pow of two const. - return builtin_copysign(x - builtin_trunc(x), x); - } - var ux = reinterpret(x); - var uy = reinterpret(y); - var ex = (ux >> 23 & 0xFF); - var ey = (uy >> 23 & 0xFF); - var sm = ux & 0x80000000; - var uy1 = uy << 1; - if (uy1 == 0 || ex == 0xFF || isNaN(y)) { - let m = x * y; - return m / m; - } - var ux1 = ux << 1; - if (ux1 <= uy1) { - return x * f32(ux1 != uy1); - } - if (!ex) { - ex -= builtin_clz(ux << 9); - ux <<= 1 - ex; - } else { - ux &= -1 >> 9; - ux |= 1 << 23; - } - if (!ey) { - ey -= builtin_clz(uy << 9); - uy <<= 1 - ey; - } else { - uy &= -1 >> 9; - uy |= 1 << 23; - } - while (ex > ey) { - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - ux <<= 1; - --ex; - } - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - // for (; !(ux >> 23); ux <<= 1) --ex; - var shift = builtin_clz(ux << 8); - ex -= shift; - ux <<= shift; - if (ex > 0) { - ux -= 1 << 23; - ux |= ex << 23; - } else { - ux >>= -ex + 1; - } - return reinterpret(ux | sm); - } - - export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c - var ux = reinterpret(x); - var uy = reinterpret(y); - var ex = (ux >> 23 & 0xFF); - var ey = (uy >> 23 & 0xFF); - var sx = (ux >> 31); - var uxi = ux; - if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y); - if (ux << 1 == 0) return x; - if (!ex) { - ex -= builtin_clz(uxi << 9); - uxi <<= 1 - ex; - } else { - uxi &= -1 >> 9; - uxi |= 1 << 23; - } - if (!ey) { - ey -= builtin_clz(uy << 9); - uy <<= 1 - ey; - } else { - uy &= -1 >> 9; - uy |= 1 << 23; - } - var q = 0; - do { - if (ex < ey) { - if (ex + 1 == ey) break; // goto end - return x; - } - while (ex > ey) { - if (uxi >= uy) { - uxi -= uy; - ++q; - } - uxi <<= 1; - q <<= 1; - --ex; - } - if (uxi >= uy) { - uxi -= uy; - ++q; - } - if (uxi == 0) ex = -30; - else { - let shift = builtin_clz(uxi << 8); - ex -= shift; - uxi <<= shift; - } - break; - } while (false); - // end: - if (ex > 0) { - uxi -= 1 << 23; - uxi |= ex << 23; - } else { - uxi >>= -ex + 1; - } - x = reinterpret(uxi); - y = builtin_abs(y); - var x2 = x + x; - if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) { - x -= y; - // q++; - } - return sx ? -x : x; - } - - export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c - const - s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 - s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 - s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 - s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 - - var ix = reinterpret(x); - var sign = ix >> 31; - ix &= 0x7FFFFFFF; - - if (ix <= 0x3F490FDA) { // |x| ~<= π/4 - if (ix < 0x39800000) { // |x| < 2**-12 - sincos_sin = x; - sincos_cos = 1; - return; - } - sincos_sin = sin_kernf(x); - sincos_cos = cos_kernf(x); - return; - } - if (ASC_SHRINK_LEVEL < 1) { - if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4 - if (sign) { - sincos_sin = -cos_kernf(x + s1pio2); - sincos_cos = sin_kernf(x + s1pio2); - } else { - sincos_sin = cos_kernf(s1pio2 - x); - sincos_cos = sin_kernf(s1pio2 - x); - } - return; - } - // -sin(x + c) is not correct if x+c could be 0: -0 vs +0 - sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2); - sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2); - return; - } - if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4 - if (sign) { - sincos_sin = cos_kernf(x + s3pio2); - sincos_cos = -sin_kernf(x + s3pio2); - } else { - sincos_sin = -cos_kernf(x - s3pio2); - sincos_cos = sin_kernf(x - s3pio2); - } - return; - } - sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2); - sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2); - return; - } - } - // sin(Inf or NaN) is NaN - if (ix >= 0x7F800000) { - let xx = x - x; - sincos_sin = xx; - sincos_cos = xx; - return; - } - // general argument reduction needed - var n = rempio2f(x, ix, sign); - var y = rempio2f_y; - var s = sin_kernf(y); - var c = cos_kernf(y); - var sin = s, cos = c; - if (n & 1) { - sin = c; - cos = -s; - } - if (n & 2) { - sin = -sin; - cos = -cos; - } - sincos_sin = sin; - sincos_cos = cos; - } -} - -export function ipow32(x: i32, e: i32): i32 { - var out = 1; - if (ASC_SHRINK_LEVEL < 1) { - if (x == 2) { - return select(1 << e, 0, e < 32); - } - 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 - switch (log) { - case 5: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 4: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 3: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 2: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 1: { - if (e & 1) out *= x; - } - } - return out; - } - } - while (e) { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - return out; -} - -export function ipow64(x: i64, e: i64): i64 { - var out: i64 = 1; - if (ASC_SHRINK_LEVEL < 1) { - if (x == 2) { - return select(1 << e, 0, e < 64); - } - 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 - switch (log) { - case 6: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 5: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 4: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 3: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 2: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 1: { - if (e & 1) out *= x; - } - } - return out; - } - } - while (e) { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - return out; -} - -/* -TODO: -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: - -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: } -*/ diff --git a/std/assembly/util/math.ts b/std/assembly/util/math.ts index da31d474de..5496dbcd52 100644 --- a/std/assembly/util/math.ts +++ b/std/assembly/util/math.ts @@ -1,12 +1,30 @@ -// -// Lookup data for exp2f -// +// Lookup data for pio2f_large_quot + +// @ts-ignore: decorator +@lazy @inline const PIO2_TABLE32 = memory.data([ + 0xA2F9836E4E441529, + 0xFC2757D1F534DDC0, + 0xDB6295993C439041, + 0xFE5163ABDEBBC561 +]); +// Lookup data for pio2_large_quot + +/** @internal */ // @ts-ignore: decorator -@inline const EXP2F_TABLE_BITS = 5; +@lazy @inline const PIO2_TABLE64 = memory.data([ + 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB, + 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, + 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF, + 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, + 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20, + 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557 +]); + +// Lookup data for exp2f // @ts-ignore: decorator -@lazy @inline const EXP2F_DATA_TAB = memory.data([ +@lazy @inline const EXP2_TABLE32 = memory.data([ // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS) // used for computing 2^(k/N) for an int |k| < 150 N as // double(tab[k%N] + (k << 52-BITS)) @@ -20,14 +38,2164 @@ 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540 ]); +// @ts-ignore: decorator +@inline const EXP2_TABLE32_BITS = 5; + +// Lookup data for log2f + +// @ts-ignore: decorator +@lazy @inline const LOG2_TABLE32 = memory.data([ + 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2, + 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2, + 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2, + 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2, + 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2, + 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 , + 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3, + 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4, + 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5, + 0x3FF0000000000000, 0, // 0x1p+0, 0x0, + 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4, + 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3, + 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3, + 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2, + 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2, + 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2 +]); + +// @ts-ignore: decorator +@inline const LOG2_TABLE32_BITS = 4; + +// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c + +// @ts-ignore: decorator +@lazy @inline const LOG_TABLE32 = memory.data([ + 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2, + 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2, + 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2, + 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3, + 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3, + 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 , + 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4, + 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4, + 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5, + 0x3FF0000000000000, 0, // 0x1p+0, 0, + 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5, + 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4, + 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3, + 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 , + 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2, + 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2 +]); + +// @ts-ignore: decorator +@inline const LOG_TABLE32_BITS = 4; + +// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c + +// @ts-ignore: decorator +@lazy @inline const EXP_TABLE64 = memory.data([ + 0x0000000000000000, 0x3FF0000000000000, + 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335, + 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061, + 0xBC905E7A108766D1, 0x3FEFE315E86E7F85, + 0x3C8CD2523567F613, 0x3FEFD9B0D3158574, + 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE, + 0x3C60F74E61E6C861, 0x3FEFC74518759BC8, + 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383, + 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F, + 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7, + 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2, + 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B, + 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51, + 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC, + 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0, + 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51, + 0xBC801B15EAA59348, 0x3FEF72B83C7D517B, + 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA, + 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75, + 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4, + 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA, + 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D, + 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6, + 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96, + 0x3C968EFDE3A8A894, 0x3FEF387A6E756238, + 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F, + 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD, + 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381, + 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1, + 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990, + 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B, + 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56, + 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715, + 0x3C864201E2AC744C, 0x3FEF0170FC4CD831, + 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF, + 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1, + 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB, + 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866, + 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7, + 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5, + 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422, + 0xBC9312607A28698A, 0x3FEEDA4504AC801C, + 0xBC58A78F4817895B, 0x3FEED60A21F72E2A, + 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897, + 0x3C4363ED60C2AC11, 0x3FEECE086061892D, + 0x3C9666093B0664EF, 0x3FEECA41ED1D0057, + 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0, + 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE, + 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27, + 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D, + 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7, + 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642, + 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82, + 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F, + 0x3C93350518FDD78E, 0x3FEEAF4736B527DA, + 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD, + 0x3C9063E1E21C5409, 0x3FEEAB07DD485429, + 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7, + 0x3C9432E62B64C035, 0x3FEEA76F15AD2148, + 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09, + 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585, + 0xBC845378892BE9AE, 0x3FEEA34634CCC320, + 0xBC93CEDD78565858, 0x3FEEA23882552225, + 0x3C5710AA807E1964, 0x3FEEA155D44CA973, + 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD, + 0xBC6A12AD8734B982, 0x3FEEA012750BDABF, + 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F, + 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484, + 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74, + 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174, + 0xBC8619321E55E68A, 0x3FEE9FEB564267C9, + 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F, + 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187, + 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132, + 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62, + 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12, + 0xBC9369B6F13B3734, 0x3FEEA589994CCE13, + 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD, + 0xBC94D450D872576E, 0x3FEEA8D99B4492ED, + 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699, + 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB, + 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C, + 0x3C7BF68359F35F44, 0x3FEEB1AE99157736, + 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6, + 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5, + 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F, + 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50, + 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA, + 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090, + 0x3C6DD235E10A73BB, 0x3FEEC86319E32323, + 0xBC87C50422622263, 0x3FEECC667B5DE565, + 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33, + 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D, + 0x3C90CC319CEE31D2, 0x3FEED99E1330B358, + 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF, + 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A, + 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD, + 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666, + 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB, + 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A, + 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47, + 0xBC91EEE26B588A35, 0x3FEF05B030A1064A, + 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2, + 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09, + 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C, + 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A, + 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B, + 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5, + 0x3C676B2C6C921968, 0x3FEF3720DCEF9069, + 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA, + 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C, + 0xBC900DAE3875A949, 0x3FEF4F87080D89F2, + 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487, + 0xBC82919E2040220F, 0x3FEF60E316C98398, + 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285, + 0x3C843A59AC016B4B, 0x3FEF7321F301B460, + 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F, + 0xBC892AB93B470DC9, 0x3FEF864614F5A129, + 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6, + 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83, + 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA, + 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1, + 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27, + 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97, + 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540, + 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14, + 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8, + 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1 +]); + +// @ts-ignore: decorator +@inline const EXP_TABLE64_BITS = 7; + +// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c + +/* Algorithm: + + x = 2^k z + log2(x) = k + log2(c) + log2(z/c) + log2(z/c) = poly(z/c - 1) + +where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls +into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = (double)log2(c) + tab2[i].chi = (double)c + tab2[i].clo = (double)(c - (double)c) + +where c is near the center of the subinterval and is chosen by trying +-2^29 +floating point invc candidates around 1/center and selecting one for which + + 1) the rounding error in 0x1.8p10 + logc is 0, + 2) the rounding error in z - chi - clo is < 0x1p-64 and + 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68). + +Note: 1) ensures that k + logc can be computed without rounding error, 2) +ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a +single rounding error when there is no fast fma for z*invc - 1, 3) ensures +that logc + poly(z/c - 1) has small error, however near x == 1 when +|log2(x)| < 0x1p-4, this is not enough so that is special cased. */ + +// @ts-ignore: decorator +@lazy @inline const LOG2_TABLE1_64 = memory.data([ + // invc , logc + 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000, + 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000, + 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800, + 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000, + 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000, + 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000, + 0x3FF5AC055A214FB8, 0xBFDC043811FDA000, + 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000, + 0x3FF53909590BF835, 0xBFDA152F5A2DB000, + 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000, + 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000, + 0x3FF49539B4334FEE, 0xBFD74189F9A9E000, + 0x3FF460CBDFAFD569, 0xBFD6552BB5199000, + 0x3FF42D664EE4B953, 0xBFD56B23A29B1000, + 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000, + 0x3FF3C995B70C5836, 0xBFD39DE937F6A000, + 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000, + 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000, + 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000, + 0x3FF30D191985BDB1, 0xBFD01D9C32E73000, + 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000, + 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000, + 0x3FF288B02C7CCB50, 0xBFCB26034C14A000, + 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000, + 0x3FF234563D8615B1, 0xBFC7D6023F800000, + 0x3FF20B46E33EAF38, 0xBFC633A71A05E000, + 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000, + 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000, + 0x3FF19453847F2200, 0xBFC162595AFDC000, + 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000, + 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000, + 0x3FF12358AD0085D1, 0xBFB960C60FF48000, + 0x3FF0FEF00F532227, 0xBFB64CE247B60000, + 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000, + 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000, + 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000, + 0x3FF07325CAC53B83, 0xBFA47A954F770000, + 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000, + 0x3FF03091C1208EA2, 0xBF916A2629780000, + 0x3FF0101025B37E21, 0xBF7720F8D8E80000, + 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000, + 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000, + 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000, + 0x3FEE573A99975AE8, 0x3FB3AA321E574000, + 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000, + 0x3FED77B681FF38B3, 0x3FBE72E9DA044000, + 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000, + 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000, + 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000, + 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000, + 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000, + 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000, + 0x3FEAC57026295039, 0x3FD0790AB4678000, + 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000, + 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000, + 0x3FE9C2D14967FEAD, 0x3FD406464EC58000, + 0x3FE970E4F47C9902, 0x3FD52DBE093AF000, + 0x3FE920FB3982BCF2, 0x3FD651902050D000, + 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000, + 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000, + 0x3FE83C97B658B994, 0x3FD9A80155E16000, + 0x3FE7F405FFC61022, 0x3FDABE186ED3D000, + 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000, + 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000 +]); + +// @ts-ignore: decorator +@lazy @inline const LOG2_TABLE2_64 = memory.data([ + // chi , clo + 0x3FE6200012B90A8E, 0x3C8904AB0644B605, + 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9, + 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA, + 0x3FE6E00038B95A04, 0x3C88FF8856739326, + 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1, + 0x3FE7600015590E10, 0xBC72FD75B4238341, + 0x3FE7A00012655BD5, 0x3C7808E67C242B76, + 0x3FE7E0003259E9A6, 0xBC6208E426F622B7, + 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F, + 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F, + 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD, + 0x3FE8E00039671566, 0xBC8A04F3BEC77B45, + 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C, + 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D, + 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03, + 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602, + 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E, + 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B, + 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE, + 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C, + 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C, + 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237, + 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00, + 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0, + 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9, + 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6, + 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F, + 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7, + 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE, + 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3, + 0x3FED9FFF9D228B0C, 0x3C870251340FA236, + 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C, + 0x3FEE200002F64791, 0x3C89802F09EF62E0, + 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA, + 0x3FEEA00027EDC00C, 0xBC8C848309459811, + 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4, + 0x3FEF2000782B7DCC, 0xBC8F81D97274538F, + 0x3FEF6000260C450A, 0xBC4071002727FFDC, + 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0, + 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E, + 0x3FF0200004292367, 0x3C9B7FF365324681, + 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B, + 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91, + 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014, + 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2, + 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF, + 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF, + 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0, + 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43, + 0x3FF26000269FD891, 0x3C8CFE2A7994D182, + 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5, + 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9, + 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254, + 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB, + 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477, + 0x3FF3E000043BB236, 0x3C9C7DCB149D8833, + 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28, + 0x3FF460000D387CB1, 0x3C820837856599A6, + 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2, + 0x3FF4E000043543F3, 0xBC781125ED175329, + 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC, + 0x3FF55FFFFD87B36F, 0xBC8709E731D02807, + 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02, + 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E +]); + +// @ts-ignore: decorator +@inline const LOG2_TABLE64_BITS = 6; + +// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c + +/* Algorithm: + + x = 2^k z + log(x) = k ln2 + log(c) + log(z/c) + log(z/c) = poly(z/c - 1) + +where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls +into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = (double)log(c) + tab2[i].chi = (double)c + tab2[i].clo = (double)(c - (double)c) + +where c is near the center of the subinterval and is chosen by trying +-2^29 +floating point invc candidates around 1/center and selecting one for which + + 1) the rounding error in 0x1.8p9 + logc is 0, + 2) the rounding error in z - chi - clo is < 0x1p-66 and + 3) the rounding error in (double)log(c) is minimized (< 0x1p-66). + +Note: 1) ensures that k*ln2hi + logc can be computed without rounding error, +2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to +a single rounding error when there is no fast fma for z*invc - 1, 3) ensures +that logc + poly(z/c - 1) has small error, however near x == 1 when +|log(x)| < 0x1p-4, this is not enough so that is special cased.*/ + +// @ts-ignore: decorator +@lazy @inline const LOG_TABLE1_64 = memory.data([ + // invc , logc + 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000, + 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000, + 0x3FF6F26008FAB5A0, 0xBFD713E31351E000, + 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800, + 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800, + 0x3FF69147332F0CBA, 0xBFD602D076180000, + 0x3FF6719F18224223, 0xBFD5A8CA86909000, + 0x3FF6524F99A51ED9, 0xBFD54F4356035000, + 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000, + 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000, + 0x3FF5F66452C65C4C, 0xBFD445923989A800, + 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800, + 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000, + 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000, + 0x3FF5805612465687, 0xBFD2E9E2EF468000, + 0x3FF56397CEE76BD3, 0xBFD2941B3830E000, + 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800, + 0x3FF52AFF42064583, 0xBFD1E9E129279000, + 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800, + 0x3FF4F38F4734DED7, 0xBFD141679AB9F800, + 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800, + 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000, + 0x3FF4A27FC3E0258A, 0xBFD047E65263B800, + 0x3FF4880524D48434, 0xBFCFEB224586F000, + 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000, + 0x3FF453D9D3391854, 0xBFCEA4443D103000, + 0x3FF43A2744B4845A, 0xBFCE020D44E9B000, + 0x3FF420B54115F8FB, 0xBFCD60A22977F000, + 0x3FF40782DA3EF4B1, 0xBFCCC00104959000, + 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000, + 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000, + 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000, + 0x3FF3A5242B75DAB8, 0xBFCA45402E129000, + 0x3FF38D22CD9FD002, 0xBFC9A877681DF000, + 0x3FF3755BC5847A1C, 0xBFC90C6D69483000, + 0x3FF35DCE49AD36E2, 0xBFC87120A645C000, + 0x3FF34679984DD440, 0xBFC7D68FB4143000, + 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000, + 0x3FF3187775A10D49, 0xBFC6A39A9B376000, + 0x3FF301C8373E3990, 0xBFC60B3154B7A000, + 0x3FF2EB4EBB95F841, 0xBFC5737D76243000, + 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000, + 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000, + 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000, + 0x3FF293726014B530, 0xBFC31B996B490000, + 0x3FF27DFA5757A1F5, 0xBFC2875490A44000, + 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000, + 0x3FF2539D838FF5BD, 0xBFC160C8252CA000, + 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000, + 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000, + 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000, + 0x3FF201201DD2FC9B, 0xBFBE370896404000, + 0x3FF1ECF4494D480B, 0xBFBD17983EF94000, + 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000, + 0x3FF1C52311577E7C, 0xBFBADC79202F6000, + 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000, + 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000, + 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000, + 0x3FF1778A25EFBCB6, 0xBFB674F145380000, + 0x3FF1648D354C31DA, 0xBFB55E0E6D878000, + 0x3FF151B990275FDD, 0xBFB4485CDEA1E000, + 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000, + 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000, + 0x3FF11A3028ECB531, 0xBFB10E4698622000, + 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000, + 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000, + 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000, + 0x3FF0D244632CA521, 0xBFA9A1894012C000, + 0x3FF0C0A77CE2981A, 0xBFA788583302C000, + 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000, + 0x3FF09DDB98A01339, 0xBFA35C8A49658000, + 0x3FF08CABAF52E7DF, 0xBFA149E364154000, + 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000, + 0x3FF06AB58C358F19, 0xBF9A55F152528000, + 0x3FF059EEA5ECF92C, 0xBF963D62CF818000, + 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000, + 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000, + 0x3FF02865137932A9, 0xBF8419355DAA0000, + 0x3FF0182427EA7348, 0xBF781203C2EC0000, + 0x3FF008040614B195, 0xBF60040979240000, + 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000, + 0x3FEFA11CC261EA74, 0x3F87DC41353D0000, + 0x3FEF6310B081992E, 0x3F93CEA3C4C28000, + 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000, + 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000, + 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000, + 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000, + 0x3FEE3A91830A99B5, 0x3FAD276AEF578000, + 0x3FEE01E009609A56, 0x3FB07598E598C000, + 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000, + 0x3FED92F20B7C9103, 0x3FB42EDD8B380000, + 0x3FED5CAC66FB5CCE, 0x3FB606598757C000, + 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000, + 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000, + 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000, + 0x3FEC8B266D37086D, 0x3FBD431332E72000, + 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000, + 0x3FEC26B533BB9F8C, 0x3FC067152B914000, + 0x3FEBF583EEECE73F, 0x3FC147858292B000, + 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000, + 0x3FEB951E0C864A28, 0x3FC303D7A6C55000, + 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000, + 0x3FEB374867C9888B, 0x3FC4BA366B7A8000, + 0x3FEB094B211D304A, 0x3FC5933928D1F000, + 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000, + 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000, + 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000, + 0x3FEA5740EF09738B, 0x3FC8E92954F68000, + 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000, + 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000, + 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000, + 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000, + 0x3FE9852EF297CE2F, 0x3FCCF635D5486000, + 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000, + 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000, + 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000, + 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800, + 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000, + 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000, + 0x3FE87427AA2317FB, 0x3FD13687334BD000, + 0x3FE84F00ACB39A08, 0x3FD1980D67234800, + 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000, + 0x3FE8060195F40260, 0x3FD2595FD7636800, + 0x3FE7E22563E0A329, 0x3FD2B9300914A800, + 0x3FE7BEB377DCB5AD, 0x3FD3187210436000, + 0x3FE79BAA679725C2, 0x3FD377266DEC1800, + 0x3FE77907F2170657, 0x3FD3D54FFBAF3000, + 0x3FE756CADBD6130C, 0x3FD432EEE32FE000 +]); + +// @ts-ignore: decorator +@lazy @inline const LOG_TABLE2_64 = memory.data([ + // chi , clo + 0x3FE61000014FB66B, 0x3C7E026C91425B3C, + 0x3FE63000034DB495, 0x3C8DBFEA48005D41, + 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7, + 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C, + 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD, + 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01, + 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311, + 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53, + 0x3FE710000E869780, 0x3C7BFF6671097952, + 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724, + 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2, + 0x3FE770000F679C90, 0xBC67FC71CD549C74, + 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483, + 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465, + 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C, + 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE, + 0x3FE81000049CA3E8, 0x3C897FD251E54C33, + 0x3FE8300017932C8F, 0xBC8AFEE9B630F381, + 0x3FE850000633739C, 0x3C89BFBF6B6535BC, + 0x3FE87000204289C6, 0xBC8BBF65F3117B75, + 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57, + 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A, + 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05, + 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038, + 0x3FE910001EFA5FC7, 0x3C893E9176DFB403, + 0x3FE9300013467BB9, 0x3C7F804E4B980276, + 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E, + 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA, + 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF, + 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337, + 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000, + 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A, + 0x3FEA10001145B006, 0x3C74FF489958DA56, + 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18, + 0x3FEA500010971D79, 0x3C88FECADD787930, + 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB, + 0x3FEA90001C593352, 0xBC8EBF0284C27612, + 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F, + 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4, + 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3, + 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9, + 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D, + 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F, + 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E, + 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9, + 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4, + 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21, + 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C, + 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19, + 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED, + 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775, + 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC, + 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1, + 0x3FECB0002125219A, 0xBC68FD8E64180E04, + 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72, + 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE, + 0x3FED1000169AF82B, 0x3C757D91A8B95A71, + 0x3FED30000D0FF71D, 0x3C89C1906970C7DA, + 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C, + 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44, + 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C, + 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E, + 0x3FEDD000296C4739, 0x3C88019EB2FFB153, + 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89, + 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2, + 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864, + 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51, + 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59, + 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801, + 0x3FEEAFFFDFA51744, 0x3C780006D54320B5, + 0x3FEED0001A127FA1, 0xBC5002F860565C92, + 0x3FEEF00007BABCC4, 0xBC8540445D35E611, + 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105, + 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155, + 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743, + 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875, + 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B, + 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331, + 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1, + 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A, + 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA, + 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0, + 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B, + 0x3FF0700003CD4D82, 0x3C820083C0E456CB, + 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A, + 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB, + 0x3FF0D00001A4D338, 0x3C807DFA79489FF7, + 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0, + 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62, + 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF, + 0x3FF150000DD59AD9, 0x3C9A0077701250AE, + 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE, + 0x3FF18FFFFC275426, 0x3C910030DC3B7273, + 0x3FF1B000123D3C59, 0x3C997F7980030188, + 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67, + 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB, + 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22, + 0x3FF2300003854303, 0x3C93FFC2EB9FBF33, + 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72, + 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61, + 0x3FF2900014933A3C, 0xBC7202CA3C02412B, + 0x3FF2B00014556313, 0xBC92808233F21F02, + 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2, + 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5, + 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D, + 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715, + 0x3FF350000CA66756, 0x3C957F82228B82BD, + 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC, + 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751, + 0x3FF3B00004DDD242, 0x3C857F6B707638E1, + 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231, + 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0, + 0x3FF410001532AFF4, 0x3C67F8375F198524, + 0x3FF4300017478B29, 0x3C8301E672DC5143, + 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A, + 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254, + 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72, + 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45, + 0x3FF4D000171027DE, 0xBC99C06471DC6A3D, + 0x3FF4F0000FF03EE2, 0x3C977F890B85531C, + 0x3FF5100012DC4BD1, 0x3C6004657166A436, + 0x3FF530001605277A, 0xBC96BFCECE233209, + 0x3FF54FFFECDB704C, 0xBC8902720505A1D7, + 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412, + 0x3FF5900017E61012, 0x3C887EC581AFEF90, + 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0, + 0x3FF5D0001D4919BC, 0xBC98812AFB254729, + 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904 +]); + +// @ts-ignore: decorator +@inline const LOG_TABLE64_BITS = 7; + +// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c + +/* Algorithm: + + x = 2^k z + log(x) = k ln2 + log(c) + log(z/c) + log(z/c) = poly(z/c - 1) + +where z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals +and z falls into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = round(0x1p43*log(c))/0x1p43 + tab[i].logctail = (double)(log(c) - logc) + +where c is chosen near the center of the subinterval such that 1/c has only a +few precision bits so z/c - 1 is exactly representible as double: + + 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2 + +Note: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97, +the last few bits of logc are rounded away so k*ln2hi + logc has no rounding +error and the interval for z is selected such that near x == 1, where log(x) +is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ + +// @ts-ignore: decorator +@lazy @inline const POW_LOG_TABLE64 = memory.data([ + // invc ,pad, logc , logctail + 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680, + 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720, + 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D, + 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5, + 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0, + 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC, + 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A, + 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460, + 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092, + 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8, + 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, + 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, + 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76, + 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404, + 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0, + 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66, + 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E, + 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, + 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, + 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87, + 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24, + 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10, + 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B, + 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, + 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, + 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F, + 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066, + 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, + 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, + 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3, + 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09, + 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, + 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, + 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266, + 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, + 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, + 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F, + 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, + 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, + 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A, + 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408, + 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, + 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, + 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, + 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, + 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2, + 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, + 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, + 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06, + 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, + 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, + 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, + 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, + 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA, + 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, + 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, + 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, + 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, + 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309, + 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, + 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, + 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, + 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, + 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, + 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, + 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, + 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, + 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, + 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, + 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639, + 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, + 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, + 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, + 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, + 0x3FF0000000000000, 0, 0, 0, + 0x3FF0000000000000, 0, 0, 0, + 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8, + 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2, + 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34, + 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753, + 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28, + 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D, + 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807, + 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B, + 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B, + 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7, + 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E, + 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32, + 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA, + 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5, + 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3, + 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0, + 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD, + 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2, + 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934, + 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1, + 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289, + 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678, + 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7, + 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78, + 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1, + 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305, + 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1, + 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F, + 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169, + 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA, + 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6, + 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2, + 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035, + 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430, + 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11, + 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30, + 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91, + 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9, + 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C, + 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681, + 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7, + 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA, + 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4, + 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8, + 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8, + 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C, + 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D, + 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675, + 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4, + 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759, + 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF, + 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC +]); + +// @ts-ignore: decorator +@inline const POW_LOG_TABLE64_BITS = 7; + + +/** @internal */ +// @ts-ignore: decorator +@lazy var + rempio2_32_y: f64, + rempio2_y0: f64, + rempio2_y1: f64, + res128_hi: u64; + +/** @internal */ +// @ts-ignore: decorator +@lazy export var + sincos_cos32: f32, + sincos_cos64: f64; + + +/** @internal */ +export function murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche + h ^= h >> 33; // see: https://github.com/aappleby/smhasher + h *= 0xFF51AFD7ED558CCD; + h ^= h >> 33; + h *= 0xC4CEB9FE1A85EC53; + h ^= h >> 33; + return h; +} + +/** @internal */ +function R32(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3 + const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above + pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f + pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f + pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f + qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f + + var p = z * (pS0 + z * (pS1 + z * pS2)); + var q: f32 = 1 + z * qS1; + return p / q; +} + +/** @internal */ +function R64(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3 + const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above + pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01 + pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01 + pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01 + pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02 + pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04 + pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05 + qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00 + qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00 + qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01 + qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02 + + var p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); + var q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); + return p / q; +} + +// @ts-ignore: decorator +@inline +function expo2_32(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX) + const // see: musl/src/math/__expo2f.c + k = 235, + kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f + var scale = reinterpret((0x7F + (k >> 1)) << 23); + // in directed rounding correct sign before rounding or overflow is important + return exp32(x - kln2) * (sign * scale) * scale; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function expo2_64(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX) + const // see: musl/src/math/__expo2.c + k = 2043, + kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10 + var scale = reinterpret(((0x3FF + k / 2) << 20) << 32); + // in directed rounding correct sign before rounding or overflow is important + return exp64(x - kln2) * (sign * scale) * scale; +} + +/** @internal */ +// helper for pow32 +// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h +// @ts-ignore: decorator +@inline +function log2up32(x: f64): f64 { + const + log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736 + c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129 + c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505 + c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375 + c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150 + + var i = reinterpret(x); + var exponent = (i - 0x3FE6A09E667F3BCD) >> 52; + x = reinterpret(i - (exponent << 52)); + x = (x - 1) / (x + 1); + var xx = x * x; + var y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx)); + return (2 * log2e) * y + exponent; +} + +/** @internal */ +// helper for pow32 +// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h +// @ts-ignore: decorator +@inline +function exp2up32(x: f64): f64 { + const + c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1 + c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1 + c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2 + c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3 + c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3 + c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4 + + if (x < -1022) return 0; + if (x >= 1024) return Infinity; + + var n = nearest(x); + x -= n; + var xx = x * x; + var y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx)); + return reinterpret(reinterpret(y) + (n << 52)); +} + +/** @internal */ +/* Helper function to eventually get bits of π/2 * |x| + * + * y = π/4 * (frac << clz(frac) >> 11) + * return clz(frac) + * + * Right shift 11 bits to make upper half fit in `double` + */ +// @ts-ignore: decorator +@inline +function pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c + // Bits of π/4 + const p0: u64 = 0xC4C6628B80DC1CD1; + const p1: u64 = 0xC90FDAA22168C234; + + const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64 + const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75 + + var shift = clz(q1); + + q1 = q1 << shift | q0 >> (64 - shift); + q0 <<= shift; + + var lo = umuldi(p1, q1); + var hi = res128_hi; + + var ahi = hi >> 11; + var alo = lo >> 11 | hi << 53; + var blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0); + + rempio2_y0 = (ahi + u64(lo < blo)); + rempio2_y1 = Ox1p_64 * (alo + blo); + + return shift; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function umuldi(u: u64, v: u64): u64 { + var u1: u64 , v1: u64, w0: u64, w1: u64, t: u64; + + u1 = u & 0xFFFFFFFF; + v1 = v & 0xFFFFFFFF; + + u >>= 32; + v >>= 32; + + t = u1 * v1; + w0 = t & 0xFFFFFFFF; + t = u * v1 + (t >> 32); + w1 = t >> 32; + t = u1 * v + (t & 0xFFFFFFFF); + + res128_hi = u * v + w1 + (t >> 32); + return (t << 32) + w0; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function pio2_32_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c + const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20 + + var offset = (u >> 23) - 152; + var shift = (offset & 63); + var tblPtr = PIO2_TABLE32 + (offset >> 6 << 3); + + var b0 = load(tblPtr, 0 << 3); + var b1 = load(tblPtr, 1 << 3); + var lo: u64; + + if (shift > 32) { + let b2 = load(tblPtr, 2 << 3); + lo = b2 >> (96 - shift); + lo |= b1 << (shift - 32); + } else { + lo = b1 >> (32 - shift); + } + + var hi = (b1 >> (64 - shift)) | (b0 << shift); + var mantissa: u64 = (u & 0x007FFFFF) | 0x00800000; + var product = mantissa * hi + (mantissa * lo >> 32); + var r: i64 = product << 2; + var q = ((product >> 62) + (r >>> 63)); + rempio2_32_y = copysign(coeff, x) * r; + return q; +} + +/** @internal */ +function pio2_64_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c + var magnitude = u & 0x7FFFFFFFFFFFFFFF; + var offset = (magnitude >> 52) - 1045; + var shift = offset & 63; + var tblPtr = PIO2_TABLE64 + ((offset >> 6) << 3); + var s0: u64, s1: u64, s2: u64; + + var b0 = load(tblPtr, 0 << 3); + var b1 = load(tblPtr, 1 << 3); + var b2 = load(tblPtr, 2 << 3); + + // Get 192 bits of 0x1p-31 / π with `offset` bits skipped + if (shift) { + let rshift = 64 - shift; + let b3 = load(tblPtr, 3 << 3); + s0 = b1 >> rshift | b0 << shift; + s1 = b2 >> rshift | b1 << shift; + s2 = b3 >> rshift | b2 << shift; + } else { + s0 = b0; + s1 = b1; + s2 = b2; + } + + var significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000; + + // First 128 bits of fractional part of x/(2π) + var blo = umuldi(s1, significand); + var bhi = res128_hi; + + var ahi = s0 * significand; + var clo = (s2 >> 32) * (significand >> 32); + var plo = blo + clo; + var phi = ahi + bhi + u64(plo < clo); + + // r: u128 = p << 2 + var rlo = plo << 2; + var rhi = phi << 2 | plo >> 62; + + // s: i128 = r >> 127 + var slo = rhi >> 63; + var shi = slo >> 1; + var q = (phi >> 62) - slo; + + var shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52); + var signbit = (u ^ rhi) & 0x8000000000000000; + var coeff = reinterpret(shifter | signbit); + + rempio2_y0 *= coeff; + rempio2_y1 *= coeff; + + return q; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function rempio2_32(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c + const + pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570 + pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8 + _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 + + if (u < 0x4DC90FDB) { // π * 0x1p28 + let q = nearest(x * _2_pi); + rempio2_32_y = x - q * pi2hi - q * pi2lo; + return q; + } + + var q = pio2_32_large_quot(x, u); + return select(-q, q, sign); +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function rempio2_64(x: f64, u: u64, sign: i32): i32 { + const + pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00 + pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11 + pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11 + pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21 + pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21 + pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32 + invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 + + var ix = (u >> 32) & 0x7FFFFFFF; + + if (ASC_SHRINK_LEVEL < 1) { + if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1 + let q = 1, z: f64, y0: f64, y1: f64; + if (!sign) { + z = x - pio2_1; + if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough + y0 = z - pio2_1t; + y1 = (z - y0) - pio2_1t; + } else { // near pi/2, use 33+33+53 bit pi + z -= pio2_2; + y0 = z - pio2_2t; + y1 = (z - y0) - pio2_2t; + } + } else { // negative x + z = x + pio2_1; + if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough + y0 = z + pio2_1t; + y1 = (z - y0) + pio2_1t; + } else { // near pi/2, use 33+33+53 bit pi + z += pio2_2; + y0 = z + pio2_2t; + y1 = (z - y0) + pio2_2t; + } + q = -1; + } + rempio2_y0 = y0; + rempio2_y1 = y1; + return q; + } + } + + if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099) + // Use precise Cody Waite scheme + let q = nearest(x * invpio2); + let r = x - q * pio2_1; + let w = q * pio2_1t; // 1st round good to 85 bit + let j = ix >> 20; + let y0 = r - w; + let hi = (reinterpret(y0) >> 32); + let i = j - ((hi >> 20) & 0x7FF); + + if (i > 16) { // 2nd iteration needed, good to 118 + let t = r; + w = q * pio2_2; + r = t - w; + w = q * pio2_2t - ((t - r) - w); + y0 = r - w; + hi = (reinterpret(y0) >> 32); + i = j - ((hi >> 20) & 0x7FF); + if (i > 49) { // 3rd iteration need, 151 bits acc + let t = r; + w = q * pio2_3; + r = t - w; + w = q * pio2_3t - ((t - r) - w); + y0 = r - w; + } + } + let y1 = (r - y0) - w; + rempio2_y0 = y0; + rempio2_y1 = y1; + return q; + } + var q = pio2_64_large_quot(x, u); + return select(-q, q, sign); +} + +/** @internal */ +// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). +// @ts-ignore: decorator +@inline +function sin32_kern(x: f64): f32 { // see: musl/tree/src/math/__sindf.c + const + S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55 + S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59 + S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65 + S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71 + + var z = x * x; + var w = z * z; + var r = S3 + z * S4; + var s = z * x; + return ((x + s * (S1 + z * S2)) + s * w * r); +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function sin64_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c + const + S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01 + S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03 + S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04 + S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06 + S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08 + S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10 + + var z = x * x; + var w = z * z; + var r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6); + var v = z * x; + if (!iy) { + return x + v * (S1 + z * r); + } else { + return x - ((z * (0.5 * y - v * r) - y) - v * S1); + } +} + +/** @internal */ +// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). +// @ts-ignore: decorator +@inline +function cos32_kern(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c + const + C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54 + C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57 + C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62 + C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68 + + var z = x * x; + var w = z * z; + var r = C2 + z * C3; + return (((1 + z * C0) + w * C1) + (w * z) * r); +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function cos64_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c + const + C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02 + C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03 + C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05 + C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07 + C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09 + C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11 + + var z = x * x; + var w = z * z; + var r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6)); + var hz = 0.5 * z; + w = 1.0 - hz; + return w + (((1.0 - w) - hz) + (z * r - x * y)); +} + +/** @internal */ +// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]). +// @ts-ignore: decorator +@inline +function tan32_kern(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c + const + T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54 + T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55 + T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57 + T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58 + T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61 + T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59 + + var z = x * x; + var r = T4 + z * T5; + var t = T2 + z * T3; + var w = z * z; + var s = z * x; + var u = T0 + z * T1; + + r = (x + s * u) + (s * w) * (t + w * r); + return (odd ? -1 / r : r); +} + +/** @internal */ +function tan64_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c + const + T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01 + T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01 + T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02 + T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02 + T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03 + T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03 + T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03 + T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04 + T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04 + T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05 + T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05 + T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05 + T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05 + + const + one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00 + pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 + pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17 + + var z: f64, r: f64, v: f64, w: f64, s: f64; + var hx = (reinterpret(x) >> 32); // high word of x + var ix = hx & 0x7FFFFFFF; // high word of |x| + var big = ix >= 0x3FE59428; + if (big) { // |x| >= 0.6744 + if (hx < 0) { x = -x, y = -y; } + z = pio4 - x; + w = pio4lo - y; + x = z + w; + y = 0.0; + } + z = x * x; + w = z * z; + r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11)))); + v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12))))); + s = z * x; + r = y + z * (s * (r + v) + y); + r += T0 * s; + w = x + r; + if (big) { + v = iy; + return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); + } + if (iy == 1) return w; + var a: f64, t: f64; + z = w; + z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000); + v = r - (z - x); // z + v = r + x + t = a = -one / w; // a = -1.0 / w + t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); + s = one + t * z; + return t + a * (s + t * v); +} + +/** @internal */ +export function dtoi32(x: f64): i32 { + if (ASC_SHRINK_LEVEL > 0) { + const inv32 = 1.0 / 4294967296; + return (x - 4294967296 * floor(x * inv32)); + } else { + let result = 0; + let u = reinterpret(x); + let e = (u >> 52) & 0x7FF; + if (e <= 1023 + 30) { + result = x; + } else if (e <= 1023 + 30 + 53) { + let v = (u & ((1 << 52) - 1)) | (1 << 52); + v = v << e - 1023 - 52 + 32; + result = (v >> 32); + result = select(-result, result, u >> 63); + } + return result; + } +} + +export function ipow32(x: i32, e: i32): i32 { + var out = 1; + if (ASC_SHRINK_LEVEL < 1) { + if (x == 2) { + return select(1 << e, 0, e < 32); + } + 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 + switch (log) { + case 5: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 4: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 3: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 2: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 1: { + if (e & 1) out *= x; + } + } + return out; + } + } + while (e) { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + return out; +} + +export function ipow64(x: i64, e: i64): i64 { + var out: i64 = 1; + if (ASC_SHRINK_LEVEL < 1) { + if (x == 2) { + return select(1 << e, 0, e < 64); + } + 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 + switch (log) { + case 6: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 5: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 4: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 3: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 2: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 1: { + if (e & 1) out *= x; + } + } + return out; + } + } + while (e) { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + return out; +} + +export function acos32(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f + pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + var hx = reinterpret(x); + var ix = hx & 0x7FFFFFFF; + if (ix >= 0x3F800000) { + if (ix == 0x3F800000) { + if (hx >> 31) return 2 * pio2_hi + Ox1p_120f; + return 0; + } + return 0 / (x - x); + } + if (ix < 0x3F000000) { + if (ix <= 0x32800000) return pio2_hi + Ox1p_120f; + return pio2_hi - (x - (pio2_lo - x * R32(x * x))); + } + var z: f32, w: f32, s: f32; + if (hx >> 31) { + // z = (1 + x) * 0.5; + z = 0.5 + x * 0.5; + s = sqrt(z); + w = R32(z) * s - pio2_lo; + return 2 * (pio2_hi - (s + w)); + } + // z = (1 - x) * 0.5; + z = 0.5 - x * 0.5; + s = sqrt(z); + hx = reinterpret(s); + var df = reinterpret(hx & 0xFFFFF000); + var c = (z - df * df) / (s + df); + w = R32(z) * s + c; + return 2 * (df + w); +} + +export function acos64(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + Ox1p_120f = reinterpret(0x03800000); + + var hx = (reinterpret(x) >> 32); + var ix = hx & 0x7FFFFFFF; + if (ix >= 0x3FF00000) { + let lx = reinterpret(x); + if ((ix - 0x3FF00000 | lx) == 0) { + if (hx >> 31) return 2 * pio2_hi + Ox1p_120f; + return 0; + } + return 0 / (x - x); + } + if (ix < 0x3FE00000) { + if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f; + return pio2_hi - (x - (pio2_lo - x * R64(x * x))); + } + var s: f64, w: f64, z: f64; + if (hx >> 31) { + // z = (1.0 + x) * 0.5; + z = 0.5 + x * 0.5; + s = sqrt(z); + w = R64(z) * s - pio2_lo; + return 2 * (pio2_hi - (s + w)); + } + // z = (1.0 - x) * 0.5; + z = 0.5 - x * 0.5; + s = sqrt(z); + var df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); + var c = (z - df * df) / (s + df); + w = R64(z) * s + c; + return 2 * (df + w); +} + +export function acosh32(x: f32): f32 { // see: musl/src/math/acoshf.c + const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f + var u = reinterpret(x); + var a = u & 0x7FFFFFFF; + if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1 + let xm1 = x - 1; + return log1p32(xm1 + sqrt(xm1 * (xm1 + 2))); + } + if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12 + return log32(2 * x - 1 / (x + sqrt(x * x - 1))); + } + // x >= 0x1p12 or x <= -2 or NaN + return log32(x) + s; +} + +export function acosh64(x: f64): f64 { // see: musl/src/math/acosh.c + const s = reinterpret(0x3FE62E42FEFA39EF); + var u = reinterpret(x); + // Prevent propagation for all input values less than 1.0. + // Note musl lib didn't fix this yet. + if (u < 0x3FF0000000000000) return (x - x) / 0.0; + var e = u >> 52 & 0x7FF; + if (e < 0x3FF + 1) return log1p64(x - 1 + sqrt((x - 1) * (x - 1) + 2 * (x - 1))); + if (e < 0x3FF + 26) return log64(2 * x - 1 / (x + sqrt(x * x - 1))); + return log64(x) + s; +} + +export function asin32(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above + const + pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + var sx = x; + var hx = reinterpret(x) & 0x7FFFFFFF; + if (hx >= 0x3F800000) { + if (hx == 0x3F800000) return x * pio2 + Ox1p_120f; + return 0 / (x - x); + } + if (hx < 0x3F000000) { + if (hx < 0x39800000 && hx >= 0x00800000) return x; + return x + x * R32(x * x); + } + // var z: f32 = (1 - builtin_abs(x)) * 0.5; + var z: f32 = 0.5 - abs(x) * 0.5; + var s = sqrt(z); // sic + x = (pio2 - 2 * (s + s * R32(z))); + return copysign(x, sx); +} + +export function asin64(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + Ox1p_120f = reinterpret(0x03800000); + + var hx = (reinterpret(x) >> 32); + var ix = hx & 0x7FFFFFFF; + if (ix >= 0x3FF00000) { + let lx = reinterpret(x); + if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f; + return 0 / (x - x); + } + if (ix < 0x3FE00000) { + if (ix < 0x3E500000 && ix >= 0x00100000) return x; + return x + x * R64(x * x); + } + // var z = (1.0 - builtin_abs(x)) * 0.5; + var z = 0.5 - abs(x) * 0.5; + var s = sqrt(z); + var r = R64(z); + if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo); + else { + let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); + let c = (z - f * f) / (s + f); + x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f)); + } + if (hx >> 31) return -x; + return x; +} + +export function asinh32(x: f32): f32 { // see: musl/src/math/asinhf.c + const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f + var u = reinterpret(x) & 0x7FFFFFFF; + var y = reinterpret(u); + if (u >= 0x3F800000 + (12 << 23)) y = log32(y) + c; + else if (u >= 0x3F800000 + (1 << 23)) y = log32(2 * y + 1 / (sqrt(y * y + 1) + y)); + else if (u >= 0x3F800000 - (12 << 23)) y = log1p32(y + y * y / (sqrt(y * y + 1) + 1)); + return copysign(y, x); +} + +export function asinh64(x: f64): f64 { // see: musl/src/math/asinh.c + const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568 + var u = reinterpret(x); + var e = u >> 52 & 0x7FF; + var y = reinterpret(u & 0x7FFFFFFFFFFFFFFF); + if (e >= 0x3FF + 26) y = log64(y) + c; + else if (e >= 0x3FF + 1) y = log64(2 * y + 1 / (sqrt(y * y + 1) + y)); + else if (e >= 0x3FF - 26) y = log1p64(y + y * y / (sqrt(y * y + 1) + 1)); + return copysign(y, x); +} + +export function atan32(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above + const + atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f + atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f + atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f + atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f + atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f + atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f + atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f + atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f + aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f + aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f + aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f + aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f + aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + var ix = reinterpret(x); + var sx = x; + ix &= 0x7FFFFFFF; + var z: f32; + if (ix >= 0x4C800000) { + if (isNaN(x)) return x; + z = atanhi3 + Ox1p_120f; + return copysign(z, sx); + } + var id: i32; + if (ix < 0x3EE00000) { + if (ix < 0x39800000) return x; + id = -1; + } else { + x = abs(x); + if (ix < 0x3F980000) { + if (ix < 0x3F300000) { + id = 0; + x = (2.0 * x - 1.0) / (2.0 + x); + } else { + id = 1; + x = (x - 1.0) / (x + 1.0); + } + } else { + if (ix < 0x401C0000) { + id = 2; + x = (x - 1.5) / (1.0 + 1.5 * x); + } else { + id = 3; + x = -1.0 / x; + } + } + } + z = x * x; + var w = z * z; + var s1 = z * (aT0 + w * (aT2 + w * aT4)); + var s2 = w * (aT1 + w * aT3); + var s3 = x * (s1 + s2); + if (id < 0) return x - s3; + switch (id) { + case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } + case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } + case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } + case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } + default: unreachable(); + } + return copysign(z, sx); +} + +export function atan64(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above + const + atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01 + atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 + atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01 + atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17 + atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17 + atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17 + atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01 + aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01 + aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01 + aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01, + aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02 + aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02 + aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02 + aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02 + aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02 + aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02 + aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02 + Ox1p_120f = reinterpret(0x03800000); + + var ix = (reinterpret(x) >> 32); + var sx = x; + ix &= 0x7FFFFFFF; + var z: f64; + if (ix >= 0x44100000) { + if (isNaN(x)) return x; + z = atanhi3 + Ox1p_120f; + return copysign(z, sx); + } + var id: i32; + if (ix < 0x3FDC0000) { + if (ix < 0x3E400000) return x; + id = -1; + } else { + x = abs(x); + if (ix < 0x3FF30000) { + if (ix < 0x3FE60000) { + id = 0; + x = (2.0 * x - 1.0) / (2.0 + x); + } else { + id = 1; + x = (x - 1.0) / (x + 1.0); + } + } else { + if (ix < 0x40038000) { + id = 2; + x = (x - 1.5) / (1.0 + 1.5 * x); + } else { + id = 3; + x = -1.0 / x; + } + } + } + z = x * x; + var w = z * z; + var s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10))))); + var s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9)))); + var s3 = x * (s1 + s2); + if (id < 0) return x - s3; + switch (id) { + case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } + case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } + case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } + case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } + default: unreachable(); + } + return copysign(z, sx); +} + +export function atanh32(x: f32): f32 { // see: musl/src/math/atanhf.c + var u = reinterpret(x); + var y = abs(x); + if (u < 0x3F800000 - (1 << 23)) { + if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p32(2 * y * (1.0 + y / (1 - y))); + } else y = 0.5 * log1p32(2 * (y / (1 - y))); + return copysign(y, x); +} + +export function atanh64(x: f64): f64 { // see: musl/src/math/atanh.c + var u = reinterpret(x); + var e = u >> 52 & 0x7FF; + var y = abs(x); + if (e < 0x3FF - 1) { + if (e >= 0x3FF - 32) y = 0.5 * log1p64(2 * y + 2 * y * y / (1 - y)); + } else { + y = 0.5 * log1p64(2 * (y / (1 - y))); + } + return copysign(y, x); +} + +export function atan2_32(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above + const + pi = reinterpret(0x40490FDB), // 3.1415927410e+00f + pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f + + if (isNaN(x) || isNaN(y)) return x + y; + var ix = reinterpret(x); + var iy = reinterpret(y); + if (ix == 0x3F800000) return atan32(y); + var m = (((iy >> 31) & 1) | ((ix >> 30) & 2)); + ix &= 0x7FFFFFFF; + iy &= 0x7FFFFFFF; + if (iy == 0) { + switch (m) { + case 0: + case 1: return y; + case 2: return pi; + case 3: return -pi; + } + } + if (ix == 0) return m & 1 ? -pi / 2 : pi / 2; + if (ix == 0x7F800000) { + if (iy == 0x7F800000) { + let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4; + return m & 1 ? -t : t; + } else { + let t: f32 = m & 2 ? pi : 0.0; + return m & 1 ? -t : t; + } + } + if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2; + var z: f32; + if ((m & 2) && iy + (26 << 23) < ix) z = 0.0; + else z = atan32(abs(y / x)); + switch (m) { + case 0: return z; + case 1: return -z; + case 2: return pi - (z - pi_lo); + case 3: return (z - pi_lo) - pi; + } + return unreachable(); +} + +export function atan2_64(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above + const + pi = reinterpret(0x400921FB54442D18), // 3.14159265358979323846 + pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16 + + if (isNaN(x) || isNaN(y)) return x + y; + var u = reinterpret(x); + var ix = (u >> 32); + var lx = u; + u = reinterpret(y); + var iy = (u >> 32); + var ly = u; + if ((ix - 0x3FF00000 | lx) == 0) return atan64(y); + var m = ((iy >> 31) & 1) | ((ix >> 30) & 2); + ix = ix & 0x7FFFFFFF; + iy = iy & 0x7FFFFFFF; + if ((iy | ly) == 0) { + switch (m) { + case 0: + case 1: return y; + case 2: return pi; + case 3: return -pi; + } + } + if ((ix | lx) == 0) return m & 1 ? -pi / 2 : pi / 2; + if (ix == 0x7FF00000) { + if (iy == 0x7FF00000) { + let t = m & 2 ? 3 * pi / 4 : pi / 4; + return m & 1 ? -t : t; + } else { + let t = m & 2 ? pi : 0; + return m & 1 ? -t : t; + } + } + var z: f64; + if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -pi / 2 : pi / 2; + if ((m & 2) && iy + (64 << 20) < ix) z = 0; + else z = atan64(abs(y / x)); + switch (m) { + case 0: return z; + case 1: return -z; + case 2: return pi - (z - pi_lo); + case 3: return (z - pi_lo) - pi; + } + return unreachable(); +} + +export function cbrt32(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above + const + B1 = 709958130, + B2 = 642849266, + Ox1p24f = reinterpret(0x4B800000); + + var u = reinterpret(x); + var hx = u & 0x7FFFFFFF; + if (hx >= 0x7F800000) return x + x; + if (hx < 0x00800000) { + if (hx == 0) return x; + u = reinterpret(x * Ox1p24f); + hx = u & 0x7FFFFFFF; + hx = hx / 3 + B2; + } else { + hx = hx / 3 + B1; + } + u &= 0x80000000; + u |= hx; + var t = reinterpret(u); + var r = t * t * t; + t = t * (x + x + r) / (x + r + r); + r = t * t * t; + t = t * (x + x + r) / (x + r + r); + return t; +} + +export function cbrt64(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above + const + B1 = 715094163, + B2 = 696219795, + P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643 + P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875 + P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140 + P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437 + P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + var u = reinterpret(x); + var hx = (u >> 32) & 0x7FFFFFFF; + if (hx >= 0x7FF00000) return x + x; + if (hx < 0x00100000) { + u = reinterpret(x * Ox1p54); + hx = (u >> 32) & 0x7FFFFFFF; + if (hx == 0) return x; + hx = hx / 3 + B2; + } else { + hx = hx / 3 + B1; + } + u &= 1 << 63; + u |= hx << 32; + var t = reinterpret(u); + var r = (t * t) * (t / x); + t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); + t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000); + var s = t * t; + r = x / s; + r = (r - t) / (2 * t + r); + t = t + t * r; + return t; +} + +export function cos32(x: f32): f32 { // see: musl/src/math/cosf.c + const + c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 + c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 + c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 + c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 + + var ix = reinterpret(x); + var sign = ix >> 31; + ix &= 0x7FFFFFFF; + + if (ix <= 0x3F490FDA) { // |x| ~<= π/4 + if (ix < 0x39800000) { // |x| < 2**-12 + // raise inexact if x != 0 + return 1; + } + return cos32_kern(x); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ix > 0x4016CBE3) { // |x| ~> 3π/4 + return -cos32_kern(sign ? x + c2pio2 : x - c2pio2); + } else { + return sign ? sin32_kern(x + c1pio2) : sin32_kern(c1pio2 - x); + } + } + if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ix > 0x40AFEDDF) { // |x| ~> 7π/4 + return cos32_kern(sign ? x + c4pio2 : x - c4pio2); + } else { + return sign ? sin32_kern(-x - c3pio2) : sin32_kern(x - c3pio2); + } + } + } + + // cos(Inf or NaN) is NaN + if (ix >= 0x7F800000) return x - x; + + // general argument reduction needed + var n = rempio2_32(x, ix, sign); + var y = rempio2_32_y; + + var t = n & 1 ? sin32_kern(y) : cos32_kern(y); + return (n + 1) & 2 ? -t : t; +} + +export function cos64(x: f64): f64 { // see: musl/src/math/cos.c + var u = reinterpret(x); + var ix = (u >> 32); + var sign = ix >> 31; + + ix &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ix <= 0x3FE921FB) { + if (ix < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2) + return 1.0; + } + return cos64_kern(x, 0); + } + + // sin(Inf or NaN) is NaN + if (ix >= 0x7FF00000) return x - x; + + // argument reduction needed + var n = rempio2_64(x, u, sign); + var y0 = rempio2_y0; + var y1 = rempio2_y1; + + x = n & 1 ? sin64_kern(y0, y1, 1) : cos64_kern(y0, y1); + return (n + 1) & 2 ? -x : x; +} + +export function cosh32(x: f32): f32 { // see: musl/src/math/coshf.c + var u = reinterpret(x); + u &= 0x7FFFFFFF; + x = reinterpret(u); + if (u < 0x3F317217) { + if (u < 0x3F800000 - (12 << 23)) return 1; + let t = expm1_32(x); + // return 1 + t * t / (2 * (1 + t)); + return 1 + t * t / (2 + 2 * t); + } + if (u < 0x42B17217) { + let t = exp32(x); + // return 0.5 * (t + 1 / t); + return 0.5 * t + 0.5 / t; + } + return expo2_32(x, 1); +} + +export function cosh64(x: f64): f64 { // see: musl/src/math/cosh.c + var u = reinterpret(x); + u &= 0x7FFFFFFFFFFFFFFF; + x = reinterpret(u); + var w = (u >> 32); + var t: f64; + if (w < 0x3FE62E42) { + if (w < 0x3FF00000 - (26 << 20)) return 1; + t = expm1_64(x); + // return 1 + t * t / (2 * (1 + t)); + return 1 + t * t / (2 + 2 * t); + } + if (w < 0x40862E42) { + t = exp64(x); + return 0.5 * (t + 1 / t); + } + t = expo2_64(x, 1); + return t; +} + +export function hypot32(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c + const + Ox1p90f = reinterpret(0x6C800000), + Ox1p_90f = reinterpret(0x12800000); + + var ux = reinterpret(x); + var uy = reinterpret(y); + ux &= 0x7FFFFFFF; + uy &= 0x7FFFFFFF; + if (ux < uy) { + let ut = ux; + ux = uy; + uy = ut; + } + x = reinterpret(ux); + y = reinterpret(uy); + if (uy == 0xFF << 23) return y; + if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y; + var z: f32 = 1; + if (ux >= (0x7F + 60) << 23) { + z = Ox1p90f; + x *= Ox1p_90f; + y *= Ox1p_90f; + } else if (uy < (0x7F - 60) << 23) { + z = Ox1p_90f; + x *= Ox1p90f; + y *= Ox1p90f; + } + return z * sqrt((x * x + y * y)); +} + +export function hypot64(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c + const + SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1 + Ox1p700 = reinterpret(0x6BB0000000000000), + Ox1p_700 = reinterpret(0x1430000000000000); + + var ux = reinterpret(x); + var uy = reinterpret(y); + ux &= 0x7FFFFFFFFFFFFFFF; + uy &= 0x7FFFFFFFFFFFFFFF; + if (ux < uy) { + let ut = ux; + ux = uy; + uy = ut; + } + var ex = (ux >> 52); + var ey = (uy >> 52); + y = reinterpret(uy); + if (ey == 0x7FF) return y; + x = reinterpret(ux); + if (ex == 0x7FF || uy == 0) return x; + if (ex - ey > 64) return x + y; + var z = 1.0; + if (ex > 0x3FF + 510) { + z = Ox1p700; + x *= Ox1p_700; + y *= Ox1p_700; + } else if (ey < 0x3FF - 450) { + z = Ox1p_700; + x *= Ox1p700; + y *= Ox1p700; + } + var c = x * SPLIT; + var h = x - c + c; + var l = x - h; + var hx = x * x; + var lx = h * h - hx + (2 * h + l) * l; + c = y * SPLIT; + h = y - c + c; + l = y - h; + var hy = y * y; + var ly = h * h - hy + (2 * h + l) * l; + return z * sqrt(ly + lx + hy + hx); +} + // ULP error: 0.502 (nearest rounding.) // Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.) // Wrong count: 168353 (all nearest rounding wrong results with fma.) -// @ts-ignore: decorator -@inline -export function exp2f_lut(x: f32): f32 { +export function exp2_32_lut(x: f32): f32 { const - N = 1 << EXP2F_TABLE_BITS, + N = 1 << EXP2_TABLE32_BITS, N_MASK = N - 1, shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52 Ox127f = reinterpret(0x7F000000); @@ -55,8 +2223,8 @@ export function exp2f_lut(x: f32): f32 { var t: u64, y: f64, s: f64; // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += ki << (52 - EXP2F_TABLE_BITS); + t = load(EXP2_TABLE32 + ((ki & N_MASK) << alignof())); + t += ki << (52 - EXP2_TABLE32_BITS); s = reinterpret(t); y = C2 * r + 1; y += (C0 * r + C1) * (r * r); @@ -70,9 +2238,9 @@ export function exp2f_lut(x: f32): f32 { // Wrong count: 170635 (all nearest rounding wrong results with fma.) // @ts-ignore: decorator @inline -export function expf_lut(x: f32): f32 { +export function exp32_lut(x: f32): f32 { const - N = 1 << EXP2F_TABLE_BITS, + N = 1 << EXP2_TABLE32_BITS, N_MASK = N - 1, shift = reinterpret(0x4338000000000000), // 0x1.8p+52 InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0 @@ -106,8 +2274,8 @@ export function expf_lut(x: f32): f32 { var s: f64, y: f64, t: u64; // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += ki << (52 - EXP2F_TABLE_BITS); + t = load(EXP2_TABLE32 + ((ki & N_MASK) << alignof())); + t += ki << (52 - EXP2_TABLE32_BITS); s = reinterpret(t); z = C0 * r + C1; y = C2 * r + 1; @@ -117,40 +2285,13 @@ export function expf_lut(x: f32): f32 { return y; } -// -// Lookup data for log2f -// - -// @ts-ignore: decorator -@inline const LOG2F_TABLE_BITS = 4; - -// @ts-ignore: decorator -@lazy @inline const LOG2F_DATA_TAB = memory.data([ - reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFDEFEC65B963019), // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2, - reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFDB0B6832D4FCA4), // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2, - reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD7418B0A1FB77B), // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2, - reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFD39DE91A6DCF7B), // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2, - reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFD01D9BF3F2B631), // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2, - reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC97C1D1B3B7AF0), // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 , - reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFC2F9E393AF3C9F), // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3, - reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB960CBBF788D5C), // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4, - reinterpret(0x3FF0953F419900A7), reinterpret(0xBFAA6F9DB6475FCE), // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5, - reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0x0, - reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FB338CA9F24F53D), // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4, - reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FC476A9543891BA), // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3, - reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FCE840B4AC4E4D2), // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3, - reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FD40645F0C6651C), // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2, - reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD88E9C2C1B9FF8), // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2, - reinterpret(0x3FE767DCF5534862), reinterpret(0x3FDCE0A44EB17BCC) // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2 -]); - // ULP error: 0.752 (nearest rounding.) // Relative error: 1.9 * 2^-26 (before rounding.) // @ts-ignore: decorator @inline -export function log2f_lut(x: f32): f32 { +export function log2_32_lut(x: f32): f32 { const - N_MASK = (1 << LOG2F_TABLE_BITS) - 1, + N_MASK = (1 << LOG2_TABLE32_BITS) - 1, Ox1p23f = reinterpret(0x4B000000); // 0x1p23f const @@ -175,13 +2316,13 @@ export function log2f_lut(x: f32): f32 { // The range is split into N subintervals. // The ith subinterval contains z and c is near its center. var tmp = ux - 0x3F330000; - var i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK; + var i = (tmp >> (23 - LOG2_TABLE32_BITS)) & N_MASK; var top = tmp & 0xFF800000; var iz = ux - top; var k = tmp >> 23; - var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + var invc = load(LOG2_TABLE32 + (i << (1 + alignof())), 0 << alignof()); + var logc = load(LOG2_TABLE32 + (i << (1 + alignof())), 1 << alignof()); var z = reinterpret(iz); // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k @@ -198,40 +2339,13 @@ export function log2f_lut(x: f32): f32 { return y; } -// -// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c -// - -// @ts-ignore: decorator -@inline const LOGF_TABLE_BITS = 4; - -// @ts-ignore: decorator -@lazy @inline const LOGF_DATA_TAB = memory.data([ - reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFD57BF7808CAADE), // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2, - reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFD2BEF0A7C06DDB), // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2, - reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD01EAE7F513A67), // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2, - reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFCB31D8A68224E9), // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3, - reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFC6574F0AC07758), // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3, - reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC1AA2BC79C8100), // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 , - reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFBA4E76CE8C0E5E), // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4, - reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB1973C5A611CCC), // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4, - reinterpret(0x3FF0953F419900A7), reinterpret(0xBFA252F438E10C1E), // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5, - reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0, - reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FAAA5AA5DF25984), // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5, - reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FBC5E53AA362EB4), // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4, - reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FC526E57720DB08), // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3, - reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FCBC2860D224770), // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 , - reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD1058BC8A07EE1), // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2, - reinterpret(0x3FE767DCF5534862), reinterpret(0x3FD4043057B6EE09) // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2 -]); - // ULP error: 0.818 (nearest rounding.) // Relative error: 1.957 * 2^-26 (before rounding.) // @ts-ignore: decorator @inline export function logf_lut(x: f32): f32 { const - N_MASK = (1 << LOGF_TABLE_BITS) - 1, + N_MASK = (1 << LOG_TABLE32_BITS) - 1, Ox1p23f = reinterpret(0x4B000000); // 0x1p23f const @@ -256,12 +2370,12 @@ export function logf_lut(x: f32): f32 { // The range is split into N subintervals. // The ith subinterval contains z and c is near its center. var tmp = ux - 0x3F330000; - var i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK; + var i = (tmp >> (23 - LOG_TABLE32_BITS)) & N_MASK; var k = tmp >> 23; var iz = ux - (tmp & 0x1FF << 23); - var invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - var logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + var invc = load(LOG_TABLE32 + (i << (1 + alignof())), 0 << alignof()); + var logc = load(LOG_TABLE32 + (i << (1 + alignof())), 1 << alignof()); var z = reinterpret(iz); @@ -284,7 +2398,7 @@ export function logf_lut(x: f32): f32 { // @ts-ignore: decorator @inline -function zeroinfnanf(ux: u32): bool { +function zeroinfnan32(ux: u32): bool { return (ux << 1) - 1 >= (0x7f800000 << 1) - 1; } @@ -292,7 +2406,7 @@ function zeroinfnanf(ux: u32): bool { // the bit representation of a non-zero finite floating-point value. // @ts-ignore: decorator @inline -function checkintf(iy: u32): i32 { +function checkint32(iy: u32): i32 { var e = iy >> 23 & 0xFF; if (e < 0x7F ) return 0; if (e > 0x7F + 23) return 2; @@ -306,8 +2420,8 @@ function checkintf(iy: u32): i32 { // Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set. // @ts-ignore: decorator @inline -function log2f_inline(ux: u32): f64 { - const N_MASK = (1 << LOG2F_TABLE_BITS) - 1; +function log2_32_inline(ux: u32): f64 { + const N_MASK = (1 << LOG2_TABLE32_BITS) - 1; const A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2 @@ -320,13 +2434,13 @@ function log2f_inline(ux: u32): f64 { // The range is split into N subintervals. // The ith subinterval contains z and c is near its center. var tmp = ux - 0x3F330000; - var i = ((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK); + var i = ((tmp >> (23 - LOG2_TABLE32_BITS)) & N_MASK); var top = tmp & 0xFF800000; var uz = ux - top; var k = (top >> 23); - var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + var invc = load(LOG2_TABLE32 + (i << (1 + alignof())), 0 << alignof()); + var logc = load(LOG2_TABLE32 + (i << (1 + alignof())), 1 << alignof()); var z = reinterpret(uz); // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k @@ -350,9 +2464,9 @@ function log2f_inline(ux: u32): f64 { // in [-1021,1023], sign_bias sets the sign of the result. // @ts-ignore: decorator @inline -function exp2f_inline(xd: f64, signBias: u32): f32 { +function exp2_32_inline(xd: f64, signBias: u32): f32 { const - N = 1 << EXP2F_TABLE_BITS, + N = 1 << EXP2_TABLE32_BITS, N_MASK = N - 1, shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52 @@ -368,8 +2482,8 @@ function exp2f_inline(xd: f64, signBias: u32): f32 { var t: u64, z: f64, y: f64, s: f64; // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += (ki + signBias) << (52 - EXP2F_TABLE_BITS); + t = load(EXP2_TABLE32 + ((ki & N_MASK) << alignof())); + t += (ki + signBias) << (52 - EXP2_TABLE32_BITS); s = reinterpret(t); z = C0 * r + C1; y = C2 * r + 1; @@ -380,37 +2494,37 @@ function exp2f_inline(xd: f64, signBias: u32): f32 { // @ts-ignore: decorator @inline -function xflowf(sign: u32, y: f32): f32 { +function xflow32(sign: u32, y: f32): f32 { return select(-y, y, sign) * y; } // @ts-ignore: decorator @inline -function oflowf(sign: u32): f32 { - return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f +function oflow32(sign: u32): f32 { + return xflow32(sign, reinterpret(0x70000000)); // 0x1p97f } // @ts-ignore: decorator @inline -function uflowf(sign: u32): f32 { - return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f +function uflow32(sign: u32): f32 { + return xflow32(sign, reinterpret(0x10000000)); // 0x1p-95f } // @ts-ignore: decorator @inline -export function powf_lut(x: f32, y: f32): f32 { +function pow32_lut(x: f32, y: f32): f32 { const Ox1p23f = reinterpret(0x4B000000), // 0x1p23f UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6 LOWER_LIMIT = -150.0, - SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11); + SIGN_BIAS = 1 << (EXP2_TABLE32_BITS + 11); var signBias: u32 = 0; var ix = reinterpret(x); var iy = reinterpret(y); var ny = 0; - if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) { + if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnan32(iy)))) { // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). if (ny) { if ((iy << 1) == 0) return 1.0; @@ -420,15 +2534,15 @@ export function powf_lut(x: f32, y: f32): f32 { if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf. return y * y; } - if (zeroinfnanf(ix)) { + if (zeroinfnan32(ix)) { let x2 = x * x; - if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2; + if ((ix >> 31) && checkint32(iy) == 1) x2 = -x2; return iy >> 31 ? 1 / x2 : x2; } // x and y are non-zero finite. if (ix >> 31) { // Finite x < 0. - let yint = checkintf(iy); + let yint = checkint32(iy); if (yint == 0) return (x - x) / (x - x); if (yint == 1) signBias = SIGN_BIAS; ix &= 0x7FFFFFFF; @@ -440,155 +2554,16 @@ export function powf_lut(x: f32, y: f32): f32 { ix -= 23 << 23; } } - var logx = log2f_inline(ix); + var logx = log2_32_inline(ix); var ylogx = y * logx; // cannot overflow, y is single prec. if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47 // |y * log(x)| >= 126 - if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow - if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow + if (ylogx > UPPER_LIMIT) return oflow32(signBias); // overflow + if (ylogx <= LOWER_LIMIT) return uflow32(signBias); // underflow } - return exp2f_inline(ylogx, signBias); + return exp2_32_inline(ylogx, signBias); } -// -// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c -// - -// @ts-ignore: decorator -@inline const EXP_TABLE_BITS = 7; - -// @ts-ignore: decorator -@lazy @inline const EXP_DATA_TAB = memory.data([ - 0x0000000000000000, 0x3FF0000000000000, - 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335, - 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061, - 0xBC905E7A108766D1, 0x3FEFE315E86E7F85, - 0x3C8CD2523567F613, 0x3FEFD9B0D3158574, - 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE, - 0x3C60F74E61E6C861, 0x3FEFC74518759BC8, - 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383, - 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F, - 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7, - 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2, - 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B, - 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51, - 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC, - 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0, - 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51, - 0xBC801B15EAA59348, 0x3FEF72B83C7D517B, - 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA, - 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75, - 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4, - 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA, - 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D, - 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6, - 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96, - 0x3C968EFDE3A8A894, 0x3FEF387A6E756238, - 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F, - 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD, - 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381, - 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1, - 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990, - 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B, - 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56, - 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715, - 0x3C864201E2AC744C, 0x3FEF0170FC4CD831, - 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF, - 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1, - 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB, - 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866, - 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7, - 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5, - 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422, - 0xBC9312607A28698A, 0x3FEEDA4504AC801C, - 0xBC58A78F4817895B, 0x3FEED60A21F72E2A, - 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897, - 0x3C4363ED60C2AC11, 0x3FEECE086061892D, - 0x3C9666093B0664EF, 0x3FEECA41ED1D0057, - 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0, - 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE, - 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27, - 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D, - 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7, - 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642, - 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82, - 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F, - 0x3C93350518FDD78E, 0x3FEEAF4736B527DA, - 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD, - 0x3C9063E1E21C5409, 0x3FEEAB07DD485429, - 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7, - 0x3C9432E62B64C035, 0x3FEEA76F15AD2148, - 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09, - 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585, - 0xBC845378892BE9AE, 0x3FEEA34634CCC320, - 0xBC93CEDD78565858, 0x3FEEA23882552225, - 0x3C5710AA807E1964, 0x3FEEA155D44CA973, - 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD, - 0xBC6A12AD8734B982, 0x3FEEA012750BDABF, - 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F, - 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484, - 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74, - 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174, - 0xBC8619321E55E68A, 0x3FEE9FEB564267C9, - 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F, - 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187, - 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132, - 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62, - 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12, - 0xBC9369B6F13B3734, 0x3FEEA589994CCE13, - 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD, - 0xBC94D450D872576E, 0x3FEEA8D99B4492ED, - 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699, - 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB, - 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C, - 0x3C7BF68359F35F44, 0x3FEEB1AE99157736, - 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6, - 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5, - 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F, - 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50, - 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA, - 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090, - 0x3C6DD235E10A73BB, 0x3FEEC86319E32323, - 0xBC87C50422622263, 0x3FEECC667B5DE565, - 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33, - 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D, - 0x3C90CC319CEE31D2, 0x3FEED99E1330B358, - 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF, - 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A, - 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD, - 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666, - 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB, - 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A, - 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47, - 0xBC91EEE26B588A35, 0x3FEF05B030A1064A, - 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2, - 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09, - 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C, - 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A, - 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B, - 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5, - 0x3C676B2C6C921968, 0x3FEF3720DCEF9069, - 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA, - 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C, - 0xBC900DAE3875A949, 0x3FEF4F87080D89F2, - 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487, - 0xBC82919E2040220F, 0x3FEF60E316C98398, - 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285, - 0x3C843A59AC016B4B, 0x3FEF7321F301B460, - 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F, - 0xBC892AB93B470DC9, 0x3FEF864614F5A129, - 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6, - 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83, - 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA, - 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1, - 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27, - 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97, - 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540, - 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14, - 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8, - 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1 -]); - // Handle cases that may overflow or underflow when computing the result that // is scale*(1+TMP) without intermediate rounding. The bit representation of // scale is in SBITS, however it has a computed exponent that may have @@ -615,12 +2590,12 @@ function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { // Note: sbits is signed scale. scale = reinterpret(sbits); var y = scale + scale * tmp; - if (abs(y) < 1.0) { + if (abs(y) < 1.0) { // Round y to the right precision before scaling it into the subnormal // range to avoid double rounding that can cause 0.5+E/2 ulp error where // E is the worst-case ulp error outside the subnormal range. So this // is only useful if the goal is better than 1 ulp worst-case error. - let one = copysign(1.0, y); + let one = copysign(1.0, y); let lo = scale - y + scale * tmp; let hi = one + y; lo = one - hi + y + lo; @@ -635,7 +2610,7 @@ function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { @inline export function exp_lut(x: f64): f64 { const - N = 1 << EXP_TABLE_BITS, + N = 1 << EXP_TABLE64_BITS, N_MASK = N - 1; const @@ -683,11 +2658,11 @@ export function exp_lut(x: f64): f64 { var r = x + kd * NegLn2hiN + kd * NegLn2loN; // 2^(k/N) ~= scale * (1 + tail). var idx = ((ki & N_MASK) << 1); - var top = ki << (52 - EXP_TABLE_BITS); + var top = ki << (52 - EXP_TABLE64_BITS); - var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx] + var tail = reinterpret(load(EXP_TABLE64 + (idx << alignof()))); // T[idx] // This is only a valid scale when -1023*N < k < 1024*N - var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + var sbits = load(EXP_TABLE64 + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). // Evaluation is optimized assuming superscalar pipelined execution. var r2 = r * r; @@ -741,11 +2716,9 @@ function specialcase2(tmp: f64, sbits: u64, ki: u64): f64 { return y * Ox1p_1022; } -// @ts-ignore: decorator -@inline -export function exp2_lut(x: f64): f64 { +export function exp2_64_lut(x: f64): f64 { const - N = 1 << EXP_TABLE_BITS, + N = 1 << EXP_TABLE64_BITS, N_MASK = N - 1, shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52 @@ -777,11 +2750,11 @@ export function exp2_lut(x: f64): f64 { var r = x - kd; // 2^(k/N) ~= scale * (1 + tail) var idx = ((ki & N_MASK) << 1); - var top = ki << (52 - EXP_TABLE_BITS); + var top = ki << (52 - EXP_TABLE64_BITS); - var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx]) + var tail = reinterpret(load(EXP_TABLE64 + (idx << alignof()), 0 << alignof())); // T[idx]) // This is only a valid scale when -1023*N < k < 1024*N - var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + var sbits = load(EXP_TABLE64 + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1). // Evaluation is optimized assuming superscalar pipelined execution var r2 = r * r; @@ -795,182 +2768,10 @@ export function exp2_lut(x: f64): f64 { return scale * tmp + scale; } -// -// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c -// - -// @ts-ignore: decorator -@inline const LOG2_TABLE_BITS = 6; - -/* Algorithm: - - x = 2^k z - log2(x) = k + log2(c) + log2(z/c) - log2(z/c) = poly(z/c - 1) - -where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls -into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = (double)log2(c) - tab2[i].chi = (double)c - tab2[i].clo = (double)(c - (double)c) - -where c is near the center of the subinterval and is chosen by trying +-2^29 -floating point invc candidates around 1/center and selecting one for which - - 1) the rounding error in 0x1.8p10 + logc is 0, - 2) the rounding error in z - chi - clo is < 0x1p-64 and - 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68). - -Note: 1) ensures that k + logc can be computed without rounding error, 2) -ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a -single rounding error when there is no fast fma for z*invc - 1, 3) ensures -that logc + poly(z/c - 1) has small error, however near x == 1 when -|log2(x)| < 0x1p-4, this is not enough so that is special cased. */ - -// @ts-ignore: decorator -@lazy @inline const LOG2_DATA_TAB1 = memory.data([ - // invc , logc - reinterpret(0x3FF724286BB1ACF8), reinterpret(0xBFE1095FEECDB000), - reinterpret(0x3FF6E1F766D2CCA1), reinterpret(0xBFE08494BD76D000), - reinterpret(0x3FF6A13D0E30D48A), reinterpret(0xBFE00143AEE8F800), - reinterpret(0x3FF661EC32D06C85), reinterpret(0xBFDEFEC5360B4000), - reinterpret(0x3FF623FA951198F8), reinterpret(0xBFDDFDD91AB7E000), - reinterpret(0x3FF5E75BA4CF026C), reinterpret(0xBFDCFFAE0CC79000), - reinterpret(0x3FF5AC055A214FB8), reinterpret(0xBFDC043811FDA000), - reinterpret(0x3FF571ED0F166E1E), reinterpret(0xBFDB0B67323AE000), - reinterpret(0x3FF53909590BF835), reinterpret(0xBFDA152F5A2DB000), - reinterpret(0x3FF5014FED61ADDD), reinterpret(0xBFD9217F5AF86000), - reinterpret(0x3FF4CAB88E487BD0), reinterpret(0xBFD8304DB0719000), - reinterpret(0x3FF49539B4334FEE), reinterpret(0xBFD74189F9A9E000), - reinterpret(0x3FF460CBDFAFD569), reinterpret(0xBFD6552BB5199000), - reinterpret(0x3FF42D664EE4B953), reinterpret(0xBFD56B23A29B1000), - reinterpret(0x3FF3FB01111DD8A6), reinterpret(0xBFD483650F5FA000), - reinterpret(0x3FF3C995B70C5836), reinterpret(0xBFD39DE937F6A000), - reinterpret(0x3FF3991C4AB6FD4A), reinterpret(0xBFD2BAA1538D6000), - reinterpret(0x3FF3698E0CE099B5), reinterpret(0xBFD1D98340CA4000), - reinterpret(0x3FF33AE48213E7B2), reinterpret(0xBFD0FA853A40E000), - reinterpret(0x3FF30D191985BDB1), reinterpret(0xBFD01D9C32E73000), - reinterpret(0x3FF2E025CAB271D7), reinterpret(0xBFCE857DA2FA6000), - reinterpret(0x3FF2B404CF13CD82), reinterpret(0xBFCCD3C8633D8000), - reinterpret(0x3FF288B02C7CCB50), reinterpret(0xBFCB26034C14A000), - reinterpret(0x3FF25E2263944DE5), reinterpret(0xBFC97C1C2F4FE000), - reinterpret(0x3FF234563D8615B1), reinterpret(0xBFC7D6023F800000), - reinterpret(0x3FF20B46E33EAF38), reinterpret(0xBFC633A71A05E000), - reinterpret(0x3FF1E2EEFDCDA3DD), reinterpret(0xBFC494F5E9570000), - reinterpret(0x3FF1BB4A580B3930), reinterpret(0xBFC2F9E424E0A000), - reinterpret(0x3FF19453847F2200), reinterpret(0xBFC162595AFDC000), - reinterpret(0x3FF16E06C0D5D73C), reinterpret(0xBFBF9C9A75BD8000), - reinterpret(0x3FF1485F47B7E4C2), reinterpret(0xBFBC7B575BF9C000), - reinterpret(0x3FF12358AD0085D1), reinterpret(0xBFB960C60FF48000), - reinterpret(0x3FF0FEF00F532227), reinterpret(0xBFB64CE247B60000), - reinterpret(0x3FF0DB2077D03A8F), reinterpret(0xBFB33F78B2014000), - reinterpret(0x3FF0B7E6D65980D9), reinterpret(0xBFB0387D1A42C000), - reinterpret(0x3FF0953EFE7B408D), reinterpret(0xBFAA6F9208B50000), - reinterpret(0x3FF07325CAC53B83), reinterpret(0xBFA47A954F770000), - reinterpret(0x3FF05197E40D1B5C), reinterpret(0xBF9D23A8C50C0000), - reinterpret(0x3FF03091C1208EA2), reinterpret(0xBF916A2629780000), - reinterpret(0x3FF0101025B37E21), reinterpret(0xBF7720F8D8E80000), - reinterpret(0x3FEFC07EF9CAA76B), reinterpret(0x3F86FE53B1500000), - reinterpret(0x3FEF4465D3F6F184), reinterpret(0x3FA11CCCE10F8000), - reinterpret(0x3FEECC079F84107F), reinterpret(0x3FAC4DFC8C8B8000), - reinterpret(0x3FEE573A99975AE8), reinterpret(0x3FB3AA321E574000), - reinterpret(0x3FEDE5D6F0BD3DE6), reinterpret(0x3FB918A0D08B8000), - reinterpret(0x3FED77B681FF38B3), reinterpret(0x3FBE72E9DA044000), - reinterpret(0x3FED0CB5724DE943), reinterpret(0x3FC1DCD2507F6000), - reinterpret(0x3FECA4B2DC0E7563), reinterpret(0x3FC476AB03DEA000), - reinterpret(0x3FEC3F8EE8D6CB51), reinterpret(0x3FC7074377E22000), - reinterpret(0x3FEBDD2B4F020C4C), reinterpret(0x3FC98EDE8BA94000), - reinterpret(0x3FEB7D6C006015CA), reinterpret(0x3FCC0DB86AD2E000), - reinterpret(0x3FEB20366E2E338F), reinterpret(0x3FCE840AAFCEE000), - reinterpret(0x3FEAC57026295039), reinterpret(0x3FD0790AB4678000), - reinterpret(0x3FEA6D01BC2731DD), reinterpret(0x3FD1AC056801C000), - reinterpret(0x3FEA16D3BC3FF18B), reinterpret(0x3FD2DB11D4FEE000), - reinterpret(0x3FE9C2D14967FEAD), reinterpret(0x3FD406464EC58000), - reinterpret(0x3FE970E4F47C9902), reinterpret(0x3FD52DBE093AF000), - reinterpret(0x3FE920FB3982BCF2), reinterpret(0x3FD651902050D000), - reinterpret(0x3FE8D30187F759F1), reinterpret(0x3FD771D2CDEAF000), - reinterpret(0x3FE886E5EBB9F66D), reinterpret(0x3FD88E9C857D9000), - reinterpret(0x3FE83C97B658B994), reinterpret(0x3FD9A80155E16000), - reinterpret(0x3FE7F405FFC61022), reinterpret(0x3FDABE186ED3D000), - reinterpret(0x3FE7AD22181415CA), reinterpret(0x3FDBD0F2AEA0E000), - reinterpret(0x3FE767DCF99EFF8C), reinterpret(0x3FDCE0A43DBF4000) -]); - -// @ts-ignore: decorator -@lazy @inline const LOG2_DATA_TAB2 = memory.data([ - // chi , clo - reinterpret(0x3FE6200012B90A8E), reinterpret(0x3C8904AB0644B605), - reinterpret(0x3FE66000045734A6), reinterpret(0x3C61FF9BEA62F7A9), - reinterpret(0x3FE69FFFC325F2C5), reinterpret(0x3C827ECFCB3C90BA), - reinterpret(0x3FE6E00038B95A04), reinterpret(0x3C88FF8856739326), - reinterpret(0x3FE71FFFE09994E3), reinterpret(0x3C8AFD40275F82B1), - reinterpret(0x3FE7600015590E10), reinterpret(0xBC72FD75B4238341), - reinterpret(0x3FE7A00012655BD5), reinterpret(0x3C7808E67C242B76), - reinterpret(0x3FE7E0003259E9A6), reinterpret(0xBC6208E426F622B7), - reinterpret(0x3FE81FFFEDB4B2D2), reinterpret(0xBC8402461EA5C92F), - reinterpret(0x3FE860002DFAFCC3), reinterpret(0x3C6DF7F4A2F29A1F), - reinterpret(0x3FE89FFFF78C6B50), reinterpret(0xBC8E0453094995FD), - reinterpret(0x3FE8E00039671566), reinterpret(0xBC8A04F3BEC77B45), - reinterpret(0x3FE91FFFE2BF1745), reinterpret(0xBC77FA34400E203C), - reinterpret(0x3FE95FFFCC5C9FD1), reinterpret(0xBC76FF8005A0695D), - reinterpret(0x3FE9A0003BBA4767), reinterpret(0x3C70F8C4C4EC7E03), - reinterpret(0x3FE9DFFFE7B92DA5), reinterpret(0x3C8E7FD9478C4602), - reinterpret(0x3FEA1FFFD72EFDAF), reinterpret(0xBC6A0C554DCDAE7E), - reinterpret(0x3FEA5FFFDE04FF95), reinterpret(0x3C867DA98CE9B26B), - reinterpret(0x3FEA9FFFCA5E8D2B), reinterpret(0xBC8284C9B54C13DE), - reinterpret(0x3FEADFFFDDAD03EA), reinterpret(0x3C5812C8EA602E3C), - reinterpret(0x3FEB1FFFF10D3D4D), reinterpret(0xBC8EFADDAD27789C), - reinterpret(0x3FEB5FFFCE21165A), reinterpret(0x3C53CB1719C61237), - reinterpret(0x3FEB9FFFD950E674), reinterpret(0x3C73F7D94194CE00), - reinterpret(0x3FEBE000139CA8AF), reinterpret(0x3C750AC4215D9BC0), - reinterpret(0x3FEC20005B46DF99), reinterpret(0x3C6BEEA653E9C1C9), - reinterpret(0x3FEC600040B9F7AE), reinterpret(0xBC7C079F274A70D6), - reinterpret(0x3FECA0006255FD8A), reinterpret(0xBC7A0B4076E84C1F), - reinterpret(0x3FECDFFFD94C095D), reinterpret(0x3C88F933F99AB5D7), - reinterpret(0x3FED1FFFF975D6CF), reinterpret(0xBC582C08665FE1BE), - reinterpret(0x3FED5FFFA2561C93), reinterpret(0xBC7B04289BD295F3), - reinterpret(0x3FED9FFF9D228B0C), reinterpret(0x3C870251340FA236), - reinterpret(0x3FEDE00065BC7E16), reinterpret(0xBC75011E16A4D80C), - reinterpret(0x3FEE200002F64791), reinterpret(0x3C89802F09EF62E0), - reinterpret(0x3FEE600057D7A6D8), reinterpret(0xBC7E0B75580CF7FA), - reinterpret(0x3FEEA00027EDC00C), reinterpret(0xBC8C848309459811), - reinterpret(0x3FEEE0006CF5CB7C), reinterpret(0xBC8F8027951576F4), - reinterpret(0x3FEF2000782B7DCC), reinterpret(0xBC8F81D97274538F), - reinterpret(0x3FEF6000260C450A), reinterpret(0xBC4071002727FFDC), - reinterpret(0x3FEF9FFFE88CD533), reinterpret(0xBC581BDCE1FDA8B0), - reinterpret(0x3FEFDFFFD50F8689), reinterpret(0x3C87F91ACB918E6E), - reinterpret(0x3FF0200004292367), reinterpret(0x3C9B7FF365324681), - reinterpret(0x3FF05FFFE3E3D668), reinterpret(0x3C86FA08DDAE957B), - reinterpret(0x3FF0A0000A85A757), reinterpret(0xBC57E2DE80D3FB91), - reinterpret(0x3FF0E0001A5F3FCC), reinterpret(0xBC91823305C5F014), - reinterpret(0x3FF11FFFF8AFBAF5), reinterpret(0xBC8BFABB6680BAC2), - reinterpret(0x3FF15FFFE54D91AD), reinterpret(0xBC9D7F121737E7EF), - reinterpret(0x3FF1A00011AC36E1), reinterpret(0x3C9C000A0516F5FF), - reinterpret(0x3FF1E00019C84248), reinterpret(0xBC9082FBE4DA5DA0), - reinterpret(0x3FF220000FFE5E6E), reinterpret(0xBC88FDD04C9CFB43), - reinterpret(0x3FF26000269FD891), reinterpret(0x3C8CFE2A7994D182), - reinterpret(0x3FF2A00029A6E6DA), reinterpret(0xBC700273715E8BC5), - reinterpret(0x3FF2DFFFE0293E39), reinterpret(0x3C9B7C39DAB2A6F9), - reinterpret(0x3FF31FFFF7DCF082), reinterpret(0x3C7DF1336EDC5254), - reinterpret(0x3FF35FFFF05A8B60), reinterpret(0xBC9E03564CCD31EB), - reinterpret(0x3FF3A0002E0EAECC), reinterpret(0x3C75F0E74BD3A477), - reinterpret(0x3FF3E000043BB236), reinterpret(0x3C9C7DCB149D8833), - reinterpret(0x3FF4200002D187FF), reinterpret(0x3C7E08AFCF2D3D28), - reinterpret(0x3FF460000D387CB1), reinterpret(0x3C820837856599A6), - reinterpret(0x3FF4A00004569F89), reinterpret(0xBC89FA5C904FBCD2), - reinterpret(0x3FF4E000043543F3), reinterpret(0xBC781125ED175329), - reinterpret(0x3FF51FFFCC027F0F), reinterpret(0x3C9883D8847754DC), - reinterpret(0x3FF55FFFFD87B36F), reinterpret(0xBC8709E731D02807), - reinterpret(0x3FF59FFFF21DF7BA), reinterpret(0x3C87F79F68727B02), - reinterpret(0x3FF5DFFFEBFC3481), reinterpret(0xBC9180902E30E93E) -]); - // @ts-ignore: decorator @inline -export function log2_lut(x: f64): f64 { - const N_MASK = (1 << LOG2_TABLE_BITS) - 1; +export function log2_64_lut(x: f64): f64 { + const N_MASK = (1 << LOG2_TABLE64_BITS) - 1; const LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5) @@ -1038,12 +2839,12 @@ export function log2_lut(x: f64): f64 { // The range is split into N subintervals. // The ith subinterval contains z and c is near its center. var tmp = ix - 0x3FE6000000000000; - var i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK); + var i = ((tmp >> (52 - LOG2_TABLE64_BITS)) & N_MASK); var k = tmp >> 52; var iz = ix - (tmp & 0xFFF0000000000000); - var invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - var logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + var invc = load(LOG2_TABLE1_64 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + var logc = load(LOG2_TABLE1_64 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; var z = reinterpret(iz); var kd = k; @@ -1056,334 +2857,34 @@ export function log2_lut(x: f64): f64 { // t2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1); // #else // rounding error: 0x1p-55/N + 0x1p-65. - var chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; - var clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; - - var r = (z - chi - clo) * invc; - var rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); - var rlo = r - rhi; - var t1 = rhi * InvLn2hi; - var t2 = rlo * InvLn2hi + r * InvLn2lo; - // #endif - - // hi + lo = r/ln2 + log2(c) + k - var t3 = kd + logc; - var hi = t3 + t1; - var lo = t3 - hi + t1 + t2; - - // log2(r+1) = r/ln2 + r^2*poly(r) - // Evaluation is optimized assuming superscalar pipelined execution - var r2 = r * r; // rounding error: 0x1p-54/N^2 - // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). - // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). - var p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5); - return lo + r2 * p + hi; -} - -// -// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c -// - -// @ts-ignore: decorator -@inline const LOG_TABLE_BITS = 7; - -/* Algorithm: - - x = 2^k z - log(x) = k ln2 + log(c) + log(z/c) - log(z/c) = poly(z/c - 1) - -where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls -into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = (double)log(c) - tab2[i].chi = (double)c - tab2[i].clo = (double)(c - (double)c) - -where c is near the center of the subinterval and is chosen by trying +-2^29 -floating point invc candidates around 1/center and selecting one for which - - 1) the rounding error in 0x1.8p9 + logc is 0, - 2) the rounding error in z - chi - clo is < 0x1p-66 and - 3) the rounding error in (double)log(c) is minimized (< 0x1p-66). - -Note: 1) ensures that k*ln2hi + logc can be computed without rounding error, -2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to -a single rounding error when there is no fast fma for z*invc - 1, 3) ensures -that logc + poly(z/c - 1) has small error, however near x == 1 when -|log(x)| < 0x1p-4, this is not enough so that is special cased.*/ + var chi = load(LOG2_TABLE2_64 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; + var clo = load(LOG2_TABLE2_64 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; -// @ts-ignore: decorator -@lazy @inline const LOG_DATA_TAB1 = memory.data([ - // invc , logc - reinterpret(0x3FF734F0C3E0DE9F), reinterpret(0xBFD7CC7F79E69000), - reinterpret(0x3FF713786A2CE91F), reinterpret(0xBFD76FEEC20D0000), - reinterpret(0x3FF6F26008FAB5A0), reinterpret(0xBFD713E31351E000), - reinterpret(0x3FF6D1A61F138C7D), reinterpret(0xBFD6B85B38287800), - reinterpret(0x3FF6B1490BC5B4D1), reinterpret(0xBFD65D5590807800), - reinterpret(0x3FF69147332F0CBA), reinterpret(0xBFD602D076180000), - reinterpret(0x3FF6719F18224223), reinterpret(0xBFD5A8CA86909000), - reinterpret(0x3FF6524F99A51ED9), reinterpret(0xBFD54F4356035000), - reinterpret(0x3FF63356AA8F24C4), reinterpret(0xBFD4F637C36B4000), - reinterpret(0x3FF614B36B9DDC14), reinterpret(0xBFD49DA7FDA85000), - reinterpret(0x3FF5F66452C65C4C), reinterpret(0xBFD445923989A800), - reinterpret(0x3FF5D867B5912C4F), reinterpret(0xBFD3EDF439B0B800), - reinterpret(0x3FF5BABCCB5B90DE), reinterpret(0xBFD396CE448F7000), - reinterpret(0x3FF59D61F2D91A78), reinterpret(0xBFD3401E17BDA000), - reinterpret(0x3FF5805612465687), reinterpret(0xBFD2E9E2EF468000), - reinterpret(0x3FF56397CEE76BD3), reinterpret(0xBFD2941B3830E000), - reinterpret(0x3FF54725E2A77F93), reinterpret(0xBFD23EC58CDA8800), - reinterpret(0x3FF52AFF42064583), reinterpret(0xBFD1E9E129279000), - reinterpret(0x3FF50F22DBB2BDDF), reinterpret(0xBFD1956D2B48F800), - reinterpret(0x3FF4F38F4734DED7), reinterpret(0xBFD141679AB9F800), - reinterpret(0x3FF4D843CFDE2840), reinterpret(0xBFD0EDD094EF9800), - reinterpret(0x3FF4BD3EC078A3C8), reinterpret(0xBFD09AA518DB1000), - reinterpret(0x3FF4A27FC3E0258A), reinterpret(0xBFD047E65263B800), - reinterpret(0x3FF4880524D48434), reinterpret(0xBFCFEB224586F000), - reinterpret(0x3FF46DCE1B192D0B), reinterpret(0xBFCF474A7517B000), - reinterpret(0x3FF453D9D3391854), reinterpret(0xBFCEA4443D103000), - reinterpret(0x3FF43A2744B4845A), reinterpret(0xBFCE020D44E9B000), - reinterpret(0x3FF420B54115F8FB), reinterpret(0xBFCD60A22977F000), - reinterpret(0x3FF40782DA3EF4B1), reinterpret(0xBFCCC00104959000), - reinterpret(0x3FF3EE8F5D57FE8F), reinterpret(0xBFCC202956891000), - reinterpret(0x3FF3D5D9A00B4CE9), reinterpret(0xBFCB81178D811000), - reinterpret(0x3FF3BD60C010C12B), reinterpret(0xBFCAE2C9CCD3D000), - reinterpret(0x3FF3A5242B75DAB8), reinterpret(0xBFCA45402E129000), - reinterpret(0x3FF38D22CD9FD002), reinterpret(0xBFC9A877681DF000), - reinterpret(0x3FF3755BC5847A1C), reinterpret(0xBFC90C6D69483000), - reinterpret(0x3FF35DCE49AD36E2), reinterpret(0xBFC87120A645C000), - reinterpret(0x3FF34679984DD440), reinterpret(0xBFC7D68FB4143000), - reinterpret(0x3FF32F5CCEFFCB24), reinterpret(0xBFC73CB83C627000), - reinterpret(0x3FF3187775A10D49), reinterpret(0xBFC6A39A9B376000), - reinterpret(0x3FF301C8373E3990), reinterpret(0xBFC60B3154B7A000), - reinterpret(0x3FF2EB4EBB95F841), reinterpret(0xBFC5737D76243000), - reinterpret(0x3FF2D50A0219A9D1), reinterpret(0xBFC4DC7B8FC23000), - reinterpret(0x3FF2BEF9A8B7FD2A), reinterpret(0xBFC4462C51D20000), - reinterpret(0x3FF2A91C7A0C1BAB), reinterpret(0xBFC3B08ABC830000), - reinterpret(0x3FF293726014B530), reinterpret(0xBFC31B996B490000), - reinterpret(0x3FF27DFA5757A1F5), reinterpret(0xBFC2875490A44000), - reinterpret(0x3FF268B39B1D3BBF), reinterpret(0xBFC1F3B9F879A000), - reinterpret(0x3FF2539D838FF5BD), reinterpret(0xBFC160C8252CA000), - reinterpret(0x3FF23EB7AAC9083B), reinterpret(0xBFC0CE7F57F72000), - reinterpret(0x3FF22A012BA940B6), reinterpret(0xBFC03CDC49FEA000), - reinterpret(0x3FF2157996CC4132), reinterpret(0xBFBF57BDBC4B8000), - reinterpret(0x3FF201201DD2FC9B), reinterpret(0xBFBE370896404000), - reinterpret(0x3FF1ECF4494D480B), reinterpret(0xBFBD17983EF94000), - reinterpret(0x3FF1D8F5528F6569), reinterpret(0xBFBBF9674ED8A000), - reinterpret(0x3FF1C52311577E7C), reinterpret(0xBFBADC79202F6000), - reinterpret(0x3FF1B17C74CB26E9), reinterpret(0xBFB9C0C3E7288000), - reinterpret(0x3FF19E010C2C1AB6), reinterpret(0xBFB8A646B372C000), - reinterpret(0x3FF18AB07BB670BD), reinterpret(0xBFB78D01B3AC0000), - reinterpret(0x3FF1778A25EFBCB6), reinterpret(0xBFB674F145380000), - reinterpret(0x3FF1648D354C31DA), reinterpret(0xBFB55E0E6D878000), - reinterpret(0x3FF151B990275FDD), reinterpret(0xBFB4485CDEA1E000), - reinterpret(0x3FF13F0EA432D24C), reinterpret(0xBFB333D94D6AA000), - reinterpret(0x3FF12C8B7210F9DA), reinterpret(0xBFB22079F8C56000), - reinterpret(0x3FF11A3028ECB531), reinterpret(0xBFB10E4698622000), - reinterpret(0x3FF107FBDA8434AF), reinterpret(0xBFAFFA6C6AD20000), - reinterpret(0x3FF0F5EE0F4E6BB3), reinterpret(0xBFADDA8D4A774000), - reinterpret(0x3FF0E4065D2A9FCE), reinterpret(0xBFABBCECE4850000), - reinterpret(0x3FF0D244632CA521), reinterpret(0xBFA9A1894012C000), - reinterpret(0x3FF0C0A77CE2981A), reinterpret(0xBFA788583302C000), - reinterpret(0x3FF0AF2F83C636D1), reinterpret(0xBFA5715E67D68000), - reinterpret(0x3FF09DDB98A01339), reinterpret(0xBFA35C8A49658000), - reinterpret(0x3FF08CABAF52E7DF), reinterpret(0xBFA149E364154000), - reinterpret(0x3FF07B9F2F4E28FB), reinterpret(0xBF9E72C082EB8000), - reinterpret(0x3FF06AB58C358F19), reinterpret(0xBF9A55F152528000), - reinterpret(0x3FF059EEA5ECF92C), reinterpret(0xBF963D62CF818000), - reinterpret(0x3FF04949CDD12C90), reinterpret(0xBF9228FB8CAA0000), - reinterpret(0x3FF038C6C6F0ADA9), reinterpret(0xBF8C317B20F90000), - reinterpret(0x3FF02865137932A9), reinterpret(0xBF8419355DAA0000), - reinterpret(0x3FF0182427EA7348), reinterpret(0xBF781203C2EC0000), - reinterpret(0x3FF008040614B195), reinterpret(0xBF60040979240000), - reinterpret(0x3FEFE01FF726FA1A), reinterpret(0x3F6FEFF384900000), - reinterpret(0x3FEFA11CC261EA74), reinterpret(0x3F87DC41353D0000), - reinterpret(0x3FEF6310B081992E), reinterpret(0x3F93CEA3C4C28000), - reinterpret(0x3FEF25F63CEEADCD), reinterpret(0x3F9B9FC114890000), - reinterpret(0x3FEEE9C8039113E7), reinterpret(0x3FA1B0D8CE110000), - reinterpret(0x3FEEAE8078CBB1AB), reinterpret(0x3FA58A5BD001C000), - reinterpret(0x3FEE741AA29D0C9B), reinterpret(0x3FA95C8340D88000), - reinterpret(0x3FEE3A91830A99B5), reinterpret(0x3FAD276AEF578000), - reinterpret(0x3FEE01E009609A56), reinterpret(0x3FB07598E598C000), - reinterpret(0x3FEDCA01E577BB98), reinterpret(0x3FB253F5E30D2000), - reinterpret(0x3FED92F20B7C9103), reinterpret(0x3FB42EDD8B380000), - reinterpret(0x3FED5CAC66FB5CCE), reinterpret(0x3FB606598757C000), - reinterpret(0x3FED272CAA5EDE9D), reinterpret(0x3FB7DA76356A0000), - reinterpret(0x3FECF26E3E6B2CCD), reinterpret(0x3FB9AB434E1C6000), - reinterpret(0x3FECBE6DA2A77902), reinterpret(0x3FBB78C7BB0D6000), - reinterpret(0x3FEC8B266D37086D), reinterpret(0x3FBD431332E72000), - reinterpret(0x3FEC5894BD5D5804), reinterpret(0x3FBF0A3171DE6000), - reinterpret(0x3FEC26B533BB9F8C), reinterpret(0x3FC067152B914000), - reinterpret(0x3FEBF583EEECE73F), reinterpret(0x3FC147858292B000), - reinterpret(0x3FEBC4FD75DB96C1), reinterpret(0x3FC2266ECDCA3000), - reinterpret(0x3FEB951E0C864A28), reinterpret(0x3FC303D7A6C55000), - reinterpret(0x3FEB65E2C5EF3E2C), reinterpret(0x3FC3DFC33C331000), - reinterpret(0x3FEB374867C9888B), reinterpret(0x3FC4BA366B7A8000), - reinterpret(0x3FEB094B211D304A), reinterpret(0x3FC5933928D1F000), - reinterpret(0x3FEADBE885F2EF7E), reinterpret(0x3FC66ACD2418F000), - reinterpret(0x3FEAAF1D31603DA2), reinterpret(0x3FC740F8EC669000), - reinterpret(0x3FEA82E63FD358A7), reinterpret(0x3FC815C0F51AF000), - reinterpret(0x3FEA5740EF09738B), reinterpret(0x3FC8E92954F68000), - reinterpret(0x3FEA2C2A90AB4B27), reinterpret(0x3FC9BB3602F84000), - reinterpret(0x3FEA01A01393F2D1), reinterpret(0x3FCA8BED1C2C0000), - reinterpret(0x3FE9D79F24DB3C1B), reinterpret(0x3FCB5B515C01D000), - reinterpret(0x3FE9AE2505C7B190), reinterpret(0x3FCC2967CCBCC000), - reinterpret(0x3FE9852EF297CE2F), reinterpret(0x3FCCF635D5486000), - reinterpret(0x3FE95CBAEEA44B75), reinterpret(0x3FCDC1BD3446C000), - reinterpret(0x3FE934C69DE74838), reinterpret(0x3FCE8C01B8CFE000), - reinterpret(0x3FE90D4F2F6752E6), reinterpret(0x3FCF5509C0179000), - reinterpret(0x3FE8E6528EFFD79D), reinterpret(0x3FD00E6C121FB800), - reinterpret(0x3FE8BFCE9FCC007C), reinterpret(0x3FD071B80E93D000), - reinterpret(0x3FE899C0DABEC30E), reinterpret(0x3FD0D46B9E867000), - reinterpret(0x3FE87427AA2317FB), reinterpret(0x3FD13687334BD000), - reinterpret(0x3FE84F00ACB39A08), reinterpret(0x3FD1980D67234800), - reinterpret(0x3FE82A49E8653E55), reinterpret(0x3FD1F8FFE0CC8000), - reinterpret(0x3FE8060195F40260), reinterpret(0x3FD2595FD7636800), - reinterpret(0x3FE7E22563E0A329), reinterpret(0x3FD2B9300914A800), - reinterpret(0x3FE7BEB377DCB5AD), reinterpret(0x3FD3187210436000), - reinterpret(0x3FE79BAA679725C2), reinterpret(0x3FD377266DEC1800), - reinterpret(0x3FE77907F2170657), reinterpret(0x3FD3D54FFBAF3000), - reinterpret(0x3FE756CADBD6130C), reinterpret(0x3FD432EEE32FE000) -]); + var r = (z - chi - clo) * invc; + var rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); + var rlo = r - rhi; + var t1 = rhi * InvLn2hi; + var t2 = rlo * InvLn2hi + r * InvLn2lo; + // #endif -// @ts-ignore: decorator -@lazy @inline const LOG_DATA_TAB2 = memory.data([ - // chi , clo - reinterpret(0x3FE61000014FB66B), reinterpret(0x3C7E026C91425B3C), - reinterpret(0x3FE63000034DB495), reinterpret(0x3C8DBFEA48005D41), - reinterpret(0x3FE650000D94D478), reinterpret(0x3C8E7FA786D6A5B7), - reinterpret(0x3FE67000074E6FAD), reinterpret(0x3C61FCEA6B54254C), - reinterpret(0x3FE68FFFFEDF0FAE), reinterpret(0xBC7C7E274C590EFD), - reinterpret(0x3FE6B0000763C5BC), reinterpret(0xBC8AC16848DCDA01), - reinterpret(0x3FE6D0001E5CC1F6), reinterpret(0x3C833F1C9D499311), - reinterpret(0x3FE6EFFFEB05F63E), reinterpret(0xBC7E80041AE22D53), - reinterpret(0x3FE710000E869780), reinterpret(0x3C7BFF6671097952), - reinterpret(0x3FE72FFFFC67E912), reinterpret(0x3C8C00E226BD8724), - reinterpret(0x3FE74FFFDF81116A), reinterpret(0xBC6E02916EF101D2), - reinterpret(0x3FE770000F679C90), reinterpret(0xBC67FC71CD549C74), - reinterpret(0x3FE78FFFFA7EC835), reinterpret(0x3C81BEC19EF50483), - reinterpret(0x3FE7AFFFFE20C2E6), reinterpret(0xBC707E1729CC6465), - reinterpret(0x3FE7CFFFED3FC900), reinterpret(0xBC808072087B8B1C), - reinterpret(0x3FE7EFFFE9261A76), reinterpret(0x3C8DC0286D9DF9AE), - reinterpret(0x3FE81000049CA3E8), reinterpret(0x3C897FD251E54C33), - reinterpret(0x3FE8300017932C8F), reinterpret(0xBC8AFEE9B630F381), - reinterpret(0x3FE850000633739C), reinterpret(0x3C89BFBF6B6535BC), - reinterpret(0x3FE87000204289C6), reinterpret(0xBC8BBF65F3117B75), - reinterpret(0x3FE88FFFEBF57904), reinterpret(0xBC89006EA23DCB57), - reinterpret(0x3FE8B00022BC04DF), reinterpret(0xBC7D00DF38E04B0A), - reinterpret(0x3FE8CFFFE50C1B8A), reinterpret(0xBC88007146FF9F05), - reinterpret(0x3FE8EFFFFC918E43), reinterpret(0x3C83817BD07A7038), - reinterpret(0x3FE910001EFA5FC7), reinterpret(0x3C893E9176DFB403), - reinterpret(0x3FE9300013467BB9), reinterpret(0x3C7F804E4B980276), - reinterpret(0x3FE94FFFE6EE076F), reinterpret(0xBC8F7EF0D9FF622E), - reinterpret(0x3FE96FFFDE3C12D1), reinterpret(0xBC7082AA962638BA), - reinterpret(0x3FE98FFFF4458A0D), reinterpret(0xBC87801B9164A8EF), - reinterpret(0x3FE9AFFFDD982E3E), reinterpret(0xBC8740E08A5A9337), - reinterpret(0x3FE9CFFFED49FB66), reinterpret(0x3C3FCE08C19BE000), - reinterpret(0x3FE9F00020F19C51), reinterpret(0xBC8A3FAA27885B0A), - reinterpret(0x3FEA10001145B006), reinterpret(0x3C74FF489958DA56), - reinterpret(0x3FEA300007BBF6FA), reinterpret(0x3C8CBEAB8A2B6D18), - reinterpret(0x3FEA500010971D79), reinterpret(0x3C88FECADD787930), - reinterpret(0x3FEA70001DF52E48), reinterpret(0xBC8F41763DD8ABDB), - reinterpret(0x3FEA90001C593352), reinterpret(0xBC8EBF0284C27612), - reinterpret(0x3FEAB0002A4F3E4B), reinterpret(0xBC69FD043CFF3F5F), - reinterpret(0x3FEACFFFD7AE1ED1), reinterpret(0xBC823EE7129070B4), - reinterpret(0x3FEAEFFFEE510478), reinterpret(0x3C6A063EE00EDEA3), - reinterpret(0x3FEB0FFFDB650D5B), reinterpret(0x3C5A06C8381F0AB9), - reinterpret(0x3FEB2FFFFEAACA57), reinterpret(0xBC79011E74233C1D), - reinterpret(0x3FEB4FFFD995BADC), reinterpret(0xBC79FF1068862A9F), - reinterpret(0x3FEB7000249E659C), reinterpret(0x3C8AFF45D0864F3E), - reinterpret(0x3FEB8FFFF9871640), reinterpret(0x3C7CFE7796C2C3F9), - reinterpret(0x3FEBAFFFD204CB4F), reinterpret(0xBC63FF27EEF22BC4), - reinterpret(0x3FEBCFFFD2415C45), reinterpret(0xBC6CFFB7EE3BEA21), - reinterpret(0x3FEBEFFFF86309DF), reinterpret(0xBC814103972E0B5C), - reinterpret(0x3FEC0FFFE1B57653), reinterpret(0x3C8BC16494B76A19), - reinterpret(0x3FEC2FFFF1FA57E3), reinterpret(0xBC64FEEF8D30C6ED), - reinterpret(0x3FEC4FFFDCBFE424), reinterpret(0xBC843F68BCEC4775), - reinterpret(0x3FEC6FFFED54B9F7), reinterpret(0x3C847EA3F053E0EC), - reinterpret(0x3FEC8FFFEB998FD5), reinterpret(0x3C7383068DF992F1), - reinterpret(0x3FECB0002125219A), reinterpret(0xBC68FD8E64180E04), - reinterpret(0x3FECCFFFDD94469C), reinterpret(0x3C8E7EBE1CC7EA72), - reinterpret(0x3FECEFFFEAFDC476), reinterpret(0x3C8EBE39AD9F88FE), - reinterpret(0x3FED1000169AF82B), reinterpret(0x3C757D91A8B95A71), - reinterpret(0x3FED30000D0FF71D), reinterpret(0x3C89C1906970C7DA), - reinterpret(0x3FED4FFFEA790FC4), reinterpret(0xBC580E37C558FE0C), - reinterpret(0x3FED70002EDC87E5), reinterpret(0xBC7F80D64DC10F44), - reinterpret(0x3FED900021DC82AA), reinterpret(0xBC747C8F94FD5C5C), - reinterpret(0x3FEDAFFFD86B0283), reinterpret(0x3C8C7F1DC521617E), - reinterpret(0x3FEDD000296C4739), reinterpret(0x3C88019EB2FFB153), - reinterpret(0x3FEDEFFFE54490F5), reinterpret(0x3C6E00D2C652CC89), - reinterpret(0x3FEE0FFFCDABF694), reinterpret(0xBC7F8340202D69D2), - reinterpret(0x3FEE2FFFDB52C8DD), reinterpret(0x3C7B00C1CA1B0864), - reinterpret(0x3FEE4FFFF24216EF), reinterpret(0x3C72FFA8B094AB51), - reinterpret(0x3FEE6FFFE88A5E11), reinterpret(0xBC57F673B1EFBE59), - reinterpret(0x3FEE9000119EFF0D), reinterpret(0xBC84808D5E0BC801), - reinterpret(0x3FEEAFFFDFA51744), reinterpret(0x3C780006D54320B5), - reinterpret(0x3FEED0001A127FA1), reinterpret(0xBC5002F860565C92), - reinterpret(0x3FEEF00007BABCC4), reinterpret(0xBC8540445D35E611), - reinterpret(0x3FEF0FFFF57A8D02), reinterpret(0xBC4FFB3139EF9105), - reinterpret(0x3FEF30001EE58AC7), reinterpret(0x3C8A81ACF2731155), - reinterpret(0x3FEF4FFFF5823494), reinterpret(0x3C8A3F41D4D7C743), - reinterpret(0x3FEF6FFFFCA94C6B), reinterpret(0xBC6202F41C987875), - reinterpret(0x3FEF8FFFE1F9C441), reinterpret(0x3C777DD1F477E74B), - reinterpret(0x3FEFAFFFD2E0E37E), reinterpret(0xBC6F01199A7CA331), - reinterpret(0x3FEFD0001C77E49E), reinterpret(0x3C7181EE4BCEACB1), - reinterpret(0x3FEFEFFFF7E0C331), reinterpret(0xBC6E05370170875A), - reinterpret(0x3FF00FFFF465606E), reinterpret(0xBC8A7EAD491C0ADA), - reinterpret(0x3FF02FFFF3867A58), reinterpret(0xBC977F69C3FCB2E0), - reinterpret(0x3FF04FFFFDFC0D17), reinterpret(0x3C97BFFE34CB945B), - reinterpret(0x3FF0700003CD4D82), reinterpret(0x3C820083C0E456CB), - reinterpret(0x3FF08FFFF9F2CBE8), reinterpret(0xBC6DFFDFBE37751A), - reinterpret(0x3FF0B000010CDA65), reinterpret(0xBC913F7FAEE626EB), - reinterpret(0x3FF0D00001A4D338), reinterpret(0x3C807DFA79489FF7), - reinterpret(0x3FF0EFFFFADAFDFD), reinterpret(0xBC77040570D66BC0), - reinterpret(0x3FF110000BBAFD96), reinterpret(0x3C8E80D4846D0B62), - reinterpret(0x3FF12FFFFAE5F45D), reinterpret(0x3C9DBFFA64FD36EF), - reinterpret(0x3FF150000DD59AD9), reinterpret(0x3C9A0077701250AE), - reinterpret(0x3FF170000F21559A), reinterpret(0x3C8DFDF9E2E3DEEE), - reinterpret(0x3FF18FFFFC275426), reinterpret(0x3C910030DC3B7273), - reinterpret(0x3FF1B000123D3C59), reinterpret(0x3C997F7980030188), - reinterpret(0x3FF1CFFFF8299EB7), reinterpret(0xBC65F932AB9F8C67), - reinterpret(0x3FF1EFFFF48AD400), reinterpret(0x3C937FBF9DA75BEB), - reinterpret(0x3FF210000C8B86A4), reinterpret(0x3C9F806B91FD5B22), - reinterpret(0x3FF2300003854303), reinterpret(0x3C93FFC2EB9FBF33), - reinterpret(0x3FF24FFFFFBCF684), reinterpret(0x3C7601E77E2E2E72), - reinterpret(0x3FF26FFFF52921D9), reinterpret(0x3C7FFCBB767F0C61), - reinterpret(0x3FF2900014933A3C), reinterpret(0xBC7202CA3C02412B), - reinterpret(0x3FF2B00014556313), reinterpret(0xBC92808233F21F02), - reinterpret(0x3FF2CFFFEBFE523B), reinterpret(0xBC88FF7E384FDCF2), - reinterpret(0x3FF2F0000BB8AD96), reinterpret(0xBC85FF51503041C5), - reinterpret(0x3FF30FFFFB7AE2AF), reinterpret(0xBC810071885E289D), - reinterpret(0x3FF32FFFFEAC5F7F), reinterpret(0xBC91FF5D3FB7B715), - reinterpret(0x3FF350000CA66756), reinterpret(0x3C957F82228B82BD), - reinterpret(0x3FF3700011FBF721), reinterpret(0x3C8000BAC40DD5CC), - reinterpret(0x3FF38FFFF9592FB9), reinterpret(0xBC943F9D2DB2A751), - reinterpret(0x3FF3B00004DDD242), reinterpret(0x3C857F6B707638E1), - reinterpret(0x3FF3CFFFF5B2C957), reinterpret(0x3C7A023A10BF1231), - reinterpret(0x3FF3EFFFEAB0B418), reinterpret(0x3C987F6D66B152B0), - reinterpret(0x3FF410001532AFF4), reinterpret(0x3C67F8375F198524), - reinterpret(0x3FF4300017478B29), reinterpret(0x3C8301E672DC5143), - reinterpret(0x3FF44FFFE795B463), reinterpret(0x3C89FF69B8B2895A), - reinterpret(0x3FF46FFFE80475E0), reinterpret(0xBC95C0B19BC2F254), - reinterpret(0x3FF48FFFEF6FC1E7), reinterpret(0x3C9B4009F23A2A72), - reinterpret(0x3FF4AFFFE5BEA704), reinterpret(0xBC94FFB7BF0D7D45), - reinterpret(0x3FF4D000171027DE), reinterpret(0xBC99C06471DC6A3D), - reinterpret(0x3FF4F0000FF03EE2), reinterpret(0x3C977F890B85531C), - reinterpret(0x3FF5100012DC4BD1), reinterpret(0x3C6004657166A436), - reinterpret(0x3FF530001605277A), reinterpret(0xBC96BFCECE233209), - reinterpret(0x3FF54FFFECDB704C), reinterpret(0xBC8902720505A1D7), - reinterpret(0x3FF56FFFEF5F54A9), reinterpret(0x3C9BBFE60EC96412), - reinterpret(0x3FF5900017E61012), reinterpret(0x3C887EC581AFEF90), - reinterpret(0x3FF5B00003C93E92), reinterpret(0xBC9F41080ABF0CC0), - reinterpret(0x3FF5D0001D4919BC), reinterpret(0xBC98812AFB254729), - reinterpret(0x3FF5EFFFE7B87A89), reinterpret(0xBC947EB780ED6904) -]); + // hi + lo = r/ln2 + log2(c) + k + var t3 = kd + logc; + var hi = t3 + t1; + var lo = t3 - hi + t1 + t2; + + // log2(r+1) = r/ln2 + r^2*poly(r) + // Evaluation is optimized assuming superscalar pipelined execution + var r2 = r * r; // rounding error: 0x1p-54/N^2 + // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). + // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). + var p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5); + return lo + r2 * p + hi; +} // @ts-ignore: decorator @inline -export function log_lut(x: f64): f64 { - const N_MASK = (1 << LOG_TABLE_BITS) - 1; +export function log64_lut(x: f64): f64 { + const N_MASK = (1 << LOG_TABLE64_BITS) - 1; const B0 = reinterpret(0xBFE0000000000000), // -0x1p-1 @@ -1449,12 +2950,12 @@ export function log_lut(x: f64): f64 { // The range is split into N subintervals. // The ith subinterval contains z and c is near its center. var tmp = ix - 0x3FE6000000000000; - var i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK); + var i = ((tmp >> (52 - LOG_TABLE64_BITS)) & N_MASK); var k = tmp >> 52; var iz = ix - (tmp & (u64(0xFFF) << 52)); - var invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - var logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + var invc = load(LOG_TABLE1_64 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + var logc = load(LOG_TABLE1_64 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; var z = reinterpret(iz); // log(x) = log1p(z/c-1) + log(c) + k*Ln2. @@ -1464,8 +2965,8 @@ export function log_lut(x: f64): f64 { // r = __builtin_fma(z, invc, -1.0); // #else // rounding error: 0x1p-55/N + 0x1p-66 - const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi - const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo + const chi = load(LOG_TABLE2_64 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi + const clo = load(LOG_TABLE2_64 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo var r = (z - chi - clo) * invc; // #endif var kd = k; @@ -1484,174 +2985,11 @@ export function log_lut(x: f64): f64 { return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi; } -// -// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c -// - -// @ts-ignore: decorator -@inline const POW_LOG_TABLE_BITS = 7; - -/* Algorithm: - - x = 2^k z - log(x) = k ln2 + log(c) + log(z/c) - log(z/c) = poly(z/c - 1) - -where z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals -and z falls into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = round(0x1p43*log(c))/0x1p43 - tab[i].logctail = (double)(log(c) - logc) - -where c is chosen near the center of the subinterval such that 1/c has only a -few precision bits so z/c - 1 is exactly representible as double: - - 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2 - -Note: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97, -the last few bits of logc are rounded away so k*ln2hi + logc has no rounding -error and the interval for z is selected such that near x == 1, where log(x) -is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ - -// @ts-ignore: decorator -@lazy @inline const POW_LOG_DATA_TAB = memory.data([ - // invc ,pad, logc , logctail - reinterpret(0x3FF6A00000000000), 0, reinterpret(0xBFD62C82F2B9C800), reinterpret(0x3CFAB42428375680), - reinterpret(0x3FF6800000000000), 0, reinterpret(0xBFD5D1BDBF580800), reinterpret(0xBD1CA508D8E0F720), - reinterpret(0x3FF6600000000000), 0, reinterpret(0xBFD5767717455800), reinterpret(0xBD2362A4D5B6506D), - reinterpret(0x3FF6400000000000), 0, reinterpret(0xBFD51AAD872DF800), reinterpret(0xBCE684E49EB067D5), - reinterpret(0x3FF6200000000000), 0, reinterpret(0xBFD4BE5F95777800), reinterpret(0xBD041B6993293EE0), - reinterpret(0x3FF6000000000000), 0, reinterpret(0xBFD4618BC21C6000), reinterpret(0x3D13D82F484C84CC), - reinterpret(0x3FF5E00000000000), 0, reinterpret(0xBFD404308686A800), reinterpret(0x3CDC42F3ED820B3A), - reinterpret(0x3FF5C00000000000), 0, reinterpret(0xBFD3A64C55694800), reinterpret(0x3D20B1C686519460), - reinterpret(0x3FF5A00000000000), 0, reinterpret(0xBFD347DD9A988000), reinterpret(0x3D25594DD4C58092), - reinterpret(0x3FF5800000000000), 0, reinterpret(0xBFD2E8E2BAE12000), reinterpret(0x3D267B1E99B72BD8), - reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F), - reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F), - reinterpret(0x3FF5400000000000), 0, reinterpret(0xBFD22941FBCF7800), reinterpret(0xBD165A242853DA76), - reinterpret(0x3FF5200000000000), 0, reinterpret(0xBFD1C898C1699800), reinterpret(0xBD1FAFBC68E75404), - reinterpret(0x3FF5000000000000), 0, reinterpret(0xBFD1675CABABA800), reinterpret(0x3D1F1FC63382A8F0), - reinterpret(0x3FF4E00000000000), 0, reinterpret(0xBFD1058BF9AE4800), reinterpret(0xBD26A8C4FD055A66), - reinterpret(0x3FF4C00000000000), 0, reinterpret(0xBFD0A324E2739000), reinterpret(0xBD0C6BEE7EF4030E), - reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F), - reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F), - reinterpret(0x3FF4800000000000), 0, reinterpret(0xBFCFB9186D5E4000), reinterpret(0x3D0D572AAB993C87), - reinterpret(0x3FF4600000000000), 0, reinterpret(0xBFCEF0ADCBDC6000), reinterpret(0x3D2B26B79C86AF24), - reinterpret(0x3FF4400000000000), 0, reinterpret(0xBFCE27076E2AF000), reinterpret(0xBD172F4F543FFF10), - reinterpret(0x3FF4200000000000), 0, reinterpret(0xBFCD5C216B4FC000), reinterpret(0x3D21BA91BBCA681B), - reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434), - reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434), - reinterpret(0x3FF3E00000000000), 0, reinterpret(0xBFCBC286742D9000), reinterpret(0x3D194EB0318BB78F), - reinterpret(0x3FF3C00000000000), 0, reinterpret(0xBFCAF3C94E80C000), reinterpret(0x3CBA4E633FCD9066), - reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA), - reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA), - reinterpret(0x3FF3800000000000), 0, reinterpret(0xBFC9525A9CF45000), reinterpret(0xBD2AD1D904C1D4E3), - reinterpret(0x3FF3600000000000), 0, reinterpret(0xBFC87FA06520D000), reinterpret(0x3D2BBDBF7FDBFA09), - reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58), - reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58), - reinterpret(0x3FF3200000000000), 0, reinterpret(0xBFC6D60FE719D000), reinterpret(0xBD10E46AA3B2E266), - reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039), - reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039), - reinterpret(0x3FF2E00000000000), 0, reinterpret(0xBFC526E5E3A1B000), reinterpret(0xBD20DE8B90075B8F), - reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C), - reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C), - reinterpret(0x3FF2A00000000000), 0, reinterpret(0xBFC371FC201E9000), reinterpret(0x3CF178864D27543A), - reinterpret(0x3FF2800000000000), 0, reinterpret(0xBFC29552F81FF000), reinterpret(0xBD248D301771C408), - reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396), - reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396), - reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4), - reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4), - reinterpret(0x3FF2200000000000), 0, reinterpret(0xBFBFEC9131DBE000), reinterpret(0xBD2575545CA333F2), - reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C), - reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C), - reinterpret(0x3FF1E00000000000), 0, reinterpret(0xBFBC5E548F5BC000), reinterpret(0xBD1D0C57585FBE06), - reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8), - reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8), - reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668), - reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668), - reinterpret(0x3FF1800000000000), 0, reinterpret(0xBFB6F0D28AE56000), reinterpret(0xBD269737C93373DA), - reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57), - reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57), - reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF), - reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF), - reinterpret(0x3FF1200000000000), 0, reinterpret(0xBFB16536EEA38000), reinterpret(0x3D147C5E768FA309), - reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91), - reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91), - reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C), - reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C), - reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE), - reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE), - reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA), - reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA), - reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4), - reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4), - reinterpret(0x3FF0600000000000), 0, reinterpret(0xBF97B91B07D58000), reinterpret(0xBD288D5493FAA639), - reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C), - reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C), - reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4), - reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4), - reinterpret(0x3FF0000000000000), 0, 0, 0, - reinterpret(0x3FF0000000000000), 0, 0, 0, - reinterpret(0x3FEFC00000000000), 0, reinterpret(0x3F80101575890000), reinterpret(0xBD10C76B999D2BE8), - reinterpret(0x3FEF800000000000), 0, reinterpret(0x3F90205658938000), reinterpret(0xBD23DC5B06E2F7D2), - reinterpret(0x3FEF400000000000), 0, reinterpret(0x3F98492528C90000), reinterpret(0xBD2AA0BA325A0C34), - reinterpret(0x3FEF000000000000), 0, reinterpret(0x3FA0415D89E74000), reinterpret(0x3D0111C05CF1D753), - reinterpret(0x3FEEC00000000000), 0, reinterpret(0x3FA466AED42E0000), reinterpret(0xBD2C167375BDFD28), - reinterpret(0x3FEE800000000000), 0, reinterpret(0x3FA894AA149FC000), reinterpret(0xBD197995D05A267D), - reinterpret(0x3FEE400000000000), 0, reinterpret(0x3FACCB73CDDDC000), reinterpret(0xBD1A68F247D82807), - reinterpret(0x3FEE200000000000), 0, reinterpret(0x3FAEEA31C006C000), reinterpret(0xBD0E113E4FC93B7B), - reinterpret(0x3FEDE00000000000), 0, reinterpret(0x3FB1973BD1466000), reinterpret(0xBD25325D560D9E9B), - reinterpret(0x3FEDA00000000000), 0, reinterpret(0x3FB3BDF5A7D1E000), reinterpret(0x3D2CC85EA5DB4ED7), - reinterpret(0x3FED600000000000), 0, reinterpret(0x3FB5E95A4D97A000), reinterpret(0xBD2C69063C5D1D1E), - reinterpret(0x3FED400000000000), 0, reinterpret(0x3FB700D30AEAC000), reinterpret(0x3CEC1E8DA99DED32), - reinterpret(0x3FED000000000000), 0, reinterpret(0x3FB9335E5D594000), reinterpret(0x3D23115C3ABD47DA), - reinterpret(0x3FECC00000000000), 0, reinterpret(0x3FBB6AC88DAD6000), reinterpret(0xBD1390802BF768E5), - reinterpret(0x3FECA00000000000), 0, reinterpret(0x3FBC885801BC4000), reinterpret(0x3D2646D1C65AACD3), - reinterpret(0x3FEC600000000000), 0, reinterpret(0x3FBEC739830A2000), reinterpret(0xBD2DC068AFE645E0), - reinterpret(0x3FEC400000000000), 0, reinterpret(0x3FBFE89139DBE000), reinterpret(0xBD2534D64FA10AFD), - reinterpret(0x3FEC000000000000), 0, reinterpret(0x3FC1178E8227E000), reinterpret(0x3D21EF78CE2D07F2), - reinterpret(0x3FEBE00000000000), 0, reinterpret(0x3FC1AA2B7E23F000), reinterpret(0x3D2CA78E44389934), - reinterpret(0x3FEBA00000000000), 0, reinterpret(0x3FC2D1610C868000), reinterpret(0x3D039D6CCB81B4A1), - reinterpret(0x3FEB800000000000), 0, reinterpret(0x3FC365FCB0159000), reinterpret(0x3CC62FA8234B7289), - reinterpret(0x3FEB400000000000), 0, reinterpret(0x3FC4913D8333B000), reinterpret(0x3D25837954FDB678), - reinterpret(0x3FEB200000000000), 0, reinterpret(0x3FC527E5E4A1B000), reinterpret(0x3D2633E8E5697DC7), - reinterpret(0x3FEAE00000000000), 0, reinterpret(0x3FC6574EBE8C1000), reinterpret(0x3D19CF8B2C3C2E78), - reinterpret(0x3FEAC00000000000), 0, reinterpret(0x3FC6F0128B757000), reinterpret(0xBD25118DE59C21E1), - reinterpret(0x3FEAA00000000000), 0, reinterpret(0x3FC7898D85445000), reinterpret(0xBD1C661070914305), - reinterpret(0x3FEA600000000000), 0, reinterpret(0x3FC8BEAFEB390000), reinterpret(0xBD073D54AAE92CD1), - reinterpret(0x3FEA400000000000), 0, reinterpret(0x3FC95A5ADCF70000), reinterpret(0x3D07F22858A0FF6F), - reinterpret(0x3FEA000000000000), 0, reinterpret(0x3FCA93ED3C8AE000), reinterpret(0xBD28724350562169), - reinterpret(0x3FE9E00000000000), 0, reinterpret(0x3FCB31D8575BD000), reinterpret(0xBD0C358D4EACE1AA), - reinterpret(0x3FE9C00000000000), 0, reinterpret(0x3FCBD087383BE000), reinterpret(0xBD2D4BC4595412B6), - reinterpret(0x3FE9A00000000000), 0, reinterpret(0x3FCC6FFBC6F01000), reinterpret(0xBCF1EC72C5962BD2), - reinterpret(0x3FE9600000000000), 0, reinterpret(0x3FCDB13DB0D49000), reinterpret(0xBD2AFF2AF715B035), - reinterpret(0x3FE9400000000000), 0, reinterpret(0x3FCE530EFFE71000), reinterpret(0x3CC212276041F430), - reinterpret(0x3FE9200000000000), 0, reinterpret(0x3FCEF5ADE4DD0000), reinterpret(0xBCCA211565BB8E11), - reinterpret(0x3FE9000000000000), 0, reinterpret(0x3FCF991C6CB3B000), reinterpret(0x3D1BCBECCA0CDF30), - reinterpret(0x3FE8C00000000000), 0, reinterpret(0x3FD07138604D5800), reinterpret(0x3CF89CDB16ED4E91), - reinterpret(0x3FE8A00000000000), 0, reinterpret(0x3FD0C42D67616000), reinterpret(0x3D27188B163CEAE9), - reinterpret(0x3FE8800000000000), 0, reinterpret(0x3FD1178E8227E800), reinterpret(0xBD2C210E63A5F01C), - reinterpret(0x3FE8600000000000), 0, reinterpret(0x3FD16B5CCBACF800), reinterpret(0x3D2B9ACDF7A51681), - reinterpret(0x3FE8400000000000), 0, reinterpret(0x3FD1BF99635A6800), reinterpret(0x3D2CA6ED5147BDB7), - reinterpret(0x3FE8200000000000), 0, reinterpret(0x3FD214456D0EB800), reinterpret(0x3D0A87DEBA46BAEA), - reinterpret(0x3FE7E00000000000), 0, reinterpret(0x3FD2BEF07CDC9000), reinterpret(0x3D2A9CFA4A5004F4), - reinterpret(0x3FE7C00000000000), 0, reinterpret(0x3FD314F1E1D36000), reinterpret(0xBD28E27AD3213CB8), - reinterpret(0x3FE7A00000000000), 0, reinterpret(0x3FD36B6776BE1000), reinterpret(0x3D116ECDB0F177C8), - reinterpret(0x3FE7800000000000), 0, reinterpret(0x3FD3C25277333000), reinterpret(0x3D183B54B606BD5C), - reinterpret(0x3FE7600000000000), 0, reinterpret(0x3FD419B423D5E800), reinterpret(0x3D08E436EC90E09D), - reinterpret(0x3FE7400000000000), 0, reinterpret(0x3FD4718DC271C800), reinterpret(0xBD2F27CE0967D675), - reinterpret(0x3FE7200000000000), 0, reinterpret(0x3FD4C9E09E173000), reinterpret(0xBD2E20891B0AD8A4), - reinterpret(0x3FE7000000000000), 0, reinterpret(0x3FD522AE0738A000), reinterpret(0x3D2EBE708164C759), - reinterpret(0x3FE6E00000000000), 0, reinterpret(0x3FD57BF753C8D000), reinterpret(0x3D1FADEDEE5D40EF), - reinterpret(0x3FE6C00000000000), 0, reinterpret(0x3FD5D5BDDF596000), reinterpret(0xBD0A0B2A08A465DC) -]); - // Returns 0 if not int, 1 if odd int, 2 if even int. The argument is // the bit representation of a non-zero finite floating-point value. // @ts-ignore: decorator @inline -function checkint(iy: u64): i32 { +function checkint64(iy: u64): i32 { var e = iy >> 52 & 0x7FF; if (e < 0x3FF ) return 0; if (e > 0x3FF + 52) return 2; @@ -1663,26 +3001,26 @@ function checkint(iy: u64): i32 { // @ts-ignore: decorator @inline -function xflow(sign: u32, y: f64): f64 { +function xflow64(sign: u32, y: f64): f64 { return select(-y, y, sign) * y; } // @ts-ignore: decorator @inline -function uflow(sign: u32): f64 { - return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767 +function uflow64(sign: u32): f64 { + return xflow64(sign, reinterpret(0x1000000000000000)); // 0x1p-767 } // @ts-ignore: decorator @inline -function oflow(sign: u32): f64 { - return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769 +function oflow64(sign: u32): f64 { + return xflow64(sign, reinterpret(0x7000000000000000)); // 0x1p769 } // Returns 1 if input is the bit representation of 0, infinity or nan. // @ts-ignore: decorator @inline -function zeroinfnan(u: u64): bool { +function zeroinfnan64(u: u64): bool { return (u << 1) - 1 >= 0xFFE0000000000000 - 1; } @@ -1694,8 +3032,8 @@ function zeroinfnan(u: u64): bool { // normalized in the subnormal range using the sign bit for the exponent. // @ts-ignore: decorator @inline -function log_inline(ix: u64): f64 { - const N = 1 << POW_LOG_TABLE_BITS; +function log64_inline(ix: u64): f64 { + const N = 1 << POW_LOG_TABLE64_BITS; const N_MASK = N - 1; const @@ -1715,16 +3053,16 @@ function log_inline(ix: u64): f64 { // The range is split into N subintervals. // The ith subinterval contains z and c is near its center. var tmp = ix - 0x3fE6955500000000; - var i = ((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK); + var i = ((tmp >> (52 - POW_LOG_TABLE64_BITS)) & N_MASK); var k = tmp >> 52; var iz = ix - (tmp & u64(0xFFF) << 52); var z = reinterpret(iz); var kd = k; // log(x) = k*Ln2 + log(c) + log1p(z/c-1). - var invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc - var logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc - var logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail + var invc = load(POW_LOG_TABLE64 + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc + var logc = load(POW_LOG_TABLE64 + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc + var logctail = load(POW_LOG_TABLE64 + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. @@ -1762,14 +3100,14 @@ function log_inline(ix: u64): f64 { } // @ts-ignore: decorator -@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS; +@inline const SIGN_BIAS = 0x800 << EXP_TABLE64_BITS; // Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. // The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1. // @ts-ignore: decorator @inline -function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { - const N = 1 << EXP_TABLE_BITS; +function exp64_inline(x: f64, xtail: f64, sign_bias: u32): f64 { + const N = 1 << EXP_TABLE64_BITS; const N_MASK = N - 1; const @@ -1796,11 +3134,11 @@ function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { if (abstop - 0x3C9 >= 0x80000000) { // Avoid spurious underflow for tiny x. // Note: 0 is common input. - return select(-1.0, 1.0, sign_bias); + return select(-1.0, 1.0, sign_bias); } if (abstop >= 0x409) { // top12(1024.0) // Note: inf and nan are already handled. - return ux >> 63 ? uflow(sign_bias) : oflow(sign_bias); + return ux >> 63 ? uflow64(sign_bias) : oflow64(sign_bias); } // Large x is special cased below. abstop = 0; @@ -1829,11 +3167,11 @@ function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { r += xtail; // 2^(k/N) ~= scale * (1 + tail) idx = ((ki & N_MASK) << 1); - top = (ki + sign_bias) << (52 - EXP_TABLE_BITS); + top = (ki + sign_bias) << (52 - EXP_TABLE64_BITS); - tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); + tail = reinterpret(load(EXP_TABLE64 + (idx << alignof()))); // This is only a valid scale when -1023*N < k < 1024*N - sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; + sbits = load(EXP_TABLE64 + (idx << alignof()), 1 << alignof()) + top; // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). // Evaluation is optimized assuming superscalar pipelined execution. r2 = r * r; @@ -1849,7 +3187,7 @@ function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { // @ts-ignore: decorator @inline -export function pow_lut(x: f64, y: f64): f64 { +function pow64_lut(x: f64, y: f64): f64 { const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 var sign_bias: u32 = 0; @@ -1863,7 +3201,7 @@ export function pow_lut(x: f64, y: f64): f64 { // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1. // Special cases: (x < 0x1p-126 or inf or nan) or // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan). - if (zeroinfnan(iy)) { + if (zeroinfnan64(iy)) { if ((iy << 1) == 0) return 1.0; if (ix == 0x3FF0000000000000) return NaN; // original: 1.0 if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y; @@ -1871,15 +3209,15 @@ export function pow_lut(x: f64, y: f64): f64 { if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf. return y * y; } - if (zeroinfnan(ix)) { + if (zeroinfnan64(ix)) { let x2 = x * x; - if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2; + if (i32(ix >> 63) && checkint64(iy) == 1) x2 = -x2; return iy >> 63 ? 1 / x2 : x2; } // Here x and y are non-zero finite if (ix >> 63) { // Finite x < 0 - let yint = checkint(iy); + let yint = checkint64(iy); if (yint == 0) return (x - x) / (x - x); if (yint == 1) sign_bias = SIGN_BIAS; ix &= 0x7FFFFFFFFFFFFFFF; @@ -1899,7 +3237,7 @@ export function pow_lut(x: f64, y: f64): f64 { } } - var hi = log_inline(ix); + var hi = log64_inline(ix); var lo = log_tail; var ehi: f64, elo: f64; // #if __FP_FAST_FMA @@ -1913,5 +3251,1396 @@ export function pow_lut(x: f64, y: f64): f64 { ehi = yhi * lhi; elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25. // #endif - return exp_inline(ehi, elo, sign_bias); + return exp64_inline(ehi, elo, sign_bias); +} + +export function pow32(x: f32, y: f32): f32 { + // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms + if (abs(y) <= 2) { + if (y == 2.0) return x * x; + if (y == 0.5) { + return select( + abs(sqrt(x)), + Infinity, + x != -Infinity + ); + } + if (y == -1.0) return 1 / x; + if (y == 1.0) return x; + if (y == 0.0) return 1.0; + } + if (ASC_SHRINK_LEVEL < 1) { + // see: musl/src/math/powf.c + return pow32_lut(x, y); + } else { + // based on: jdh8/metallic/src/math/float/powf.c + if (y == 0) return 1; + // @ts-ignore: cast + if (isNaN(x) | isNaN(y)) { + return NaN; + } + let sign: u32 = 0; + let uy = reinterpret(y); + let ux = reinterpret(x); + let sx = ux >> 31; + ux &= 0x7FFFFFFF; + if (sx && nearest(y) == y) { + x = -x; + sx = 0; + sign = u32(nearest(y * 0.5) != y * 0.5) << 31; + } + let m: u32; + if (ux == 0x3F800000) { // x == 1 + m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000; + } else if (ux == 0) { + m = uy >> 31 ? 0x7F800000 : 0; + } else if (ux == 0x7F800000) { + m = uy >> 31 ? 0 : 0x7F800000; + } else if (sx) { + m = 0x7FC00000; + } else { + m = reinterpret(exp2up32(y * log2up32(x))); + } + return reinterpret(m | sign); + } +} + +export function pow64(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above + // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms + if (abs(y) <= 2) { + if (y == 2.0) return x * x; + if (y == 0.5) { + return select( + abs(sqrt(x)), + Infinity, + x != -Infinity + ); + } + if (y == -1.0) return 1 / x; + if (y == 1.0) return x; + if (y == 0.0) return 1.0; + } + if (ASC_SHRINK_LEVEL < 1) { + return pow64_lut(x, y); + } else { + const + dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01 + dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08 + two53 = reinterpret(0x4340000000000000), // 9007199254740992.0 + huge = reinterpret(0x7E37E43C8800759C), // 1e+300 + tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300 + L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01 + L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01 + L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01 + L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01 + L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01 + L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01 + P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 + P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 + P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 + P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 + P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 + lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01 + lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01 + lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09 + ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017 + cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01 + cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01 + cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09 + ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00 + ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08 + inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333 + + let u_ = reinterpret(x); + let hx = (u_ >> 32); + let lx = u_; + u_ = reinterpret(y); + let hy = (u_ >> 32); + let ly = u_; + let ix = hx & 0x7FFFFFFF; + let iy = hy & 0x7FFFFFFF; + if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN + // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN + if ( // NaN if either arg is NaN + ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) || + iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0) + ) return x + y; + let yisint = 0, k: i32; + if (hx < 0) { + if (iy >= 0x43400000) yisint = 2; + else if (iy >= 0x3FF00000) { + k = (iy >> 20) - 0x3FF; + let offset = select(52, 20, k > 20) - k; + let Ly = select(ly, iy, k > 20); + let jj = Ly >> offset; + if ((jj << offset) == Ly) yisint = 2 - (jj & 1); + } + } + if (ly == 0) { + if (iy == 0x7FF00000) { // y is +-inf + if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN + else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0 + else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf + } + if (iy == 0x3FF00000) { + if (hy >= 0) return x; + return 1 / x; + } + if (hy == 0x40000000) return x * x; + if (hy == 0x3FE00000) { + if (hx >= 0) return sqrt(x); + } + } + let ax = abs(x), z: f64; + if (lx == 0) { + if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) { + z = ax; + if (hy < 0) z = 1.0 / z; + if (hx < 0) { + if (((ix - 0x3FF00000) | yisint) == 0) { + let d = z - z; + z = d / d; + } else if (yisint == 1) z = -z; + } + return z; + } + } + let s = 1.0; + if (hx < 0) { + if (yisint == 0) { + let d = x - x; + return d / d; + } + if (yisint == 1) s = -1.0; + } + let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64; + let j: i32, n: i32; + if (iy > 0x41E00000) { + if (iy > 0x43F00000) { + if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny; + if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny; + } + if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny; + if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny; + t = ax - 1.0; + w = (t * t) * (0.5 - t * (inv3 - t * 0.25)); + u = ivln2_h * t; + v = t * ivln2_l - w * ivln2; + t1 = u + v; + t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); + t2 = v - (t1 - u); + } else { + let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64; + n = 0; + if (ix < 0x00100000) { + ax *= two53; + n -= 53; + ix = (reinterpret(ax) >> 32); + } + n += (ix >> 20) - 0x3FF; + j = ix & 0x000FFFFF; + ix = j | 0x3FF00000; + if (j <= 0x3988E) k = 0; + else if (j < 0xBB67A) k = 1; + else { + k = 0; + n += 1; + ix -= 0x00100000; + } + ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32)); + let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0 + u = ax - bp; + v = 1.0 / (ax + bp); + ss = u * v; + s_h = ss; + s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000); + t_h = reinterpret((((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32); + t_l = ax - (t_h - bp); + s_l = v * ((u - s_h * t_h) - s_h * t_l); + s2 = ss * ss; + r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6))))); + r += s_l * (s_h + ss); + s2 = s_h * s_h; + t_h = 3.0 + s2 + r; + t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000); + t_l = r - ((t_h - 3.0) - s2); + u = s_h * t_h; + v = s_l * t_h + t_l * ss; + p_h = u + v; + p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000); + p_l = v - (p_h - u); + let z_h = cp_h * p_h; + let dp_l = select(dp_l1, 0.0, k); + let z_l = cp_l * p_h + p_l * cp + dp_l; + t = n; + let dp_h = select(dp_h1, 0.0, k); + t1 = ((z_h + z_l) + dp_h) + t; + t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); + t2 = z_l - (((t1 - t) - dp_h) - z_h); + } + let y1 = y; + y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000); + p_l = (y - y1) * t1 + y * t2; + p_h = y1 * t1; + z = p_l + p_h; + u_ = reinterpret(z); + j = (u_ >> 32); + let i = u_; + if (j >= 0x40900000) { + if (((j - 0x40900000) | i) != 0) return s * huge * huge; + if (p_l + ovt > z - p_h) return s * huge * huge; + } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) { + if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny; + if (p_l <= z - p_h) return s * tiny * tiny; + } + i = j & 0x7FFFFFFF; + k = (i >> 20) - 0x3FF; + n = 0; + if (i > 0x3FE00000) { + n = j + (0x00100000 >> (k + 1)); + k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF; + t = 0.0; + t = reinterpret((n & ~(0x000FFFFF >> k)) << 32); + n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k); + if (j < 0) n = -n; + p_h -= t; + } + t = p_l + p_h; + t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); + u = t * lg2_h; + v = (p_l - (t - p_h)) * lg2 + t * lg2_l; + z = u + v; + w = v - (z - u); + t = z * z; + t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); + r = (z * t1) / (t1 - 2.0) - (w + z * w); + z = 1.0 - (r - z); + j = (reinterpret(z) >> 32); + j += n << 20; + if ((j >> 20) <= 0) z = scalbn64(z, n); + else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32)); + return s * z; + } +} + +export function sin32(x: f32): f32 { // see: musl/src/math/sinf.c + const + s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 + s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 + s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 + s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 + + var ix = reinterpret(x); + var sign = ix >> 31; + ix &= 0x7FFFFFFF; + + if (ix <= 0x3F490FDA) { // |x| ~<= π/4 + if (ix < 0x39800000) { // |x| < 2**-12 + return x; + } + return sin32_kern(x); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4 + return sign ? -cos32_kern(x + s1pio2) : cos32_kern(x - s1pio2); + } + return sin32_kern(-(sign ? x + s2pio2 : x - s2pio2)); + } + + if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4 + return sign ? cos32_kern(x + s3pio2) : -cos32_kern(x - s3pio2); + } + return sin32_kern(sign ? x + s4pio2 : x - s4pio2); + } + } + + // sin(Inf or NaN) is NaN + if (ix >= 0x7F800000) return x - x; + + var n = rempio2_32(x, ix, sign); + var y = rempio2_32_y; + + var t = n & 1 ? cos32_kern(y) : sin32_kern(y); + return n & 2 ? -t : t; +} + +export function sin64(x: f64): f64 { // see: musl/src/math/sin.c + var u = reinterpret(x); + var ix = (u >> 32); + var sign = ix >> 31; + + ix &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ix <= 0x3FE921FB) { + if (ix < 0x3E500000) { // |x| < 2**-26 + return x; + } + return sin64_kern(x, 0.0, 0); + } + + // sin(Inf or NaN) is NaN + if (ix >= 0x7FF00000) return x - x; + + // argument reduction needed + var n = rempio2_64(x, u, sign); + var y0 = rempio2_y0; + var y1 = rempio2_y1; + + x = n & 1 ? cos64_kern(y0, y1) : sin64_kern(y0, y1, 1); + return n & 2 ? -x : x; +} + +export function sinh32(x: f32): f32 { // see: musl/src/math/sinhf.c + var u = reinterpret(x) & 0x7FFFFFFF; + var a = reinterpret(u); + var h = copysign(0.5, x); + if (u < 0x42B17217) { + let t = expm1_32(a); + if (u < 0x3F800000) { + if (u < 0x3F800000 - (12 << 23)) return x; + return h * (2 * t - t * t / (t + 1)); + } + return h * (t + t / (t + 1)); + } + return expo2_32(a, 2 * h); +} + +export function sinh64(x: f64): f64 { // see: musl/src/math/sinh.c + var u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF; + var a = reinterpret(u); + var w = (u >> 32); + var h = copysign(0.5, x); + if (w < 0x40862E42) { + let t = expm1_64(a); + if (w < 0x3FF00000) { + if (w < 0x3FF00000 - (26 << 20)) return x; + return h * (2 * t - t * t / (t + 1)); + } + return h * (t + t / (t + 1)); + } + return expo2_64(a, 2 * h); +} + +export function tan32(x: f32): f32 { // see: musl/src/math/tanf.c + const + t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 + t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 + t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 + t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 + + var ix = reinterpret(x); + var sign = ix >> 31; + ix &= 0x7FFFFFFF; + + if (ix <= 0x3F490FDA) { // |x| ~<= π/4 + if (ix < 0x39800000) { // |x| < 2**-12 + return x; + } + return tan32_kern(x, 0); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4 + return tan32_kern((sign ? x + t1pio2 : x - t1pio2), 1); + } else { + return tan32_kern((sign ? x + t2pio2 : x - t2pio2), 0); + } + } + if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4 + return tan32_kern((sign ? x + t3pio2 : x - t3pio2), 1); + } else { + return tan32_kern((sign ? x + t4pio2 : x - t4pio2), 0); + } + } + } + + // tan(Inf or NaN) is NaN + if (ix >= 0x7F800000) return x - x; + + // argument reduction + var n = rempio2_32(x, ix, sign); + var y = rempio2_32_y; + return tan32_kern(y, n & 1); +} + +export function tan64(x: f64): f64 { // see: musl/src/math/tan.c + var u = reinterpret(x); + var ix = (u >> 32); + var sign = ix >>> 31; + + ix &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ix <= 0x3FE921FB) { + if (ix < 0x3E400000) { // |x| < 2**-27 + return x; + } + return tan64_kern(x, 0.0, 1); + } + + // tan(Inf or NaN) is NaN + if (ix >= 0x7FF00000) return x - x; + + var n = rempio2_64(x, u, sign); + return tan64_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1)); +} + +export function tanh32(x: f32): f32 { // see: musl/src/math/tanhf.c + var u = reinterpret(x); + u &= 0x7FFFFFFF; + var y = reinterpret(u); + var t: f32; + if (u > 0x3F0C9F54) { + if (u > 0x41200000) t = 1 + 0 / y; + else { + t = expm1_32(2 * y); + t = 1 - 2 / (t + 2); + } + } else if (u > 0x3E82C578) { + t = expm1_32(2 * y); + t = t / (t + 2); + } else if (u >= 0x00800000) { + t = expm1_32(-2 * y); + t = -t / (t + 2); + } else t = y; + return copysign(t, x); +} + +export function tanh64(x: f64): f64 { // see: musl/src/math/tanh.c + var u = reinterpret(x); + u &= 0x7FFFFFFFFFFFFFFF; + var y = reinterpret(u); + var w = (u >> 32); + var t: f64; + if (w > 0x3FE193EA) { + if (w > 0x40340000) { + t = 1 - 0 / y; + } else { + t = expm1_64(2 * y); + t = 1 - 2 / (t + 2); + } + } else if (w > 0x3FD058AE) { + t = expm1_64(2 * y); + t = t / (t + 2); + } else if (w >= 0x00100000) { + t = expm1_64(-2 * y); + t = -t / (t + 2); + } else t = y; + return copysign(t, x); +} + +export function sincos32(x: f32): f32 { // see: musl/tree/src/math/sincosf.c + const + s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 + s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 + s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 + s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 + + var ix = reinterpret(x); + var sign = ix >> 31; + ix &= 0x7FFFFFFF; + + if (ix <= 0x3F490FDA) { // |x| ~<= π/4 + if (ix < 0x39800000) { // |x| < 2**-12 + sincos_cos32 = 1; + return x; + } + sincos_cos32 = cos32_kern(x); + return sin32_kern(x); + } + if (ASC_SHRINK_LEVEL < 1) { + if (ix <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4 + if (sign) { + sincos_cos32 = sin32_kern(x + s1pio2); + return -cos32_kern(x + s1pio2); + } else { + sincos_cos32 = sin32_kern(s1pio2 - x); + return cos32_kern(s1pio2 - x); + } + } + // -sin(x + c) is not correct if x+c could be 0: -0 vs +0 + sincos_cos32 = -cos32_kern(sign ? x + s2pio2 : x - s2pio2); + return -sin32_kern(sign ? x + s2pio2 : x - s2pio2); + } + if (ix <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4 + if (sign) { + sincos_cos32 = -sin32_kern(x + s3pio2); + return cos32_kern(x + s3pio2); + } else { + sincos_cos32 = sin32_kern(x - s3pio2); + return -cos32_kern(x - s3pio2); + } + } + sincos_cos32 = cos32_kern(sign ? x + s4pio2 : x - s4pio2); + return sin32_kern(sign ? x + s4pio2 : x - s4pio2); + } + } + // sin(Inf or NaN) is NaN + if (ix >= 0x7F800000) { + let xx = x - x; + sincos_cos32 = xx; + return xx; + } + // general argument reduction needed + var n = rempio2_32(x, ix, sign); + var y = rempio2_32_y; + var s = sin32_kern(y); + var c = cos32_kern(y); + var sin = s, cos = c; + if (n & 1) { + sin = c; + cos = -s; + } + if (n & 2) { + sin = -sin; + cos = -cos; + } + sincos_cos32 = cos; + return sin; +} + +export function sincos64(x: f64): f64 { // see: musl/tree/src/math/sincos.c + var u = reinterpret(x); + var ix = (u >> 32); + var sign = ix >> 31; + ix &= 0x7FFFFFFF; + + if (ix <= 0x3FE921FB) { // |x| ~<= π/4 + if (ix < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2) + sincos_cos64 = 1; + return x; // sin + } + sincos_cos64 = cos64_kern(x, 0); + return sin64_kern(x, 0, 0); + } + // sin(Inf or NaN) is NaN + if (ix >= 0x7F800000) { + let xx = x - x; + sincos_cos64 = xx; + return xx; + } + // general argument reduction needed + var n = rempio2_64(x, u, sign); + var y0 = rempio2_y0; + var y1 = rempio2_y1; + var s = sin64_kern(y0, y1, 1); + var c = cos64_kern(y0, y1); + var sin = s, cos = c; + if (n & 1) { + sin = c; + cos = -s; + } + if (n & 2) { + sin = -sin; + cos = -cos; + } + sincos_cos64 = cos; + return sin; +} + +export function scalbn32(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c + const + Ox1p24f = reinterpret(0x4B800000), + Ox1p127f = reinterpret(0x7F000000), + Ox1p_126f = reinterpret(0x00800000); + + var y = x; + if (n > 127) { + y *= Ox1p127f; + n -= 127; + if (n > 127) { + y *= Ox1p127f; + n = min(n - 127, 127); + } + } else if (n < -126) { + y *= Ox1p_126f * Ox1p24f; + n += 126 - 24; + if (n < -126) { + y *= Ox1p_126f * Ox1p24f; + n = max(n + 126 - 24, -126); + } + } + return y * reinterpret((0x7F + n) << 23); +} + +export function scalbn64(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c + const + Ox1p53 = reinterpret(0x4340000000000000), + Ox1p1023 = reinterpret(0x7FE0000000000000), + Ox1p_1022 = reinterpret(0x0010000000000000); + + var y = x; + if (n > 1023) { + y *= Ox1p1023; + n -= 1023; + if (n > 1023) { + y *= Ox1p1023; + n = min(n - 1023, 1023); + } + } else if (n < -1022) { + // make sure final n < -53 to avoid double + // rounding in the subnormal range + y *= Ox1p_1022 * Ox1p53; + n += 1022 - 53; + if (n < -1022) { + y *= Ox1p_1022 * Ox1p53; + n = max(n + 1022 - 53, -1022); + } + } + return y * reinterpret((0x3FF + n) << 52); +} + +export function exp32(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return exp32_lut(x); + } else { + const + ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f + ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f + invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f + P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f + P2 = reinterpret(0xBB355215), // -2.7667332906e-3f + Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f + + let hx = reinterpret(x); + let sign_ = (hx >> 31); + hx &= 0x7FFFFFFF; + if (hx >= 0x42AEAC50) { + if (hx > 0x7F800000) return x; // NaN + if (hx >= 0x42B17218) { + if (!sign_) return x * Ox1p127f; + else if (hx >= 0x42CFF1B5) return 0; + } + } + let hi: f32, lo: f32; + let k: i32; + if (hx > 0x3EB17218) { + if (hx > 0x3F851592) { + k = (invln2 * x + copysign(0.5, x)); + } else { + k = 1 - (sign_ << 1); + } + hi = x - k * ln2hi; + lo = k * ln2lo; + x = hi - lo; + } else if (hx > 0x39000000) { + k = 0; + hi = x; + lo = 0; + } else { + return 1 + x; + } + let xx = x * x; + let c = x - xx * (P1 + xx * P2); + let y: f32 = 1 + (x * c / (2 - c) - lo + hi); + return k == 0 ? y : scalbn32(y, k); + } +} + +export function exp64(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return exp_lut(x); + } else { + const + ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 + P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 + P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 + P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 + P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 + overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096 + underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842 + Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 + + let hx = (reinterpret(x) >> 32); + let sign_ = (hx >> 31); + hx &= 0x7FFFFFFF; + if (hx >= 0x4086232B) { + if (isNaN(x)) return x; + if (x > overflow) return x * Ox1p1023; + if (x < underflow) return 0; + } + let hi: f64, lo: f64 = 0; + let k = 0; + if (hx > 0x3FD62E42) { + if (hx >= 0x3FF0A2B2) { + k = (invln2 * x + copysign(0.5, x)); + } else { + k = 1 - (sign_ << 1); + } + hi = x - k * ln2hi; + lo = k * ln2lo; + x = hi - lo; + } else if (hx > 0x3E300000) { + hi = x; + } else return 1.0 + x; + let xs = x * x; + // var c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5)))); + let xq = xs * xs; + let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5))); + let y = 1.0 + (x * c / (2 - c) - lo + hi); + return k == 0 ? y : scalbn64(y, k); + } +} + +export function expm1_32(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f + invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f + Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f + Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f + Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f + + var u = reinterpret(x); + var hx = u & 0x7FFFFFFF; + var sign_ = (u >> 31); + if (hx >= 0x4195B844) { + if (hx > 0x7F800000) return x; + if (sign_) return -1; + if (hx > 0x42B17217) { // x > log(FLT_MAX) + x *= Ox1p127f; + return x; + } + } + var c: f32 = 0.0, t: f32, k: i32; + if (hx > 0x3EB17218) { + k = select( + 1 - (sign_ << 1), + (invln2 * x + copysign(0.5, x)), + hx < 0x3F851592 + ); + t = k; + let hi = x - t * ln2_hi; + let lo = t * ln2_lo; + x = hi - lo; + c = (hi - x) - lo; + } else if (hx < 0x33000000) { + return x; + } else k = 0; + var hfx: f32 = 0.5 * x; + var hxs: f32 = x * hfx; + var r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2); + t = 3.0 - r1 * hfx; + var e = hxs * ((r1 - t) / (6.0 - x * t)); + if (k == 0) return x - (x * e - hxs); + e = x * (e - c) - c; + e -= hxs; + if (k == -1) return 0.5 * (x - e) - 0.5; + if (k == 1) { + if (x < -0.25) return -2.0 * (e - (x + 0.5)); + return 1.0 + 2.0 * (x - e); + } + u = (0x7F + k) << 23; + var twopk = reinterpret(u); + var y: f32; + if (k < 0 || k > 56) { + y = x - e + 1.0; + if (k == 128) y = y * 2.0 * Ox1p127f; + else y = y * twopk; + return y - 1.0; + } + u = (0x7F - k) << 23; + y = reinterpret(u); + if (k < 20) y = (1 - y) - e; + else y = 1 - (e + y); + return (x + y) * twopk; +} + +export function expm1_64(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above + const + o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02 + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02 + Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03 + Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05 + Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06 + Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07 + Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 + + var u = reinterpret(x); + var hx = (u >> 32 & 0x7FFFFFFF); + var k = 0, sign_ = (u >> 63); + if (hx >= 0x4043687A) { + if (isNaN(x)) return x; + if (sign_) return -1; + if (x > o_threshold) return x * Ox1p1023; + } + var c = 0.0, t: f64; + if (hx > 0x3FD62E42) { + k = select( + 1 - (sign_ << 1), + (invln2 * x + copysign(0.5, x)), + hx < 0x3FF0A2B2 + ); + t = k; + let hi = x - t * ln2_hi; + let lo = t * ln2_lo; + x = hi - lo; + c = (hi - x) - lo; + } else if (hx < 0x3C900000) return x; + var hfx = 0.5 * x; + var hxs = x * hfx; + // var r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); + var hxq = hxs * hxs; + var r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5)); + t = 3.0 - r1 * hfx; + var e = hxs * ((r1 - t) / (6.0 - x * t)); + if (k == 0) return x - (x * e - hxs); + e = x * (e - c) - c; + e -= hxs; + if (k == -1) return 0.5 * (x - e) - 0.5; + if (k == 1) { + if (x < -0.25) return -2.0 * (e - (x + 0.5)); + return 1.0 + 2.0 * (x - e); + } + u = (0x3FF + k) << 52; + var twopk = reinterpret(u); + var y: f64; + if (k < 0 || k > 56) { + y = x - e + 1.0; + if (k == 1024) y = y * 2.0 * Ox1p1023; + else y = y * twopk; + return y - 1.0; + } + u = (0x3FF - k) << 52; + y = reinterpret(u); + if (k < 20) y = (1 - y) - e; + else y = 1 - (e + y); + return (x + y) * twopk; +} + +export function log32(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return logf_lut(x); + } else { + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f + Ox1p25f = reinterpret(0x4C000000); + + let u = reinterpret(x); + let k = 0; + if (u < 0x00800000 || (u >> 31)) { + if (u << 1 == 0) return -1 / (x * x); + if (u >> 31) return (x - x) / 0; + k -= 25; + x *= Ox1p25f; + u = reinterpret(x); + } else if (u >= 0x7F800000) { + return x; + } else if (u == 0x3F800000) { + return 0; + } + u += 0x3F800000 - 0x3F3504F3; + k += (u >> 23) - 0x7F; + u = (u & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(u); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq = 0.5 * f * f; + let dk = k; + return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; + } +} + +export function log64(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log64_lut(x); + } else { + const + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + let u = reinterpret(x); + let hx = (u >> 32); + let k = 0; + if (hx < 0x00100000 || (hx >> 31)) { + if (u << 1 == 0) return -1 / (x * x); + if (hx >> 31) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = (u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += (hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let dk = k; + return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; + } +} + +export function log10_32(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above + const + ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f + ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f + log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f + log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f + Ox1p25f = reinterpret(0x4C000000); // 0x1p25f + + var ix = reinterpret(x); + var k = 0; + if (ix < 0x00800000 || (ix >> 31)) { + if (ix << 1 == 0) return -1 / (x * x); + if (ix >> 31) return (x - x) / 0.0; + k -= 25; + x *= Ox1p25f; + ix = reinterpret(x); + } else if (ix >= 0x7F800000) { + return x; + } else if (ix == 0x3F800000) { + return 0; + } + ix += 0x3F800000 - 0x3F3504F3; + k += (ix >> 23) - 0x7F; + ix = (ix & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(ix); + var f = x - 1.0; + var s = f / (2.0 + f); + var z = s * s; + var w = z * z; + var t1 = w * (Lg2 + w * Lg4); + var t2 = z * (Lg1 + w * Lg3); + var r = t2 + t1; + var hfsq: f32 = 0.5 * f * f; + var hi = f - hfsq; + ix = reinterpret(hi); + ix &= 0xFFFFF000; + hi = reinterpret(ix); + var lo = f - hi - hfsq + s * (hfsq + r); + var dk = k; + return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi; +} + +export function log10_64(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above + const + ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01 + ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11 + log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01 + log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + var u = reinterpret(x); + var hx = (u >> 32); + var k = 0; + if (hx < 0x00100000 || (hx >> 31)) { + if (u << 1 == 0) return -1 / (x * x); + if (hx >> 31) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = (u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += (hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + var f = x - 1.0; + var hfsq = 0.5 * f * f; + var s = f / (2.0 + f); + var z = s * s; + var w = z * z; + var t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + var r = t2 + t1; + var hi = f - hfsq; + u = reinterpret(hi); + u &= 0xFFFFFFFF00000000; + hi = reinterpret(u); + var lo = f - hi - hfsq + s * (hfsq + r); + var val_hi = hi * ivln10hi; + var dk = k; + var y = dk * log10_2hi; + var val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi; + w = y + val_hi; + val_lo += (y - w) + val_hi; + return val_lo + w; +} + +export function log1p32(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01 + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06 + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f + + var ix = reinterpret(x); + var c: f32 = 0, f: f32 = 0; + var k: i32 = 1; + if (ix < 0x3ED413D0 || (ix >> 31)) { + if (ix >= 0xBF800000) { + if (x == -1) return x / 0.0; + return (x - x) / 0.0; + } + if (ix << 1 < 0x33800000 << 1) return x; + if (ix <= 0xBE95F619) { + k = 0; + c = 0; + f = x; + } + } else if (ix >= 0x7F800000) return x; + if (k) { + let uf: f32 = 1 + x; + let iu = reinterpret(uf); + iu += 0x3F800000 - 0x3F3504F3; + k = (iu >> 23) - 0x7F; + if (k < 25) { + c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); + c /= uf; + } else c = 0; + iu = (iu & 0x007FFFFF) + 0x3F3504F3; + f = reinterpret(iu) - 1; + } + var s = f / (2.0 + f); + var z = s * s; + var w = z * z; + var t1 = w * (Lg2 + w * Lg4); + var t2 = z * (Lg1 + w * Lg3); + var r = t2 + t1; + var hfsq: f32 = 0.5 * f * f; + var dk = k; + return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; +} + +export function log1p64(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01 + + var u = reinterpret(x); + var hx = (u >> 32); + var k = 1; + var c = 0.0, f = 0.0; + if (hx < 0x3FDA827A || (hx >> 31)) { + if (hx >= 0xBFF00000) { + if (x == -1) return x / 0.0; + return (x - x) / 0.0; + } + if (hx << 1 < 0x3CA00000 << 1) return x; + if (hx <= 0xBFD2BEC4) { + k = 0; + c = 0; + f = x; + } + } else if (hx >= 0x7FF00000) return x; + if (k) { + u = reinterpret(1 + x); + let hu = (u >> 32); + hu += 0x3FF00000 - 0x3FE6A09E; + k = (hu >> 20) - 0x3FF; + if (k < 54) { + let uf = reinterpret(u); + c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); + c /= uf; + } else c = 0; + hu = (hu & 0x000FFFFF) + 0x3FE6A09E; + u = hu << 32 | (u & 0xFFFFFFFF); + f = reinterpret(u) - 1; + } + var hfsq = 0.5 * f * f; + var s = f / (2.0 + f); + var z = s * s; + var w = z * z; + var t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + var r = t2 + t1; + var dk = k; + return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; +} + +export function log2_32(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log2_32_lut(x); + } else { + const + ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f + ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04 + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f + Ox1p25f = reinterpret(0x4C000000); // 0x1p25f + + let ix = reinterpret(x); + let k: i32 = 0; + if (ix < 0x00800000 || (ix >> 31)) { + if (ix << 1 == 0) return -1 / (x * x); + if (ix >> 31) return (x - x) / 0.0; + k -= 25; + x *= Ox1p25f; + ix = reinterpret(x); + } else if (ix >= 0x7F800000) { + return x; + } else if (ix == 0x3F800000) { + return 0; + } + ix += 0x3F800000 - 0x3F3504F3; + k += (ix >> 23) - 0x7F; + ix = (ix & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(ix); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq: f32 = 0.5 * f * f; + let hi = f - hfsq; + let u = reinterpret(hi); + u &= 0xFFFFF000; + hi = reinterpret(u); + let lo: f32 = f - hi - hfsq + s * (hfsq + r); + let dk = k; + return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk; + } +} + +export function log2_64(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log2_64_lut(x); + } else { + const + ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00 + ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 1p54 + + let u = reinterpret(x); + let hx = (u >> 32); + let k = 0; + if (hx < 0x00100000 || (hx >> 31)) { + if (u << 1 == 0) return -1 / (x * x); + if (hx >> 31) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = (u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += (hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let hi = f - hfsq; + u = reinterpret(hi); + u &= 0xFFFFFFFF00000000; + hi = reinterpret(u); + let lo = f - hi - hfsq + s * (hfsq + r); + let val_hi = hi * ivln2hi; + let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; + let y = k; + w = y + val_hi; + val_lo += (y - w) + val_hi; + val_hi = w; + return val_lo + val_hi; + } +} + +export function mod32(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c + if (abs(y) == 1.0) { + // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) + // TODO: move this rule to compiler's optimization pass. + // It could be apply for any x % C_pot, where "C_pot" is pow of two const. + return copysign(x - trunc(x), x); + } + var ux = reinterpret(x); + var uy = reinterpret(y); + var ex = (ux >> 23 & 0xFF); + var ey = (uy >> 23 & 0xFF); + var sm = ux & 0x80000000; + var uy1 = uy << 1; + if (uy1 == 0 || ex == 0xFF || isNaN(y)) { + let m = x * y; + return m / m; + } + var ux1 = ux << 1; + if (ux1 <= uy1) { + return x * f32(ux1 != uy1); + } + if (!ex) { + ex -= clz(ux << 9); + ux <<= 1 - ex; + } else { + ux &= -1 >> 9; + ux |= 1 << 23; + } + if (!ey) { + ey -= clz(uy << 9); + uy <<= 1 - ey; + } else { + uy &= -1 >> 9; + uy |= 1 << 23; + } + while (ex > ey) { + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + ux <<= 1; + --ex; + } + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + // for (; !(ux >> 23); ux <<= 1) --ex; + var shift = clz(ux << 8); + ex -= shift; + ux <<= shift; + if (ex > 0) { + ux -= 1 << 23; + ux |= ex << 23; + } else { + ux >>= -ex + 1; + } + return reinterpret(ux | sm); +} + +export function mod64(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c + if (abs(y) == 1.0) { + // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) + // TODO: move this rule to compiler's optimization pass. + // It could be apply for any x % C_pot, where "C_pot" is pow of two const. + return copysign(x - trunc(x), x); + } + var ux = reinterpret(x); + var uy = reinterpret(y); + var ex = (ux >> 52 & 0x7FF); + var ey = (uy >> 52 & 0x7FF); + var sx = ux >> 63; + var uy1 = uy << 1; + if (uy1 == 0 || ex == 0x7FF || isNaN(y)) { + let m = x * y; + return m / m; + } + var ux1 = ux << 1; + if (ux1 <= uy1) { + return x * f64(ux1 != uy1); + } + if (!ex) { + ex -= clz(ux << 12); + ux <<= 1 - ex; + } else { + ux &= -1 >> 12; + ux |= 1 << 52; + } + if (!ey) { + ey -= clz(uy << 12); + uy <<= 1 - ey; + } else { + uy &= -1 >> 12; + uy |= 1 << 52; + } + while (ex > ey) { + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + ux <<= 1; + --ex; + } + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + // for (; !(ux >> 52); ux <<= 1) --ex; + var shift = clz(ux << 11); + ex -= shift; + ux <<= shift; + if (ex > 0) { + ux -= 1 << 52; + ux |= ex << 52; + } else { + ux >>= -ex + 1; + } + return reinterpret(ux | (sx << 63)); } diff --git a/std/assembly/util/string.ts b/std/assembly/util/string.ts index f29cd420fd..b161a486f6 100644 --- a/std/assembly/util/string.ts +++ b/std/assembly/util/string.ts @@ -1,5 +1,5 @@ import { itoa32, utoa32, itoa64, utoa64, dtoa, itoa_buffered, dtoa_buffered, MAX_DOUBLE_LENGTH } from "./number"; -import { ipow32 } from "../math"; +import { scalbn64, ipow32 } from "../util/math"; // All tables are stored as two staged lookup tables (static tries) // because the full range of Unicode symbols can't be efficiently @@ -1092,7 +1092,7 @@ function scaledown(significand: u64, exp: i32): f64 { significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b); shift -= s; - return NativeMath.scalbn(significand, shift); + return scalbn64(significand, shift); } // Adopted from metallic lib: @@ -1111,7 +1111,7 @@ function scaleup(significand: u64, exp: i32): f64 { } significand = fixmul(significand, ipow32(5, exp)); shift = __fixmulShift; - return NativeMath.scalbn(significand, shift); + return scalbn64(significand, shift); } // Adopted from metallic lib: diff --git a/std/portable/index.d.ts b/std/portable/index.d.ts index fb21ba21b3..fb1882e745 100644 --- a/std/portable/index.d.ts +++ b/std/portable/index.d.ts @@ -304,7 +304,6 @@ declare function bswap16(value: T): T; // Standard library -declare const Mathf: typeof Math; declare const JSMath: typeof Math; declare interface StringConstructor { diff --git a/tests/compiler/binary.debug.wat b/tests/compiler/binary.debug.wat index ec74a8dcf0..a118312888 100644 --- a/tests/compiler/binary.debug.wat +++ b/tests/compiler/binary.debug.wat @@ -22,7 +22,7 @@ (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) - (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/math/ipow32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -241,7 +241,7 @@ end local.get $2 ) - (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/pow64 (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -342,7 +342,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/pow_lut|inlined.0 (result f64) + block $~lib/util/math/pow64_lut|inlined.0 (result f64) local.get $0 local.set $3 local.get $1 @@ -403,14 +403,14 @@ i64.eq if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_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 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -430,7 +430,7 @@ local.get $3 local.get $2 f64.add - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -439,7 +439,7 @@ i64.eq if f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -455,12 +455,12 @@ i32.eq if f64.const 0 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $2 local.get $2 f64.mul - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 local.set $9 @@ -483,7 +483,7 @@ i64.shr_u i32.wrap_i64 if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) + block $~lib/util/math/checkint64|inlined.0 (result i32) local.get $6 local.set $9 local.get $9 @@ -497,7 +497,7 @@ i64.lt_u if i32.const 0 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end local.get $11 i64.const 1023 @@ -506,7 +506,7 @@ i64.gt_u if i32.const 2 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end i64.const 1 i64.const 1023 @@ -525,7 +525,7 @@ i64.ne if i32.const 0 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end local.get $9 local.get $11 @@ -534,7 +534,7 @@ i64.ne if i32.const 1 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end i32.const 2 end @@ -560,7 +560,7 @@ else local.get $10 end - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 63 @@ -568,7 +568,7 @@ i64.const 0 i64.ne if - block $~lib/util/math/checkint|inlined.1 (result i32) + block $~lib/util/math/checkint64|inlined.1 (result i32) local.get $6 local.set $9 local.get $9 @@ -582,7 +582,7 @@ i64.lt_u if i32.const 0 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end local.get $11 i64.const 1023 @@ -591,7 +591,7 @@ i64.gt_u if i32.const 2 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end i64.const 1 i64.const 1023 @@ -610,7 +610,7 @@ i64.ne if i32.const 0 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end local.get $9 local.get $11 @@ -619,7 +619,7 @@ i64.ne if i32.const 1 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end i32.const 2 end @@ -635,7 +635,7 @@ local.get $3 f64.sub f64.div - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $12 i32.const 1 @@ -668,7 +668,7 @@ i64.eq if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $8 i64.const 2047 @@ -677,7 +677,7 @@ i64.lt_u if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 4607182418800017408 @@ -691,7 +691,7 @@ else f64.const 0 end - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $7 i64.const 0 @@ -940,7 +940,7 @@ f64.mul f64.add local.set $35 - block $~lib/util/math/exp_inline|inlined.0 (result f64) + block $~lib/util/math/exp64_inline|inlined.0 (result f64) local.get $36 local.set $15 local.get $35 @@ -973,7 +973,7 @@ f64.const 1 local.get $12 select - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end local.get $39 i32.const 1033 @@ -1015,7 +1015,7 @@ local.get $17 f64.mul end - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end i32.const 0 local.set $39 @@ -1211,7 +1211,7 @@ f64.const 2.2250738585072014e-308 f64.mul end - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end local.get $11 f64.reinterpret_i64 @@ -1225,7 +1225,7 @@ end return ) - (func $~lib/math/NativeMathf.mod (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/mod32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1476,7 +1476,7 @@ i32.or f32.reinterpret_i32 ) - (func $~lib/math/NativeMathf.pow (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/pow32 (param $0 f32) (param $1 f32) (result f32) (local $2 f32) (local $3 f32) (local $4 i32) @@ -1557,7 +1557,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/powf_lut|inlined.0 (result f32) + block $~lib/util/math/pow32_lut|inlined.0 (result f32) local.get $0 local.set $3 local.get $1 @@ -1606,14 +1606,14 @@ i32.eq if f32.const 1 - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_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 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 1 @@ -1637,7 +1637,7 @@ local.get $3 local.get $2 f32.add - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 1 @@ -1648,7 +1648,7 @@ i32.eq if f32.const nan:0x400000 - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 1 @@ -1664,12 +1664,12 @@ i32.eq if f32.const 0 - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $2 local.get $2 f32.mul - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 local.set $8 @@ -1693,7 +1693,7 @@ i32.const 31 i32.shr_u if (result i32) - block $~lib/util/math/checkintf|inlined.0 (result i32) + block $~lib/util/math/checkint32|inlined.0 (result i32) local.get $6 local.set $8 local.get $8 @@ -1707,7 +1707,7 @@ i32.lt_u if i32.const 0 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end local.get $10 i32.const 127 @@ -1716,7 +1716,7 @@ i32.gt_u if i32.const 2 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end i32.const 1 i32.const 127 @@ -1733,14 +1733,14 @@ i32.and if i32.const 0 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end local.get $8 local.get $10 i32.and if i32.const 1 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end i32.const 2 end @@ -1764,13 +1764,13 @@ else local.get $9 end - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 31 i32.shr_u if - block $~lib/util/math/checkintf|inlined.1 (result i32) + block $~lib/util/math/checkint32|inlined.1 (result i32) local.get $6 local.set $8 local.get $8 @@ -1784,7 +1784,7 @@ i32.lt_u if i32.const 0 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end local.get $10 i32.const 127 @@ -1793,7 +1793,7 @@ i32.gt_u if i32.const 2 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end i32.const 1 i32.const 127 @@ -1810,14 +1810,14 @@ i32.and if i32.const 0 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end local.get $8 local.get $10 i32.and if i32.const 1 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end i32.const 2 end @@ -1833,7 +1833,7 @@ local.get $3 f32.sub f32.div - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $10 i32.const 1 @@ -1997,7 +1997,7 @@ select local.get $9 f32.mul - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $21 f64.const -150 @@ -2017,7 +2017,7 @@ select local.get $9 f32.mul - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end end local.get $21 @@ -2091,7 +2091,7 @@ end return ) - (func $~lib/math/NativeMath.mod (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/mod64 (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -2395,7 +2395,7 @@ drop global.get $binary/i i32.const 1 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 drop global.get $binary/i i32.const 1 @@ -2467,7 +2467,7 @@ global.set $binary/i global.get $binary/i i32.const 1 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 global.set $binary/i global.get $binary/i i32.const 1 @@ -2580,7 +2580,7 @@ global.get $binary/I f64.convert_i64_s f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 drop global.get $binary/I i64.const 1 @@ -2653,7 +2653,7 @@ global.get $binary/I f64.convert_i64_s f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 i64.trunc_sat_f64_s global.set $binary/I global.get $binary/I @@ -2762,11 +2762,11 @@ drop global.get $binary/f f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 drop global.get $binary/f f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 drop global.get $binary/f f32.const 1 @@ -2810,11 +2810,11 @@ global.set $binary/f global.get $binary/f f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 global.set $binary/f global.get $binary/f f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 global.set $binary/f global.get $binary/f f32.const 1 @@ -2830,11 +2830,11 @@ global.set $binary/f global.get $binary/f f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 global.set $binary/f global.get $binary/f f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 global.set $binary/f global.get $binary/F f64.const 1 @@ -2878,11 +2878,11 @@ drop global.get $binary/F f64.const 1 - call $~lib/math/NativeMath.mod + call $~lib/util/math/mod64 drop global.get $binary/F f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 drop global.get $binary/F f64.const 1 @@ -2926,11 +2926,11 @@ global.set $binary/F global.get $binary/F f64.const 1 - call $~lib/math/NativeMath.mod + call $~lib/util/math/mod64 global.set $binary/F global.get $binary/F f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 global.set $binary/F global.get $binary/F f64.const 1 @@ -2946,11 +2946,11 @@ global.set $binary/F global.get $binary/F f64.const 1 - call $~lib/math/NativeMath.mod + call $~lib/util/math/mod64 global.set $binary/F global.get $binary/F f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 global.set $binary/F ) (func $~start diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index 6c073c2f01..6fa036930f 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -175,37 +175,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -356,12 +356,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -422,14 +422,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -445,14 +445,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -464,10 +464,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -504,11 +504,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -517,10 +517,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -532,11 +532,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -575,10 +575,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -635,10 +635,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -699,25 +699,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -774,23 +774,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -943,11 +943,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -957,12 +957,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -975,6 +975,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -983,7 +984,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1277,19 +1277,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1350,8 +1350,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1411,11 +1411,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1429,10 +1429,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1440 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1469,11 +1469,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/resolve-binary.debug.wat b/tests/compiler/resolve-binary.debug.wat index 5185290586..0b7000159b 100644 --- a/tests/compiler/resolve-binary.debug.wat +++ b/tests/compiler/resolve-binary.debug.wat @@ -2753,7 +2753,7 @@ local.get $1 call $~lib/util/number/itoa32 ) - (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/pow64 (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -2854,7 +2854,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/pow_lut|inlined.0 (result f64) + block $~lib/util/math/pow64_lut|inlined.0 (result f64) local.get $0 local.set $3 local.get $1 @@ -2915,14 +2915,14 @@ i64.eq if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_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 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -2942,7 +2942,7 @@ local.get $3 local.get $2 f64.add - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -2951,7 +2951,7 @@ i64.eq if f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -2967,12 +2967,12 @@ i32.eq if f64.const 0 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $2 local.get $2 f64.mul - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 local.set $9 @@ -2995,7 +2995,7 @@ i64.shr_u i32.wrap_i64 if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) + block $~lib/util/math/checkint64|inlined.0 (result i32) local.get $6 local.set $9 local.get $9 @@ -3009,7 +3009,7 @@ i64.lt_u if i32.const 0 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end local.get $11 i64.const 1023 @@ -3018,7 +3018,7 @@ i64.gt_u if i32.const 2 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end i64.const 1 i64.const 1023 @@ -3037,7 +3037,7 @@ i64.ne if i32.const 0 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end local.get $9 local.get $11 @@ -3046,7 +3046,7 @@ i64.ne if i32.const 1 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end i32.const 2 end @@ -3072,7 +3072,7 @@ else local.get $10 end - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 63 @@ -3080,7 +3080,7 @@ i64.const 0 i64.ne if - block $~lib/util/math/checkint|inlined.1 (result i32) + block $~lib/util/math/checkint64|inlined.1 (result i32) local.get $6 local.set $9 local.get $9 @@ -3094,7 +3094,7 @@ i64.lt_u if i32.const 0 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end local.get $11 i64.const 1023 @@ -3103,7 +3103,7 @@ i64.gt_u if i32.const 2 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end i64.const 1 i64.const 1023 @@ -3122,7 +3122,7 @@ i64.ne if i32.const 0 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end local.get $9 local.get $11 @@ -3131,7 +3131,7 @@ i64.ne if i32.const 1 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end i32.const 2 end @@ -3147,7 +3147,7 @@ local.get $3 f64.sub f64.div - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $12 i32.const 1 @@ -3180,7 +3180,7 @@ i64.eq if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $8 i64.const 2047 @@ -3189,7 +3189,7 @@ i64.lt_u if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 4607182418800017408 @@ -3203,7 +3203,7 @@ else f64.const 0 end - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $7 i64.const 0 @@ -3452,7 +3452,7 @@ f64.mul f64.add local.set $35 - block $~lib/util/math/exp_inline|inlined.0 (result f64) + block $~lib/util/math/exp64_inline|inlined.0 (result f64) local.get $36 local.set $15 local.get $35 @@ -3485,7 +3485,7 @@ f64.const 1 local.get $12 select - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end local.get $39 i32.const 1033 @@ -3527,7 +3527,7 @@ local.get $17 f64.mul end - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end i32.const 0 local.set $39 @@ -3723,7 +3723,7 @@ f64.const 2.2250738585072014e-308 f64.mul end - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end local.get $11 f64.reinterpret_i64 @@ -4992,7 +4992,7 @@ local.get $0 call $~lib/util/number/dtoa ) - (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/math/ipow32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5667,7 +5667,7 @@ global.set $resolve-binary/f global.get $resolve-binary/f f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 global.set $resolve-binary/f global.get $resolve-binary/f i32.const 0 @@ -6051,7 +6051,7 @@ end i32.const 2 i32.const 2 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 10 call $~lib/number/I32#toString local.set $0 @@ -6077,7 +6077,7 @@ end f64.const 2 f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 i32.const 0 call $~lib/number/F64#toString local.set $0 @@ -6103,7 +6103,7 @@ end f64.const 2 f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 i32.const 0 call $~lib/number/F64#toString local.set $0 diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index c1056b97a9..ef22c1a601 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -90,8 +90,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -151,11 +151,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -169,10 +169,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1536 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1344 i32.const 1408 @@ -195,23 +195,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -314,37 +314,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -495,12 +495,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -561,14 +561,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -584,14 +584,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -603,10 +603,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -643,11 +643,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -656,10 +656,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -671,11 +671,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -714,10 +714,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -774,10 +774,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -838,25 +838,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -913,23 +913,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1085,13 +1085,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1131,10 +1131,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1143,6 +1143,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1151,7 +1152,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1165,12 +1165,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1183,6 +1183,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1191,7 +1192,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1312,6 +1312,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1320,7 +1321,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1373,12 +1373,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1488 @@ -1416,16 +1416,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1469,19 +1469,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index a925fa103f..830a7e9ea7 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -56,8 +56,6 @@ (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/math/random_state0_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) - (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) - (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) (global $~lib/math/random_seeded (mut i32) (i32.const 0)) (global $std/array/charset i32 (i32.const 7136)) (global $std/array/inputStabArr (mut i32) (i32.const 0)) @@ -3181,7 +3179,6 @@ (local $3 i32) (local $4 i32) (local $5 f32) - (local $6 f64) local.get $2 i32.eqz if @@ -3235,30 +3232,46 @@ if br $for-continue|0 end - local.get $0 - local.get $3 - call $~lib/array/Array#__get - f64.promote_f32 - local.set $6 - local.get $6 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $5 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $5 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne - local.get $1 - local.get $3 - call $~lib/array/Array#__get - f64.promote_f32 - local.set $6 - local.get $6 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.1 (result i32) + local.get $1 + local.get $3 + call $~lib/array/Array#__get + local.set $5 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $5 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.1 + end i32.const 0 i32.ne i32.ne @@ -5715,7 +5728,7 @@ local.get $1 i32.add ) - (func $~lib/math/murmurHash3 (param $0 i64) (result i64) + (func $~lib/util/math/murmurHash3 (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -5744,41 +5757,6 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (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 (param $0 i64) local.get $0 i64.const 0 @@ -5788,20 +5766,13 @@ local.set $0 end local.get $0 - call $~lib/math/murmurHash3 + call $~lib/util/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 + call $~lib/util/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 i32.const 1 global.set $~lib/math/random_seeded ) @@ -7858,28 +7829,58 @@ if br $for-continue|0 end - local.get $0 - local.get $3 - call $~lib/array/Array#__get - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $5 + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $5 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne - local.get $1 - local.get $3 - call $~lib/array/Array#__get - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.1 (result i32) + local.get $1 + local.get $3 + call $~lib/array/Array#__get + local.set $5 + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $5 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.1 + end i32.const 0 i32.ne i32.ne @@ -20707,19 +20708,26 @@ local.get $5 i32.store offset=4 local.get $5 - call $~lib/math/NativeMath.random - global.get $std/array/charset - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - call $~lib/string/String#get:length - f64.convert_i32_s - f64.mul - local.set $4 - local.get $4 - f64.floor + block $~lib/math/NativeMath.floor|inlined.0 (result f64) + call $~lib/math/NativeMath.random + global.get $std/array/charset + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + call $~lib/string/String#get:length + f64.convert_i32_s + f64.mul + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f64.floor + br $~lib/math/NativeMath.floor|inlined.0 + end i32.trunc_sat_f64_s call $~lib/string/String#charAt local.set $5 diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 02a578b075..2ca4ab6e9a 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -2539,19 +2539,15 @@ local.get $0 local.get $2 call $~lib/array/Array#__get - f64.promote_f32 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u local.get $1 local.get $2 call $~lib/array/Array#__get - f64.promote_f32 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u i32.ne if i32.const 0 @@ -6930,54 +6926,55 @@ global.get $~lib/math/random_seeded i32.eqz if - i64.const -7046029254386353131 call $~lib/builtins/seed i64.reinterpret_f64 local.tee $0 - local.get $0 i64.eqz - select - local.tee $0 + if + i64.const -7046029254386353131 + local.set $0 + end local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor i64.const -49064778989728563 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 i64.const -1 i64.xor local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor i64.const -49064778989728563 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 - local.get $0 i64.const 33 i64.shr_u + local.get $0 i64.xor global.set $~lib/math/random_state1_64 i32.const 1 @@ -6994,9 +6991,9 @@ i64.shl i64.xor local.tee $1 - local.get $1 i64.const 17 i64.shr_u + local.get $1 i64.xor local.get $0 i64.xor @@ -13090,8 +13087,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i64) + (local $4 i64) + (local $5 i32) (local $6 f64) (local $7 f32) (local $8 i32) @@ -22743,54 +22740,55 @@ local.get $0 i32.const 3 call $~lib/array/Array#push - i64.const -7046029254386353131 call $~lib/bindings/dom/Math.random i64.reinterpret_f64 - local.tee $5 - local.get $5 + local.tee $4 i64.eqz - select - local.tee $5 - local.get $5 + if + i64.const -7046029254386353131 + local.set $4 + end + local.get $4 i64.const 33 i64.shr_u + local.get $4 i64.xor i64.const -49064778989728563 i64.mul - local.tee $5 - local.get $5 + local.tee $4 i64.const 33 i64.shr_u + local.get $4 i64.xor i64.const -4265267296055464877 i64.mul - local.tee $5 - local.get $5 + local.tee $4 i64.const 33 i64.shr_u + local.get $4 i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 i64.const -1 i64.xor - local.tee $5 - local.get $5 + local.tee $4 i64.const 33 i64.shr_u + local.get $4 i64.xor i64.const -49064778989728563 i64.mul - local.tee $5 - local.get $5 + local.tee $4 i64.const 33 i64.shr_u + local.get $4 i64.xor i64.const -4265267296055464877 i64.mul - local.tee $5 - local.get $5 + local.tee $4 i64.const 33 i64.shr_u + local.get $4 i64.xor global.set $~lib/math/random_state1_64 i32.const 1 @@ -23827,13 +23825,13 @@ local.set $1 loop $for-loop|02 local.get $1 - local.get $4 + local.get $5 i32.gt_s if block $for-break0 global.get $~lib/memory/__stack_pointer local.get $9 - local.get $4 + local.get $5 call $~lib/array/Array#__get local.tee $3 i32.store offset=16 @@ -23843,7 +23841,7 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $8 - local.get $4 + local.get $5 call $~lib/array/Array#__get local.tee $8 i32.store offset=20 @@ -23866,10 +23864,10 @@ local.set $0 br $for-break0 end - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|02 end end @@ -23969,20 +23967,20 @@ i32.const 32 i32.const 0 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store offset=4 local.get $3 - local.get $4 + local.get $5 i32.store - local.get $4 + local.get $5 if local.get $3 - local.get $4 + local.get $5 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end local.get $3 - local.get $4 + local.get $5 i32.store offset=4 local.get $3 i32.const 32 @@ -24007,9 +24005,9 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/array/Array#constructor - local.tee $4 + local.tee $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 0 i32.const 1 local.get $0 @@ -24017,7 +24015,7 @@ call $~lib/array/Array#__set local.get $3 local.get $0 - local.get $4 + local.get $5 call $~lib/array/Array<~lib/array/Array>#__set local.get $0 i32.const 1 @@ -24062,25 +24060,25 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $5 i64.const 0 i64.store - local.get $4 + local.get $5 i32.const 16 i32.const 29 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store - local.get $4 + local.get $5 i32.const 0 i32.store - local.get $4 + local.get $5 i32.const 0 i32.store offset=4 - local.get $4 + local.get $5 i32.const 0 i32.store offset=8 - local.get $4 + local.get $5 i32.const 0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -24089,23 +24087,23 @@ call $~lib/rt/itcms/__new local.tee $8 i32.store offset=4 - local.get $4 + local.get $5 local.get $8 i32.store local.get $8 if - local.get $4 + local.get $5 local.get $8 i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 + local.get $5 local.get $8 i32.store offset=4 - local.get $4 + local.get $5 i32.const 2048 i32.store offset=8 - local.get $4 + local.get $5 i32.const 512 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -24113,7 +24111,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $4 + local.get $5 i32.store loop $for-loop|03 local.get $3 @@ -24150,7 +24148,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $4 + local.get $5 local.get $3 local.get $1 call $~lib/array/Array<~lib/array/Array>#__set @@ -24165,12 +24163,12 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=156 global.get $~lib/memory/__stack_pointer i32.const 9536 i32.store offset=8 - local.get $4 + local.get $5 i32.const 9536 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -24187,7 +24185,7 @@ i32.const 31 i32.const 9776 call $~lib/rt/__newArray - local.tee $4 + local.tee $5 i32.store offset=152 i32.const 1 global.set $~argumentsLength @@ -24340,7 +24338,7 @@ local.get $0 i32.load offset=12 local.tee $1 - local.get $4 + local.get $5 i32.load offset=12 i32.ne if @@ -24352,7 +24350,7 @@ br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end local.get $0 - local.get $4 + local.get $5 i32.eq if global.get $~lib/memory/__stack_pointer @@ -24376,7 +24374,7 @@ global.get $~lib/memory/__stack_pointer local.get $8 i32.store - local.get $4 + local.get $5 local.get $3 call $~lib/array/Array#__get local.set $9 @@ -24492,7 +24490,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $4 + local.tee $5 i32.const 0 i32.lt_s if @@ -24504,7 +24502,7 @@ local.set $0 br $__inlined_func$~lib/util/string/joinBooleanArray end - local.get $4 + local.get $5 i32.eqz if i32.const 9920 @@ -24527,7 +24525,7 @@ local.tee $8 i32.const 5 i32.add - local.get $4 + local.get $5 i32.mul i32.const 5 i32.add @@ -24542,7 +24540,7 @@ local.set $0 loop $for-loop|155 local.get $2 - local.get $4 + local.get $5 i32.lt_s if local.get $2 @@ -24596,7 +24594,7 @@ end end local.get $3 - local.get $4 + local.get $5 i32.add i32.load8_u local.tee $2 @@ -25168,7 +25166,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $4 + local.tee $5 i32.const 0 i32.lt_s if @@ -25180,7 +25178,7 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $4 + local.get $5 i32.eqz if local.get $3 @@ -25201,7 +25199,7 @@ local.tee $8 i32.const 10 i32.add - local.get $4 + local.get $5 i32.mul i32.const 10 i32.add @@ -25216,7 +25214,7 @@ local.set $0 loop $for-loop|056 local.get $2 - local.get $4 + local.get $5 i32.lt_s if local.get $1 @@ -25264,7 +25262,7 @@ i32.shl i32.add local.get $3 - local.get $4 + local.get $5 i32.const 1 i32.shl i32.add @@ -25363,7 +25361,7 @@ local.get $0 i32.const 1 i32.sub - local.tee $4 + local.tee $5 i32.const 0 i32.lt_s if @@ -25375,7 +25373,7 @@ local.set $0 br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $4 + local.get $5 i32.eqz if local.get $3 @@ -25396,7 +25394,7 @@ local.tee $8 i32.const 11 i32.add - local.get $4 + local.get $5 i32.mul i32.const 11 i32.add @@ -25411,7 +25409,7 @@ local.set $0 loop $for-loop|057 local.get $2 - local.get $4 + local.get $5 i32.lt_s if local.get $1 @@ -25459,7 +25457,7 @@ i32.shl i32.add local.get $3 - local.get $4 + local.get $5 i32.const 1 i32.shl i32.add @@ -25816,7 +25814,7 @@ i32.load i32.const 1 i32.shr_u - local.set $4 + local.set $5 loop $for-loop|058 local.get $1 local.get $2 @@ -25846,7 +25844,7 @@ local.tee $0 i32.store offset=4 end - local.get $4 + local.get $5 if global.get $~lib/memory/__stack_pointer local.get $0 @@ -26030,7 +26028,7 @@ i32.load i32.const 1 i32.shr_u - local.set $4 + local.set $5 loop $for-loop|059 local.get $1 local.get $2 @@ -26060,7 +26058,7 @@ local.tee $0 i32.store offset=4 end - local.get $4 + local.get $5 if global.get $~lib/memory/__stack_pointer local.get $0 @@ -26252,7 +26250,7 @@ i32.load i32.const 1 i32.shr_u - local.set $4 + local.set $5 loop $for-loop|060 local.get $1 local.get $2 @@ -26282,7 +26280,7 @@ local.tee $0 i32.store offset=4 end - local.get $4 + local.get $5 if global.get $~lib/memory/__stack_pointer local.get $0 @@ -26814,9 +26812,9 @@ i32.const 26 i32.const 0 call $~lib/rt/__newArray - local.tee $4 + local.tee $5 i32.store - local.get $4 + local.get $5 i32.load offset=4 local.set $8 i32.const 0 @@ -26863,7 +26861,7 @@ i32.store local.get $9 if - local.get $4 + local.get $5 local.get $9 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link @@ -26880,9 +26878,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store - local.get $4 + local.get $5 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 i32.store offset=144 diff --git a/tests/compiler/std/math.debug.wat b/tests/compiler/std/math.debug.wat index 10c8d5867d..12c0747f18 100644 --- a/tests/compiler/std/math.debug.wat +++ b/tests/compiler/std/math.debug.wat @@ -7,24 +7,21 @@ (type $f64_f64_f64_f64_i32_=>_i32 (func (param f64 f64 f64 f64 i32) (result i32))) (type $f32_f32_f32_f32_i32_=>_i32 (func (param f32 f32 f32 f32 i32) (result i32))) (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $none_=>_f64 (func (result f64))) (type $f64_=>_i32 (func (param f64) (result i32))) + (type $none_=>_f64 (func (result f64))) (type $none_=>_none (func)) (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $f64_f64_f64_=>_f64 (func (param f64 f64 f64) (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $f32_=>_i32 (func (param f32) (result i32))) + (type $f64_i32_f64_f64_i32_=>_i32 (func (param f64 i32 f64 f64 i32) (result i32))) (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) + (type $f32_=>_i32 (func (param f32) (result i32))) (type $f32_f32_f32_=>_f32 (func (param f32 f32 f32) (result f32))) - (type $f64_i32_f64_f64_i32_=>_i32 (func (param f64 i32 f64 f64 i32) (result i32))) (type $f32_i32_f32_f32_i32_=>_i32 (func (param f32 i32 f32 f32 i32) (result i32))) (type $f64_i64_=>_i32 (func (param f64 i64) (result i32))) (type $i64_=>_i64 (func (param i64) (result i64))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i64_=>_none (func (param i64))) - (type $none_=>_f32 (func (result f32))) (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) - (type $f64_=>_none (func (param f64))) (type $i64_i64_i64_i64_i64_i32_=>_i32 (func (param i64 i64 i64 i64 i64 i32) (result i32))) (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) @@ -77,33 +74,25 @@ (global $std/math/kPI f64 (f64.const 3.141592653589793)) (global $std/math/kTwo120 f64 (f64.const 1329227995784915872903807e12)) (global $~lib/math/NativeMath.E f64 (f64.const 2.718281828459045)) - (global $~lib/math/NativeMathf.E f32 (f32.const 2.7182817459106445)) (global $~lib/math/NativeMath.LN2 f64 (f64.const 0.6931471805599453)) (global $~lib/math/NativeMath.LN10 f64 (f64.const 2.302585092994046)) (global $~lib/math/NativeMath.LOG2E f64 (f64.const 1.4426950408889634)) (global $~lib/math/NativeMath.PI f64 (f64.const 3.141592653589793)) (global $~lib/math/NativeMath.SQRT1_2 f64 (f64.const 0.7071067811865476)) (global $~lib/math/NativeMath.SQRT2 f64 (f64.const 1.4142135623730951)) - (global $~lib/math/NativeMathf.LN2 f32 (f32.const 0.6931471824645996)) - (global $~lib/math/NativeMathf.LN10 f32 (f32.const 2.3025851249694824)) - (global $~lib/math/NativeMathf.LOG2E f32 (f32.const 1.4426950216293335)) - (global $~lib/math/NativeMathf.PI f32 (f32.const 3.1415927410125732)) - (global $~lib/math/NativeMathf.SQRT1_2 f32 (f32.const 0.7071067690849304)) - (global $~lib/math/NativeMathf.SQRT2 f32 (f32.const 1.4142135381698608)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (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)) - (global $~lib/math/rempio2f_y (mut f64) (f64.const 0)) + (global $~lib/util/math/rempio2_y0 (mut f64) (f64.const 0)) + (global $~lib/util/math/rempio2_y1 (mut f64) (f64.const 0)) + (global $~lib/util/math/res128_hi (mut i64) (i64.const 0)) + (global $~lib/util/math/rempio2_32_y (mut f64) (f64.const 0)) (global $~lib/builtins/f32.MAX_VALUE f32 (f32.const 3402823466385288598117041e14)) (global $~lib/builtins/f64.MIN_VALUE f64 (f64.const 5e-324)) (global $~lib/util/math/log_tail (mut f64) (f64.const 0)) (global $~lib/math/random_state0_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) - (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) - (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) (global $~lib/math/random_seeded (mut i32) (i32.const 0)) (global $~lib/math/NativeMath.sincos_sin (mut f64) (f64.const 0)) + (global $~lib/util/math/sincos_cos64 (mut f64) (f64.const 0)) (global $~lib/math/NativeMath.sincos_cos (mut f64) (f64.const 0)) (global $~lib/builtins/f64.MAX_VALUE f64 (f64.const 1797693134862315708145274e284)) (global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991)) @@ -128,7 +117,7 @@ (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) - (func $std/math/eulp (param $0 f64) (result i32) + (func $std/math/eulp64 (param $0 f64) (result i32) (local $1 i64) (local $2 i32) local.get $0 @@ -155,7 +144,7 @@ i32.const 52 i32.sub ) - (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) + (func $~lib/util/math/scalbn64 (param $0 f64) (param $1 i32) (result f64) (local $2 f64) (local $3 i32) (local $4 i32) @@ -246,7 +235,7 @@ f64.reinterpret_i64 f64.mul ) - (func $std/math/ulperr (param $0 f64) (param $1 f64) (param $2 f64) (result f64) + (func $std/math/ulperr64 (param $0 f64) (param $1 f64) (param $2 f64) (result f64) (local $3 f64) local.get $0 local.get $0 @@ -266,24 +255,54 @@ local.get $1 f64.eq if - local.get $0 - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + local.get $0 + local.set $3 + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $3 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne - local.get $1 - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.1 (result i32) + local.get $1 + local.set $3 + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $3 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.1 + end i32.const 0 i32.ne i32.eq @@ -315,9 +334,9 @@ f64.sub i32.const 0 local.get $1 - call $std/math/eulp + call $std/math/eulp64 i32.sub - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 local.get $2 f64.add ) @@ -340,51 +359,33 @@ return end i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 i32.const 8 i32.eq drop local.get $0 local.get $1 local.get $2 - call $std/math/ulperr + call $std/math/ulperr64 local.set $4 local.get $4 f64.abs f64.const 1.5 - f64.ge - if - i32.const 0 - return - end - i32.const 1 + f64.lt ) - (func $std/math/eulpf (param $0 f32) (result i32) - (local $1 i32) - (local $2 i32) + (func $std/math/test_scalbn (param $0 f64) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 i32) (result 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 + call $~lib/util/math/scalbn64 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 + local.get $3 + local.get $4 + call $std/math/check ) - (func $~lib/math/NativeMathf.scalbn (param $0 f32) (param $1 i32) (result f32) + (func $~lib/util/math/scalbn32 (param $0 f32) (param $1 i32) (result f32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -474,7 +475,33 @@ f32.reinterpret_i32 f32.mul ) - (func $std/math/ulperrf (param $0 f32) (param $1 f32) (param $2 f32) (result f32) + (func $std/math/eulp32 (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 $std/math/ulperr32 (param $0 f32) (param $1 f32) (param $2 f32) (result f32) (local $3 f32) local.get $0 local.get $0 @@ -494,20 +521,42 @@ local.get $1 f32.eq if - local.get $0 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + local.get $0 + local.set $3 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne - local.get $1 - local.set $3 - local.get $3 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u + block $~lib/math/NativeMath.signbit|inlined.1 (result i32) + local.get $1 + local.set $3 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $3 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.1 + end i32.const 0 i32.ne i32.eq @@ -539,9 +588,9 @@ f32.sub i32.const 0 local.get $1 - call $std/math/eulpf + call $std/math/eulp32 i32.sub - call $~lib/math/NativeMathf.scalbn + call $~lib/util/math/scalbn32 local.get $2 f32.add ) @@ -564,41 +613,23 @@ return end i32.const 4 - i32.const 8 - i32.eq - drop - i32.const 4 i32.const 4 i32.eq drop local.get $0 local.get $1 local.get $2 - call $std/math/ulperrf + call $std/math/ulperr32 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 (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 + f32.lt ) (func $std/math/test_scalbnf (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 + call $~lib/util/math/scalbn32 local.get $2 local.get $3 local.get $4 @@ -636,7 +667,7 @@ local.get $3 call $std/math/check ) - (func $~lib/math/R (param $0 f64) (result f64) + (func $~lib/util/math/R64 (param $0 f64) (result f64) (local $1 f64) (local $2 f64) local.get $0 @@ -685,7 +716,7 @@ local.get $2 f64.div ) - (func $~lib/math/NativeMath.acos (param $0 f64) (result f64) + (func $~lib/util/math/acos64 (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -763,7 +794,7 @@ local.get $0 local.get $0 f64.mul - call $~lib/math/R + call $~lib/util/math/R64 f64.mul f64.sub f64.sub @@ -784,7 +815,7 @@ f64.sqrt local.set $4 local.get $6 - call $~lib/math/R + call $~lib/util/math/R64 local.get $4 f64.mul f64.const 6.123233995736766e-17 @@ -825,7 +856,7 @@ f64.div local.set $8 local.get $6 - call $~lib/math/R + call $~lib/util/math/R64 local.get $4 f64.mul local.get $8 @@ -838,8 +869,24 @@ f64.mul ) (func $std/math/test_acos (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.acos + (local $4 f64) + block $~lib/math/NativeMath.acos|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/acos64 + br $~lib/math/NativeMath.acos|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -855,7 +902,7 @@ i32.const 0 end ) - (func $~lib/math/Rf (param $0 f32) (result f32) + (func $~lib/util/math/R32 (param $0 f32) (result f32) (local $1 f32) (local $2 f32) local.get $0 @@ -880,7 +927,7 @@ local.get $2 f32.div ) - (func $~lib/math/NativeMathf.acos (param $0 f32) (result f32) + (func $~lib/util/math/acos32 (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -944,7 +991,7 @@ local.get $0 local.get $0 f32.mul - call $~lib/math/Rf + call $~lib/util/math/R32 f32.mul f32.sub f32.sub @@ -965,7 +1012,7 @@ f32.sqrt local.set $5 local.get $3 - call $~lib/math/Rf + call $~lib/util/math/R32 local.get $5 f32.mul f32.const 7.549789415861596e-08 @@ -1008,7 +1055,7 @@ f32.div local.set $7 local.get $3 - call $~lib/math/Rf + call $~lib/util/math/R32 local.get $5 f32.mul local.get $7 @@ -1021,14 +1068,26 @@ f32.mul ) (func $std/math/test_acosf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.acos + (local $4 f32) + block $~lib/math/NativeMath.acos|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/acos32 + br $~lib/math/NativeMath.acos|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log1p (param $0 f64) (result f64) + (func $~lib/util/math/log1p64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -1272,7 +1331,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.log (param $0 f64) (result f64) + (func $~lib/util/math/log64 (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -1295,7 +1354,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/log_lut|inlined.0 (result f64) + block $~lib/util/math/log64_lut|inlined.0 (result f64) local.get $0 local.set $1 local.get $1 @@ -1406,7 +1465,7 @@ f64.add local.get $10 f64.add - br $~lib/util/math/log_lut|inlined.0 + br $~lib/util/math/log64_lut|inlined.0 end local.get $2 i64.const 48 @@ -1432,7 +1491,7 @@ local.get $1 f64.mul f64.div - br $~lib/util/math/log_lut|inlined.0 + br $~lib/util/math/log64_lut|inlined.0 end local.get $2 f64.const inf @@ -1440,7 +1499,7 @@ i64.eq if local.get $1 - br $~lib/util/math/log_lut|inlined.0 + br $~lib/util/math/log64_lut|inlined.0 end local.get $12 i32.const 32768 @@ -1462,7 +1521,7 @@ local.get $1 f64.sub f64.div - br $~lib/util/math/log_lut|inlined.0 + br $~lib/util/math/log64_lut|inlined.0 end local.get $1 f64.const 4503599627370496 @@ -1605,7 +1664,7 @@ end return ) - (func $~lib/math/NativeMath.acosh (param $0 f64) (result f64) + (func $~lib/util/math/acosh64 (param $0 f64) (result f64) (local $1 i64) (local $2 i64) local.get $0 @@ -1652,7 +1711,7 @@ f64.add f64.sqrt f64.add - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 return end local.get $2 @@ -1675,17 +1734,33 @@ f64.add f64.div f64.sub - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 return end local.get $0 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const 0.6931471805599453 f64.add ) (func $std/math/test_acosh (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.acosh + (local $4 f64) + block $~lib/math/NativeMath.acosh|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/acosh64 + br $~lib/math/NativeMath.acosh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -1701,7 +1776,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log1p (param $0 f32) (result f32) + (func $~lib/util/math/log1p32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -1912,7 +1987,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.log (param $0 f32) (result f32) + (func $~lib/util/math/log32 (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -2083,7 +2158,7 @@ end return ) - (func $~lib/math/NativeMathf.acosh (param $0 f32) (result f32) + (func $~lib/util/math/acosh32 (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -2114,7 +2189,7 @@ f32.mul f32.sqrt f32.add - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 return end local.get $1 @@ -2139,23 +2214,35 @@ f32.add f32.div f32.sub - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 return end local.get $0 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const 0.6931471824645996 f32.add ) (func $std/math/test_acoshf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.acosh + (local $4 f32) + block $~lib/math/NativeMath.acosh|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/acosh32 + br $~lib/math/NativeMath.acosh|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.asin (param $0 f64) (result f64) + (func $~lib/util/math/asin64 (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2228,7 +2315,7 @@ local.get $0 local.get $0 f64.mul - call $~lib/math/R + call $~lib/util/math/R64 f64.mul f64.add return @@ -2244,7 +2331,7 @@ f64.sqrt local.set $5 local.get $4 - call $~lib/math/R + call $~lib/util/math/R64 local.set $6 local.get $2 i32.const 1072640819 @@ -2315,8 +2402,24 @@ local.get $0 ) (func $std/math/test_asin (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.asin + (local $4 f64) + block $~lib/math/NativeMath.asin|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/asin64 + br $~lib/math/NativeMath.asin|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -2332,7 +2435,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asin (param $0 f32) (result f32) + (func $~lib/util/math/asin32 (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 f32) @@ -2389,7 +2492,7 @@ local.get $0 local.get $0 f32.mul - call $~lib/math/Rf + call $~lib/util/math/R32 f32.mul f32.add return @@ -2412,7 +2515,7 @@ local.get $4 local.get $4 local.get $3 - call $~lib/math/Rf + call $~lib/util/math/R32 f64.promote_f32 f64.mul f64.add @@ -2425,14 +2528,26 @@ f32.copysign ) (func $std/math/test_asinf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.asin + (local $4 f32) + block $~lib/math/NativeMath.asin|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/asin32 + br $~lib/math/NativeMath.asin|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.asinh (param $0 f64) (result f64) + (func $~lib/util/math/asinh64 (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 f64) @@ -2457,7 +2572,7 @@ i64.ge_u if local.get $3 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const 0.6931471805599453 f64.add local.set $3 @@ -2482,7 +2597,7 @@ f64.add f64.div f64.add - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 local.set $3 else local.get $2 @@ -2505,7 +2620,7 @@ f64.add f64.div f64.add - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 local.set $3 end end @@ -2515,8 +2630,24 @@ f64.copysign ) (func $std/math/test_asinh (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.asinh + (local $4 f64) + block $~lib/math/NativeMath.asinh|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/asinh64 + br $~lib/math/NativeMath.asinh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -2532,7 +2663,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.asinh (param $0 f32) (result f32) + (func $~lib/util/math/asinh32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) local.get $0 @@ -2552,7 +2683,7 @@ i32.ge_u if local.get $2 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const 0.6931471824645996 f32.add local.set $2 @@ -2579,7 +2710,7 @@ f32.add f32.div f32.add - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 local.set $2 else local.get $1 @@ -2604,7 +2735,7 @@ f32.add f32.div f32.add - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 local.set $2 end end @@ -2614,14 +2745,26 @@ f32.copysign ) (func $std/math/test_asinhf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.asinh + (local $4 f32) + block $~lib/math/NativeMath.asinh|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/asinh32 + br $~lib/math/NativeMath.asinh|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atan (param $0 f64) (result f64) + (func $~lib/util/math/atan64 (param $0 f64) (result f64) (local $1 i32) (local $2 f64) (local $3 f64) @@ -2880,8 +3023,24 @@ f64.copysign ) (func $std/math/test_atan (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.atan + (local $4 f64) + block $~lib/math/NativeMath.atan|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/atan64 + br $~lib/math/NativeMath.atan|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -2897,7 +3056,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan (param $0 f32) (result f32) + (func $~lib/util/math/atan32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -3128,14 +3287,26 @@ f32.copysign ) (func $std/math/test_atanf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.atan + (local $4 f32) + block $~lib/math/NativeMath.atan|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/atan32 + br $~lib/math/NativeMath.atan|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atanh (param $0 f64) (result f64) + (func $~lib/util/math/atanh64 (param $0 f64) (result f64) (local $1 i64) (local $2 i64) (local $3 f64) @@ -3177,7 +3348,7 @@ f64.sub f64.div f64.add - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.mul local.set $3 end @@ -3190,7 +3361,7 @@ f64.sub f64.div f64.mul - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.mul local.set $3 end @@ -3199,8 +3370,24 @@ f64.copysign ) (func $std/math/test_atanh (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.atanh + (local $4 f64) + block $~lib/math/NativeMath.atanh|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/atanh64 + br $~lib/math/NativeMath.atanh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -3216,7 +3403,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atanh (param $0 f32) (result f32) + (func $~lib/util/math/atanh32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) local.get $0 @@ -3253,7 +3440,7 @@ f32.div f32.add f32.mul - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.mul local.set $2 end @@ -3266,7 +3453,7 @@ f32.sub f32.div f32.mul - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.mul local.set $2 end @@ -3275,14 +3462,26 @@ f32.copysign ) (func $std/math/test_atanhf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.atanh + (local $4 f32) + block $~lib/math/NativeMath.atanh|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/atanh32 + br $~lib/math/NativeMath.atanh|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.atan2 (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/atan2_64 (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -3339,7 +3538,7 @@ i32.eq if local.get $0 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 return end local.get $5 @@ -3397,10 +3596,10 @@ local.get $0 return end - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 return end - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.neg return end @@ -3415,12 +3614,12 @@ i32.const 1 i32.and if (result f64) - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.neg f64.const 2 f64.div else - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.const 2 f64.div end @@ -3440,12 +3639,12 @@ if (result f64) i32.const 3 f64.convert_i32_s - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.mul f64.const 4 f64.div else - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.const 4 f64.div end @@ -3465,7 +3664,7 @@ i32.const 2 i32.and if (result f64) - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 else f64.const 0 end @@ -3502,12 +3701,12 @@ i32.const 1 i32.and if (result f64) - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.neg f64.const 2 f64.div else - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.const 2 f64.div end @@ -3535,7 +3734,7 @@ local.get $1 f64.div f64.abs - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 local.set $10 end block $break|1 @@ -3570,7 +3769,7 @@ f64.neg return end - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 local.get $10 f64.const 1.2246467991473532e-16 f64.sub @@ -3580,16 +3779,35 @@ local.get $10 f64.const 1.2246467991473532e-16 f64.sub - global.get $~lib/math/NativeMath.PI + f64.const 3.141592653589793 f64.sub return end unreachable ) (func $std/math/test_atan2 (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 $5 f64) + (local $6 f64) + block $~lib/math/NativeMath.atan2|inlined.0 (result f64) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $6 + local.get $5 + call $~lib/util/math/atan2_64 + br $~lib/math/NativeMath.atan2|inlined.0 + end local.get $2 local.get $3 local.get $4 @@ -3606,7 +3824,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan2 (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/atan2_32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3640,7 +3858,7 @@ i32.eq if local.get $0 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 return end local.get $3 @@ -3831,7 +4049,7 @@ local.get $1 f32.div f32.abs - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 local.set $7 end block $break|1 @@ -3883,15 +4101,30 @@ unreachable ) (func $std/math/test_atan2f (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 $5 f32) + (local $6 f32) + block $~lib/math/NativeMath.atan2|inlined.0 (result f32) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $6 + local.get $5 + call $~lib/util/math/atan2_32 + br $~lib/math/NativeMath.atan2|inlined.0 + end local.get $2 local.get $3 local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) + (func $~lib/util/math/cbrt64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 f64) @@ -4036,8 +4269,24 @@ local.get $3 ) (func $std/math/test_cbrt (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.cbrt + (local $4 f64) + block $~lib/math/NativeMath.cbrt|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/cbrt64 + br $~lib/math/NativeMath.cbrt|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -4053,7 +4302,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cbrt (param $0 f32) (result f32) + (func $~lib/util/math/cbrt32 (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -4170,8 +4419,20 @@ f32.demote_f64 ) (func $std/math/test_cbrtf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.cbrt + (local $4 f32) + block $~lib/math/NativeMath.cbrt|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/cbrt32 + br $~lib/math/NativeMath.cbrt|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -4179,10 +4440,17 @@ ) (func $std/math/test_ceil (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 + block $~lib/math/NativeMath.ceil|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f64.ceil + br $~lib/math/NativeMath.ceil|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -4200,16 +4468,23 @@ ) (func $std/math/test_ceilf (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 + block $~lib/math/NativeMath.ceil|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f32.ceil + br $~lib/math/NativeMath.ceil|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/pio2_large_quot (param $0 f64) (param $1 i64) (result i32) + (func $~lib/util/math/pio2_64_large_quot (param $0 f64) (param $1 i64) (result i32) (local $2 i64) (local $3 i64) (local $4 i64) @@ -4384,14 +4659,14 @@ i64.const 32 i64.shr_u i64.add - global.set $~lib/math/res128_hi + global.set $~lib/util/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 + global.get $~lib/util/math/res128_hi local.set $21 local.get $6 local.get $14 @@ -4527,14 +4802,14 @@ i64.const 32 i64.shr_u i64.add - global.set $~lib/math/res128_hi + global.set $~lib/util/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 + global.get $~lib/util/math/res128_hi local.set $32 local.get $32 i64.const 11 @@ -4572,14 +4847,14 @@ i64.extend_i32_u i64.add f64.convert_i64_u - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/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 + global.set $~lib/util/math/rempio2_y1 local.get $19 i64.const 52 i64.shl @@ -4596,18 +4871,18 @@ i64.or f64.reinterpret_i64 local.set $36 - global.get $~lib/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y0 local.get $36 f64.mul - global.set $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y1 local.get $36 f64.mul - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $30 i32.wrap_i64 ) - (func $~lib/math/NativeMath.cos (param $0 f64) (result f64) + (func $~lib/util/math/cos64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -4726,7 +5001,7 @@ f64.sub return end - block $~lib/math/rempio2|inlined.0 (result i32) + block $~lib/util/math/rempio2_64|inlined.0 (result i32) local.get $0 local.set $4 local.get $1 @@ -4826,11 +5101,11 @@ local.set $13 end local.get $8 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $7 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $13 - br $~lib/math/rempio2|inlined.0 + br $~lib/util/math/rempio2_64|inlined.0 end local.get $12 i32.const 1094263291 @@ -4952,16 +5227,16 @@ f64.sub local.set $5 local.get $6 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $5 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $7 i32.trunc_sat_f64_s - br $~lib/math/rempio2|inlined.0 + br $~lib/util/math/rempio2_64|inlined.0 end local.get $4 local.get $11 - call $~lib/math/pio2_large_quot + call $~lib/util/math/pio2_64_large_quot local.set $15 i32.const 0 local.get $15 @@ -4971,15 +5246,15 @@ select end local.set $17 - global.get $~lib/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y0 local.set $18 - global.get $~lib/math/rempio2_y1 + global.get $~lib/util/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) + block $~lib/util/math/sin64_kern|inlined.0 (result f64) local.get $18 local.set $7 local.get $19 @@ -5030,7 +5305,7 @@ f64.add f64.mul f64.add - br $~lib/math/sin_kern|inlined.0 + br $~lib/util/math/sin64_kern|inlined.0 else local.get $7 local.get $4 @@ -5049,7 +5324,7 @@ f64.mul f64.sub f64.sub - br $~lib/math/sin_kern|inlined.0 + br $~lib/util/math/sin64_kern|inlined.0 end unreachable end @@ -5130,8 +5405,24 @@ end ) (func $std/math/test_cos (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.cos + (local $4 f64) + block $~lib/math/NativeMath.cos|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -5147,7 +5438,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.cos (param $0 f32) (result f32) + (func $~lib/util/math/cos32 (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -5527,7 +5818,7 @@ f32.sub return end - block $~lib/math/rempio2f|inlined.0 (result i32) + block $~lib/util/math/rempio2_32|inlined.0 (result i32) local.get $0 local.set $10 local.get $1 @@ -5554,10 +5845,10 @@ f64.const 1.5893254773528196e-08 f64.mul f64.sub - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $6 i32.trunc_sat_f64_s - br $~lib/math/rempio2f|inlined.0 + br $~lib/util/math/rempio2_32|inlined.0 end local.get $10 local.set $12 @@ -5664,7 +5955,7 @@ local.get $22 f64.convert_i64_s f64.mul - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $23 local.set $23 i32.const 0 @@ -5675,7 +5966,7 @@ select end local.set $24 - global.get $~lib/math/rempio2f_y + global.get $~lib/util/math/rempio2_32_y local.set $25 local.get $24 i32.const 1 @@ -5766,14 +6057,26 @@ end ) (func $std/math/test_cosf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.cos + (local $4 f32) + block $~lib/math/NativeMath.cos|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/cos32 + br $~lib/math/NativeMath.cos|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.expm1 (param $0 f64) (result f64) + (func $~lib/util/math/expm1_64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -6086,7 +6389,7 @@ local.get $14 f64.mul ) - (func $~lib/math/NativeMath.exp (param $0 f64) (result f64) + (func $~lib/util/math/exp64 (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 i32) @@ -6370,7 +6673,7 @@ end return ) - (func $~lib/math/NativeMath.cosh (param $0 f64) (result f64) + (func $~lib/util/math/cosh64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 f64) @@ -6408,7 +6711,7 @@ return end local.get $0 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.set $3 f64.const 1 local.get $3 @@ -6428,7 +6731,7 @@ i32.lt_u if local.get $0 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 local.set $3 f64.const 0.5 local.get $3 @@ -6458,7 +6761,7 @@ local.get $5 f64.const 1416.0996898839683 f64.sub - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 local.get $4 local.get $6 f64.mul @@ -6469,8 +6772,24 @@ local.get $3 ) (func $std/math/test_cosh (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.cosh + (local $4 f64) + block $~lib/math/NativeMath.cosh|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/cosh64 + br $~lib/math/NativeMath.cosh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -6486,7 +6805,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.expm1 (param $0 f32) (result f32) + (func $~lib/util/math/expm1_32 (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6779,7 +7098,7 @@ local.get $13 f32.mul ) - (func $~lib/math/NativeMathf.exp (param $0 f32) (result f32) + (func $~lib/util/math/exp32 (param $0 f32) (result f32) (local $1 f32) (local $2 f64) (local $3 i32) @@ -6795,7 +7114,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/expf_lut|inlined.0 (result f32) + block $~lib/util/math/exp32_lut|inlined.0 (result f32) local.get $0 local.set $1 local.get $1 @@ -6819,7 +7138,7 @@ i32.eq if f32.const 0 - br $~lib/util/math/expf_lut|inlined.0 + br $~lib/util/math/exp32_lut|inlined.0 end local.get $4 i32.const 2040 @@ -6828,7 +7147,7 @@ local.get $1 local.get $1 f32.add - br $~lib/util/math/expf_lut|inlined.0 + br $~lib/util/math/exp32_lut|inlined.0 end local.get $1 i32.const 1118925335 @@ -6838,7 +7157,7 @@ local.get $1 f32.const 1701411834604692317316873e14 f32.mul - br $~lib/util/math/expf_lut|inlined.0 + br $~lib/util/math/exp32_lut|inlined.0 end local.get $1 i32.const -1026559564 @@ -6846,7 +7165,7 @@ f32.lt if f32.const 0 - br $~lib/util/math/expf_lut|inlined.0 + br $~lib/util/math/exp32_lut|inlined.0 end end f64.const 46.16624130844683 @@ -6917,7 +7236,7 @@ end return ) - (func $~lib/math/NativeMathf.cosh (param $0 f32) (result f32) + (func $~lib/util/math/cosh32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -6948,7 +7267,7 @@ return end local.get $0 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.set $2 f32.const 1 local.get $2 @@ -6968,7 +7287,7 @@ i32.lt_u if local.get $0 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 local.set $2 f32.const 0.5 local.get $2 @@ -6995,7 +7314,7 @@ local.get $3 f32.const 162.88958740234375 f32.sub - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 local.get $2 local.get $4 f32.mul @@ -7004,16 +7323,44 @@ f32.mul ) (func $std/math/test_coshf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.cosh + (local $4 f32) + block $~lib/math/NativeMath.cosh|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/cosh32 + br $~lib/math/NativeMath.cosh|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) (func $std/math/test_exp (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.exp + (local $4 f64) + block $~lib/math/NativeMath.exp|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/exp64 + br $~lib/math/NativeMath.exp|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -7030,16 +7377,44 @@ end ) (func $std/math/test_expf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.exp + (local $4 f32) + block $~lib/math/NativeMath.exp|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/exp32 + br $~lib/math/NativeMath.exp|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) (func $std/math/test_expm1 (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.expm1 + (local $4 f64) + block $~lib/math/NativeMath.expm1|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/expm1_64 + br $~lib/math/NativeMath.expm1|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -7056,289 +7431,313 @@ end ) (func $std/math/test_expm1f (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.expm1 + (local $4 f32) + block $~lib/math/NativeMath.expm1|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/expm1_32 + br $~lib/math/NativeMath.expm1|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.exp2 (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) + (func $~lib/util/math/exp2_64_lut (param $0 f64) (result f64) + (local $1 i64) + (local $2 i32) + (local $3 f64) + (local $4 i64) + (local $5 f64) + (local $6 i32) + (local $7 i64) + (local $8 f64) + (local $9 i64) + (local $10 f64) (local $11 f64) - (local $12 f64) + (local $12 i64) (local $13 i64) - (local $14 i64) + (local $14 f64) (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 $0 + i64.reinterpret_f64 + local.set $1 + local.get $1 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + i32.wrap_i64 + local.set $2 + local.get $2 + i32.const 969 + i32.sub + i32.const 63 + i32.ge_u + if 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.const -2147483648 i32.ge_u if - local.get $3 - i32.const 969 - i32.sub - i32.const -2147483648 + f64.const 1 + return + end + local.get $2 + i32.const 1033 + i32.ge_u + if + local.get $1 + i64.const -4503599627370496 + i64.eq + if + f64.const 0 + return + end + local.get $2 + i32.const 2047 i32.ge_u if f64.const 1 - br $~lib/util/math/exp2_lut|inlined.0 + local.get $0 + f64.add + return end - local.get $3 - i32.const 1033 - i32.ge_u + local.get $1 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + i32.eqz if - local.get $2 - i64.const -4503599627370496 - i64.eq + f64.const inf + return + else + local.get $1 + i64.const -4570929321408987136 + i64.ge_u 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 + return 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 - i32.const 127 - i64.extend_i32_s - i64.and i64.const 1 i64.shl - i32.wrap_i64 - local.set $7 - local.get $5 - i64.const 52 - i32.const 7 - i64.extend_i32_s - i64.sub - i64.shl - local.set $8 - i32.const 4640 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $9 - i32.const 4640 - 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 + i64.const -9143996093422370816 + i64.gt_u 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 + i32.const 0 + local.set $2 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 (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 + f64.const 52776558133248 + f64.add + local.set $3 local.get $3 - call $std/math/check + i64.reinterpret_f64 + local.set $4 + local.get $3 + f64.const 52776558133248 + f64.sub + local.set $3 + local.get $0 + local.get $3 + f64.sub + local.set $5 + local.get $4 + i32.const 127 + i64.extend_i32_s + i64.and + i64.const 1 + i64.shl + i32.wrap_i64 + local.set $6 + local.get $4 + i64.const 52 + i32.const 7 + i64.extend_i32_s + i64.sub + i64.shl + local.set $7 + i32.const 4640 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + f64.reinterpret_i64 + local.set $8 + i32.const 4640 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load offset=8 + local.get $7 + i64.add + local.set $9 + local.get $5 + local.get $5 + f64.mul + local.set $10 + local.get $8 + local.get $5 + f64.const 0.6931471805599453 + f64.mul + f64.add + local.get $10 + f64.const 0.24022650695909065 + local.get $5 + f64.const 0.0555041086686087 + f64.mul + f64.add + f64.mul + f64.add + local.get $10 + local.get $10 + f64.mul + f64.const 0.009618131975721055 + local.get $5 + f64.const 1.3332074570119598e-03 + f64.mul + f64.add + f64.mul + f64.add + local.set $11 + local.get $2 + i32.const 0 + i32.eq + if + block $~lib/util/math/specialcase2|inlined.0 (result f64) + local.get $11 + local.set $14 + local.get $9 + local.set $13 + local.get $4 + local.set $12 + local.get $12 + i64.const 2147483648 + i64.and + i64.const 0 + i64.eq + if + local.get $13 + i64.const 1 + i64.const 52 + i64.shl + i64.sub + local.set $13 + local.get $13 + f64.reinterpret_i64 + local.set $15 + f64.const 2 + local.get $15 + local.get $14 + f64.mul + local.get $15 + f64.add + f64.mul + br $~lib/util/math/specialcase2|inlined.0 + end + local.get $13 + i64.const 1022 + i64.const 52 + i64.shl + i64.add + local.set $13 + local.get $13 + f64.reinterpret_i64 + local.set $15 + local.get $15 + local.get $14 + f64.mul + local.get $15 + f64.add + local.set $16 + local.get $16 + f64.const 1 + f64.lt + if + local.get $15 + local.get $16 + f64.sub + local.get $15 + local.get $14 + f64.mul + f64.add + local.set $18 + f64.const 1 + local.get $16 + f64.add + local.set $17 + f64.const 1 + local.get $17 + f64.sub + local.get $16 + f64.add + local.get $18 + f64.add + local.set $18 + local.get $17 + local.get $18 + f64.add + f64.const 1 + f64.sub + local.set $16 + end + local.get $16 + f64.const 2.2250738585072014e-308 + f64.mul + end + return + end + local.get $9 + f64.reinterpret_i64 + local.set $19 + local.get $19 + local.get $11 + f64.mul + local.get $19 + f64.add + ) + (func $std/math/test_exp2 (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + block $~lib/math/NativeMath.exp2|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/exp2_64_lut + br $~lib/math/NativeMath.exp2|inlined.0 + end + local.get $1 + local.get $2 + local.get $3 + call $std/math/check if (result i32) f64.const 2 local.get $0 @@ -7351,133 +7750,140 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.exp2 (param $0 f32) (result f32) - (local $1 f32) - (local $2 f64) + (func $~lib/util/math/exp2_32_lut (param $0 f32) (result f32) + (local $1 f64) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i64) - (local $7 f64) - (local $8 i64) + (local $4 f64) + (local $5 i64) + (local $6 f64) + (local $7 i64) + (local $8 f64) (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 $0 + f64.promote_f32 + local.set $1 + local.get $0 + i32.reinterpret_f32 + local.set $2 + local.get $2 + i32.const 20 + i32.shr_u + i32.const 2047 + i32.and + local.set $3 + local.get $3 + i32.const 1072 + i32.ge_u + if + local.get $2 + i32.const -8388608 + i32.eq + if + f32.const 0 + return + end local.get $3 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - local.set $4 - local.get $4 - i32.const 1072 + i32.const 2040 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 + local.get $0 + local.get $0 + f32.add + return + end + local.get $0 + f32.const 0 + f32.gt + if + local.get $0 + f32.const 1701411834604692317316873e14 + f32.mul + return + end + local.get $0 + f32.const -150 + f32.le + if 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 + return 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 6688 - 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 - i32.const 5 - i64.extend_i32_s - 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 + local.get $1 + f64.const 211106232532992 + f64.add + local.set $4 + local.get $4 + i64.reinterpret_f64 + local.set $5 + local.get $1 + local.get $4 + f64.const 211106232532992 + f64.sub + f64.sub + local.set $6 + i32.const 6688 + local.get $5 + i32.wrap_i64 + i32.const 31 + i32.and + i32.const 3 + i32.shl + i32.add + i64.load + local.set $7 + local.get $7 + local.get $5 + i64.const 52 + i32.const 5 + i64.extend_i32_s + i64.sub + i64.shl + i64.add + local.set $7 + local.get $7 + f64.reinterpret_i64 + local.set $9 + f64.const 0.6931471806916203 + local.get $6 + f64.mul + f64.const 1 + f64.add + local.set $8 + local.get $8 + f64.const 0.05550361559341535 + local.get $6 + f64.mul + f64.const 0.2402284522445722 + f64.add + local.get $6 + local.get $6 + f64.mul + f64.mul + f64.add + local.set $8 + local.get $8 + local.get $9 + f64.mul + local.set $8 + local.get $8 + f32.demote_f64 ) (func $std/math/test_exp2f (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.exp2 + (local $4 f32) + block $~lib/math/NativeMath.exp2|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/exp2_32_lut + br $~lib/math/NativeMath.exp2|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -7485,10 +7891,17 @@ ) (func $std/math/test_floor (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 + block $~lib/math/NativeMath.floor|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f64.floor + br $~lib/math/NativeMath.floor|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -7506,16 +7919,23 @@ ) (func $std/math/test_floorf (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 + block $~lib/math/NativeMath.floor|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f32.floor + br $~lib/math/NativeMath.floor|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.hypot (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/hypot64 (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -7715,15 +8135,34 @@ f64.mul ) (func $std/math/test_hypot (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 $5 f64) + (local $6 f64) + block $~lib/math/NativeMath.hypot|inlined.0 (result f64) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $6 + local.get $5 + call $~lib/util/math/hypot64 + br $~lib/math/NativeMath.hypot|inlined.0 + end local.get $2 local.get $3 local.get $4 call $std/math/check ) - (func $~lib/math/NativeMathf.hypot (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/hypot32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7855,17 +8294,48 @@ f32.mul ) (func $std/math/test_hypotf (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 $5 f32) + (local $6 f32) + block $~lib/math/NativeMath.hypot|inlined.0 (result f32) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $6 + local.get $5 + call $~lib/util/math/hypot32 + br $~lib/math/NativeMath.hypot|inlined.0 + end local.get $2 local.get $3 local.get $4 call $std/math/check ) (func $std/math/test_log (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log + (local $4 f64) + block $~lib/math/NativeMath.log|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/log64 + br $~lib/math/NativeMath.log|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -7882,14 +8352,26 @@ end ) (func $std/math/test_logf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log + (local $4 f32) + block $~lib/math/NativeMath.log|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/log32 + br $~lib/math/NativeMath.log|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log10 (param $0 f64) (result f64) + (func $~lib/util/math/log10_64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -8150,8 +8632,24 @@ f64.add ) (func $std/math/test_log10 (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log10 + (local $4 f64) + block $~lib/math/NativeMath.log10|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/log10_64 + br $~lib/math/NativeMath.log10|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -8167,7 +8665,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log10 (param $0 f32) (result f32) + (func $~lib/util/math/log10_32 (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -8368,16 +8866,44 @@ f32.add ) (func $std/math/test_log10f (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log10 + (local $4 f32) + block $~lib/math/NativeMath.log10|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/log10_32 + br $~lib/math/NativeMath.log10|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) (func $std/math/test_log1p (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log1p + (local $4 f64) + block $~lib/math/NativeMath.log1p|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/log1p64 + br $~lib/math/NativeMath.log1p|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -8394,14 +8920,26 @@ end ) (func $std/math/test_log1pf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log1p + (local $4 f32) + block $~lib/math/NativeMath.log1p|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/log1p32 + br $~lib/math/NativeMath.log1p|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.log2 (param $0 f64) (result f64) + (func $~lib/util/math/log2_64 (param $0 f64) (result f64) (local $1 f64) (local $2 i64) (local $3 f64) @@ -8429,7 +8967,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/log2_lut|inlined.0 (result f64) + block $~lib/util/math/log2_64_lut|inlined.0 (result f64) local.get $0 local.set $1 local.get $1 @@ -8534,7 +9072,7 @@ local.get $11 local.get $7 f64.add - br $~lib/util/math/log2_lut|inlined.0 + br $~lib/util/math/log2_64_lut|inlined.0 end local.get $2 i64.const 48 @@ -8560,14 +9098,14 @@ local.get $1 f64.mul f64.div - br $~lib/util/math/log2_lut|inlined.0 + br $~lib/util/math/log2_64_lut|inlined.0 end local.get $2 i64.const 9218868437227405312 i64.eq if local.get $1 - br $~lib/util/math/log2_lut|inlined.0 + br $~lib/util/math/log2_64_lut|inlined.0 end local.get $12 i32.const 32768 @@ -8589,7 +9127,7 @@ local.get $1 f64.sub f64.div - br $~lib/util/math/log2_lut|inlined.0 + br $~lib/util/math/log2_64_lut|inlined.0 end local.get $1 f64.const 4503599627370496 @@ -8755,8 +9293,24 @@ return ) (func $std/math/test_log2 (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.log2 + (local $4 f64) + block $~lib/math/NativeMath.log2|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/log2_64 + br $~lib/math/NativeMath.log2|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -8772,7 +9326,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log2 (param $0 f32) (result f32) + (func $~lib/util/math/log2_32 (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -8792,7 +9346,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/log2f_lut|inlined.0 (result f32) + block $~lib/util/math/log2_32_lut|inlined.0 (result f32) local.get $0 local.set $1 local.get $1 @@ -8814,14 +9368,14 @@ if f32.const inf f32.neg - br $~lib/util/math/log2f_lut|inlined.0 + br $~lib/util/math/log2_32_lut|inlined.0 end local.get $2 i32.const 2139095040 i32.eq if local.get $1 - br $~lib/util/math/log2f_lut|inlined.0 + br $~lib/util/math/log2_32_lut|inlined.0 end local.get $2 i32.const 31 @@ -8843,7 +9397,7 @@ local.get $1 f32.sub f32.div - br $~lib/util/math/log2f_lut|inlined.0 + br $~lib/util/math/log2_32_lut|inlined.0 end local.get $1 f32.const 8388608 @@ -8948,8 +9502,20 @@ return ) (func $std/math/test_log2f (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.log2 + (local $4 f32) + block $~lib/math/NativeMath.log2|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/log2_32 + br $~lib/math/NativeMath.log2|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -9037,7 +9603,7 @@ local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.mod (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/mod64 (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -9297,7 +9863,7 @@ (func $std/math/test_mod (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 + call $~lib/util/math/mod64 local.get $2 local.get $3 local.get $4 @@ -9314,7 +9880,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.mod (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/mod32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9568,13 +10134,13 @@ (func $std/math/test_modf (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 + call $~lib/util/math/mod32 local.get $2 local.get $3 local.get $4 call $std/math/check ) - (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/pow64 (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) (local $4 i32) @@ -9675,7 +10241,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/pow_lut|inlined.0 (result f64) + block $~lib/util/math/pow64_lut|inlined.0 (result f64) local.get $0 local.set $3 local.get $1 @@ -9736,14 +10302,14 @@ i64.eq if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_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 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -9763,7 +10329,7 @@ local.get $3 local.get $2 f64.add - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -9772,7 +10338,7 @@ i64.eq if f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 1 @@ -9788,12 +10354,12 @@ i32.eq if f64.const 0 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $2 local.get $2 f64.mul - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 local.set $9 @@ -9816,7 +10382,7 @@ i64.shr_u i32.wrap_i64 if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) + block $~lib/util/math/checkint64|inlined.0 (result i32) local.get $6 local.set $9 local.get $9 @@ -9830,7 +10396,7 @@ i64.lt_u if i32.const 0 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end local.get $11 i64.const 1023 @@ -9839,7 +10405,7 @@ i64.gt_u if i32.const 2 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end i64.const 1 i64.const 1023 @@ -9858,7 +10424,7 @@ i64.ne if i32.const 0 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end local.get $9 local.get $11 @@ -9867,7 +10433,7 @@ i64.ne if i32.const 1 - br $~lib/util/math/checkint|inlined.0 + br $~lib/util/math/checkint64|inlined.0 end i32.const 2 end @@ -9893,7 +10459,7 @@ else local.get $10 end - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 63 @@ -9901,7 +10467,7 @@ i64.const 0 i64.ne if - block $~lib/util/math/checkint|inlined.1 (result i32) + block $~lib/util/math/checkint64|inlined.1 (result i32) local.get $6 local.set $9 local.get $9 @@ -9915,7 +10481,7 @@ i64.lt_u if i32.const 0 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end local.get $11 i64.const 1023 @@ -9924,7 +10490,7 @@ i64.gt_u if i32.const 2 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end i64.const 1 i64.const 1023 @@ -9943,7 +10509,7 @@ i64.ne if i32.const 0 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end local.get $9 local.get $11 @@ -9952,7 +10518,7 @@ i64.ne if i32.const 1 - br $~lib/util/math/checkint|inlined.1 + br $~lib/util/math/checkint64|inlined.1 end i32.const 2 end @@ -9968,7 +10534,7 @@ local.get $3 f64.sub f64.div - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $12 i32.const 1 @@ -10001,7 +10567,7 @@ i64.eq if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $8 i64.const 2047 @@ -10010,7 +10576,7 @@ i64.lt_u if f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $5 i64.const 4607182418800017408 @@ -10024,7 +10590,7 @@ else f64.const 0 end - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $7 i64.const 0 @@ -10273,7 +10839,7 @@ f64.mul f64.add local.set $35 - block $~lib/util/math/exp_inline|inlined.0 (result f64) + block $~lib/util/math/exp64_inline|inlined.0 (result f64) local.get $36 local.set $15 local.get $35 @@ -10306,7 +10872,7 @@ f64.const 1 local.get $12 select - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end local.get $39 i32.const 1033 @@ -10348,7 +10914,7 @@ local.get $17 f64.mul end - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end i32.const 0 local.set $39 @@ -10544,7 +11110,7 @@ f64.const 2.2250738585072014e-308 f64.mul end - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end local.get $11 f64.reinterpret_i64 @@ -10559,9 +11125,28 @@ return ) (func $std/math/test_pow (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 $5 f64) + (local $6 f64) + block $~lib/math/NativeMath.pow|inlined.0 (result f64) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $6 + local.get $5 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.0 + end local.get $2 local.get $3 local.get $4 @@ -10578,7 +11163,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.pow (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/pow32 (param $0 f32) (param $1 f32) (result f32) (local $2 f32) (local $3 f32) (local $4 i32) @@ -10659,7 +11244,7 @@ i32.const 1 i32.lt_s drop - block $~lib/util/math/powf_lut|inlined.0 (result f32) + block $~lib/util/math/pow32_lut|inlined.0 (result f32) local.get $0 local.set $3 local.get $1 @@ -10708,14 +11293,14 @@ i32.eq if f32.const 1 - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_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 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 1 @@ -10739,7 +11324,7 @@ local.get $3 local.get $2 f32.add - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 1 @@ -10750,7 +11335,7 @@ i32.eq if f32.const nan:0x400000 - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 1 @@ -10766,12 +11351,12 @@ i32.eq if f32.const 0 - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $2 local.get $2 f32.mul - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 local.set $8 @@ -10795,7 +11380,7 @@ i32.const 31 i32.shr_u if (result i32) - block $~lib/util/math/checkintf|inlined.0 (result i32) + block $~lib/util/math/checkint32|inlined.0 (result i32) local.get $6 local.set $8 local.get $8 @@ -10809,7 +11394,7 @@ i32.lt_u if i32.const 0 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end local.get $10 i32.const 127 @@ -10818,7 +11403,7 @@ i32.gt_u if i32.const 2 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end i32.const 1 i32.const 127 @@ -10835,14 +11420,14 @@ i32.and if i32.const 0 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end local.get $8 local.get $10 i32.and if i32.const 1 - br $~lib/util/math/checkintf|inlined.0 + br $~lib/util/math/checkint32|inlined.0 end i32.const 2 end @@ -10866,13 +11451,13 @@ else local.get $9 end - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $5 i32.const 31 i32.shr_u if - block $~lib/util/math/checkintf|inlined.1 (result i32) + block $~lib/util/math/checkint32|inlined.1 (result i32) local.get $6 local.set $8 local.get $8 @@ -10886,7 +11471,7 @@ i32.lt_u if i32.const 0 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end local.get $10 i32.const 127 @@ -10895,7 +11480,7 @@ i32.gt_u if i32.const 2 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end i32.const 1 i32.const 127 @@ -10912,14 +11497,14 @@ i32.and if i32.const 0 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end local.get $8 local.get $10 i32.and if i32.const 1 - br $~lib/util/math/checkintf|inlined.1 + br $~lib/util/math/checkint32|inlined.1 end i32.const 2 end @@ -10935,7 +11520,7 @@ local.get $3 f32.sub f32.div - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $10 i32.const 1 @@ -11099,7 +11684,7 @@ select local.get $9 f32.mul - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $21 f64.const -150 @@ -11119,7 +11704,7 @@ select local.get $9 f32.mul - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end end local.get $21 @@ -11194,15 +11779,30 @@ return ) (func $std/math/test_powf (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 $5 f32) + (local $6 f32) + block $~lib/math/NativeMath.pow|inlined.0 (result f32) + local.get $0 + local.set $6 + local.get $1 + local.set $5 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $6 + local.get $5 + call $~lib/util/math/pow32 + br $~lib/math/NativeMath.pow|inlined.0 + end local.get $2 local.get $3 local.get $4 call $std/math/check ) - (func $~lib/math/murmurHash3 (param $0 i64) (result i64) + (func $~lib/util/math/murmurHash3 (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -11231,41 +11831,6 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (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 (param $0 i64) local.get $0 i64.const 0 @@ -11275,20 +11840,13 @@ local.set $0 end local.get $0 - call $~lib/math/murmurHash3 + call $~lib/util/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 + call $~lib/util/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 i32.const 1 global.set $~lib/math/random_seeded ) @@ -11344,79 +11902,31 @@ f64.const 1 f64.sub ) - (func $~lib/math/NativeMathf.random (result f32) - (local $0 i64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/math/random_seeded - i32.eqz - if - call $~lib/builtins/seed - i64.reinterpret_f64 - local.set $0 - local.get $0 - call $~lib/math/NativeMath.seedRandom - end - global.get $~lib/math/random_state0_32 - local.set $1 - global.get $~lib/math/random_state1_32 - local.set $2 - local.get $1 - i32.const -1640531525 - i32.mul - i32.const 5 - i32.rotl - i32.const 5 - i32.mul - local.set $3 - local.get $2 - local.get $1 - i32.xor - local.set $2 - local.get $1 - i32.const 26 - i32.rotl - local.get $2 - i32.xor - local.get $2 - i32.const 9 - i32.shl - i32.xor - global.set $~lib/math/random_state0_32 - local.get $2 - i32.const 13 - i32.rotl - global.set $~lib/math/random_state1_32 - local.get $3 - 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 (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) (local $4 f64) (local $5 f64) - local.get $0 - local.set $4 - local.get $4 - f64.ceil - local.set $5 - local.get $5 - local.get $5 - f64.const 1 - f64.sub - local.get $5 - f64.const 0.5 - f64.sub - local.get $4 - f64.le - select + block $~lib/math/NativeMath.round|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f64.ceil + local.set $5 + local.get $5 + local.get $5 + f64.const 1 + f64.sub + local.get $5 + f64.const 0.5 + f64.sub + local.get $4 + f64.le + select + br $~lib/math/NativeMath.round|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -11425,21 +11935,28 @@ (func $std/math/test_roundf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) (local $4 f32) (local $5 f32) - local.get $0 - local.set $4 - local.get $4 - f32.ceil - local.set $5 - local.get $5 - local.get $5 - f32.const 1 - f32.sub - local.get $5 - f32.const 0.5 - f32.sub - local.get $4 - f32.le - select + block $~lib/math/NativeMath.round|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f32.ceil + local.set $5 + local.get $5 + local.get $5 + f32.const 1 + f32.sub + local.get $5 + f32.const 0.5 + f32.sub + local.get $4 + f32.le + select + br $~lib/math/NativeMath.round|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -11447,10 +11964,14 @@ ) (func $std/math/test_sign (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) + block $~lib/math/NativeMath.sign|inlined.0 (result f64) local.get $0 local.set $4 i32.const 0 + drop + i32.const 1 + drop + i32.const 0 i32.const 0 i32.gt_s drop @@ -11469,7 +11990,7 @@ local.get $4 end end - br $~lib/math/NativeMath.sign|inlined.0 + br $~lib/math/NativeMath.sign|inlined.0 end local.get $1 local.get $2 @@ -11488,10 +12009,14 @@ ) (func $std/math/test_signf (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) + block $~lib/math/NativeMath.sign|inlined.0 (result f32) local.get $0 local.set $4 i32.const 0 + drop + i32.const 1 + drop + i32.const 0 i32.const 0 i32.gt_s drop @@ -11510,320 +12035,539 @@ local.get $4 end end - br $~lib/math/NativeMathf.sign|inlined.0 + br $~lib/math/NativeMath.sign|inlined.0 end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.rem (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i32) + (func $~lib/util/math/sin64 (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 i64) - (local $9 i32) - (local $10 i32) + (local $8 f64) + (local $9 f64) + (local $10 f64) (local $11 i64) - (local $12 f64) + (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 $2 + local.set $1 local.get $1 - i64.reinterpret_f64 + 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 - 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 + i32.const 2147483647 + i32.and + local.set $2 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 + i32.const 1072243195 + i32.le_u if - local.get $0 - local.get $1 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.div + local.get $2 + i32.const 1045430272 + i32.lt_u + if + local.get $0 + return + end + block $~lib/util/math/sin64_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/util/math/sin64_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/util/math/sin64_kern|inlined.1 + end + unreachable + end return end local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq + i32.const 2146435072 + i32.ge_u if local.get $0 + local.get $0 + f64.sub 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 1 - local.get $4 - i64.sub - 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 + block $~lib/util/math/rempio2_64|inlined.1 (result i32) + local.get $0 local.set $5 + local.get $1 + local.set $11 local.get $3 - i64.const 1 - local.get $5 - i64.sub - i64.shl - local.set $3 - else - local.get $3 - i64.const -1 - i64.const 12 + local.set $4 + local.get $11 + i64.const 32 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-loop|0 + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $12 + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $12 + i32.const 1073928572 + i32.lt_u + if + i32.const 1 + local.set $13 local.get $4 - local.get $5 - i64.lt_s + i32.eqz 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 + f64.const 1.5707963267341256 + f64.sub local.set $10 - local.get $10 + local.get $12 + i32.const 1073291771 + i32.ne 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.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 - i32.const 1 - i32.shl + 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 $4 - i64.const 1 - i64.sub - local.set $4 - br $while-continue|1 + 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/util/math/rempio2_y0 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 + global.set $~lib/util/math/rempio2_y1 + local.get $13 + br $~lib/util/math/rempio2_64|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 - i64.const 0 - i64.eq + 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 - i64.const -60 - local.set $4 - else + local.get $9 + local.set $6 local.get $8 - i64.const 11 - i64.shl - i64.clz - local.set $11 - local.get $4 - local.get $11 - i64.sub - local.set $4 + f64.const 6.077100506303966e-11 + f64.mul + local.set $10 + local.get $6 + local.get $10 + f64.sub + local.set $9 local.get $8 - local.get $11 - i64.shl - local.set $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 - br $do-break|0 + local.get $9 + local.get $7 + f64.sub + local.get $10 + f64.sub + local.set $6 + local.get $7 + global.set $~lib/util/math/rempio2_y0 + local.get $6 + global.set $~lib/util/math/rempio2_y1 + local.get $8 + i32.trunc_sat_f64_s + br $~lib/util/math/rempio2_64|inlined.1 end - unreachable + local.get $5 + local.get $11 + call $~lib/util/math/pio2_64_large_quot + local.set $15 + i32.const 0 + local.get $15 + i32.sub + local.get $15 + local.get $4 + select 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 $17 + global.get $~lib/util/math/rempio2_y0 + local.set $18 + global.get $~lib/util/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 $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 + f64.mul + local.set $5 local.get $5 - i64.eq - if (result i32) - local.get $12 - local.get $1 - f64.gt - if (result i32) - i32.const 1 + 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/util/math/sin64_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/util/math/sin64_kern|inlined.2 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 + 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/util/math/sin64_kern|inlined.2 end - else - i32.const 0 + unreachable end end - if - local.get $0 - local.get $1 - f64.sub - local.set $0 - end - local.get $6 + local.set $0 + local.get $17 + i32.const 2 + i32.and if (result f64) local.get $0 f64.neg @@ -11831,933 +12575,368 @@ local.get $0 end ) - (func $std/math/test_rem (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 i32) (result i32) - local.get $0 + (func $std/math/test_sin (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) + (local $4 f64) + block $~lib/math/NativeMath.sin|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.0 + end local.get $1 - call $~lib/math/NativeMath.rem local.get $2 local.get $3 - local.get $4 call $std/math/check + if (result i32) + local.get $0 + call $~lib/bindings/dom/Math.sin + local.get $1 + local.get $2 + local.get $3 + call $std/math/check + else + i32.const 0 + end ) - (func $~lib/math/NativeMathf.rem (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/sin32 (param $0 f32) (result f32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 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 $2 + local.set $1 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 + 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 $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 + i32.const 964689920 + i32.lt_u + if + local.get $0 + return + end 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 + f64.promote_f32 + local.set $3 + local.get $3 + local.get $3 + f64.mul local.set $4 - local.get $7 - i32.const 1 local.get $4 - i32.sub - 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.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 - i32.const 1 - local.get $5 - i32.sub - 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-loop|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 + f64.mul local.set $7 + local.get $3 local.get $7 + f64.const -0.16666666641626524 local.get $4 - i32.const 23 - i32.shl - i32.or - local.set $7 - else + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add 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 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return end - ) - (func $std/math/test_remf (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 (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 + i32.const 0 + i32.const 1 + i32.lt_s + drop 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.const 1081824209 i32.le_u if - local.get $2 - i32.const 1045430272 - i32.lt_u + local.get $1 + i32.const 1075235811 + i32.le_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 $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 $9 + 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 - 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 + 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.sub - local.get $10 - f64.const -0.16666666666666632 f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.1 + 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 - unreachable + return 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.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 $1 - local.set $11 + local.get $7 local.get $3 + f64.mul local.set $4 - local.get $11 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $12 - i32.const 0 - i32.const 1 - i32.lt_s - drop - 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_sat_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 $3 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.const -0.16666666641626524 + local.get $7 + f64.const 0.008333329385889463 f64.mul f64.add f64.mul f64.add - f64.mul - local.get $6 + local.get $4 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 + 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 - br $~lib/math/sin_kern|inlined.2 - else - local.get $16 - local.get $10 - f64.const 0.5 - local.get $9 + 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.get $9 - f64.sub + 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.16666666666666632 + f64.const 0.04166662332373906 f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.2 + f64.add + local.get $5 + local.get $6 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + f32.neg end - unreachable + return 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 (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) - local.get $0 - call $~lib/bindings/dom/Math.sin - local.get $1 local.get $2 - local.get $3 - call $std/math/check - else - i32.const 0 - end - ) - (func $~lib/math/NativeMathf.sin (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 + if (result f64) local.get $0 - return + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub end - local.get $0 - f64.promote_f32 local.set $3 local.get $3 local.get $3 @@ -12795,293 +12974,16 @@ f32.demote_f64 return end - i32.const 0 - i32.const 1 - i32.lt_s - drop 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 + 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) + block $~lib/util/math/rempio2_32|inlined.1 (result i32) local.get $0 local.set $10 local.get $1 @@ -13108,10 +13010,10 @@ f64.const 1.5893254773528196e-08 f64.mul f64.sub - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $7 i32.trunc_sat_f64_s - br $~lib/math/rempio2f|inlined.1 + br $~lib/util/math/rempio2_32|inlined.1 end local.get $10 local.set $12 @@ -13218,7 +13120,7 @@ local.get $22 f64.convert_i64_s f64.mul - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $23 local.set $23 i32.const 0 @@ -13229,7 +13131,7 @@ select end local.set $24 - global.get $~lib/math/rempio2f_y + global.get $~lib/util/math/rempio2_32_y local.set $25 local.get $24 i32.const 1 @@ -13318,14 +13220,26 @@ end ) (func $std/math/test_sinf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.sin + (local $4 f32) + block $~lib/math/NativeMath.sin|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/sin32 + br $~lib/math/NativeMath.sin|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.sinh (param $0 f64) (result f64) + (func $~lib/util/math/sinh64 (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -13355,7 +13269,7 @@ i32.lt_u if local.get $2 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.set $5 local.get $3 i32.const 1072693248 @@ -13419,7 +13333,7 @@ local.get $6 f64.const 1416.0996898839683 f64.sub - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 local.get $5 local.get $7 f64.mul @@ -13428,8 +13342,24 @@ f64.mul ) (func $std/math/test_sinh (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.sinh + (local $4 f64) + block $~lib/math/NativeMath.sinh|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/sinh64 + br $~lib/math/NativeMath.sinh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -13445,7 +13375,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.sinh (param $0 f32) (result f32) + (func $~lib/util/math/sinh32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -13469,7 +13399,7 @@ i32.lt_u if local.get $2 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.set $4 local.get $1 i32.const 1065353216 @@ -13530,7 +13460,7 @@ local.get $5 f32.const 162.88958740234375 f32.sub - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 local.get $4 local.get $6 f32.mul @@ -13539,8 +13469,20 @@ f32.mul ) (func $std/math/test_sinhf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.sinh + (local $4 f32) + block $~lib/math/NativeMath.sinh|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/sinh32 + br $~lib/math/NativeMath.sinh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -13548,10 +13490,15 @@ ) (func $std/math/test_sqrt (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 + block $~lib/math/NativeMath.sqrt|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + local.get $4 + f64.sqrt + br $~lib/math/NativeMath.sqrt|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -13569,16 +13516,21 @@ ) (func $std/math/test_sqrtf (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 + block $~lib/math/NativeMath.sqrt|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + local.get $4 + f32.sqrt + br $~lib/math/NativeMath.sqrt|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/tan_kern (param $0 f64) (param $1 f64) (param $2 i32) (result f64) + (func $~lib/util/math/tan64_kern (param $0 f64) (param $1 f64) (param $2 i32) (result f64) (local $3 f64) (local $4 f64) (local $5 f64) @@ -13791,7 +13743,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.tan (param $0 f64) (result f64) + (func $~lib/util/math/tan64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) @@ -13839,7 +13791,7 @@ local.get $0 f64.const 0 i32.const 1 - call $~lib/math/tan_kern + call $~lib/util/math/tan64_kern return end local.get $2 @@ -13851,7 +13803,7 @@ f64.sub return end - block $~lib/math/rempio2|inlined.2 (result i32) + block $~lib/util/math/rempio2_64|inlined.2 (result i32) local.get $0 local.set $6 local.get $1 @@ -13951,11 +13903,11 @@ local.set $8 end local.get $10 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $11 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $8 - br $~lib/math/rempio2|inlined.2 + br $~lib/util/math/rempio2_64|inlined.2 end local.get $7 i32.const 1094263291 @@ -14077,16 +14029,16 @@ f64.sub local.set $15 local.get $12 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $15 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $11 i32.trunc_sat_f64_s - br $~lib/math/rempio2|inlined.2 + br $~lib/util/math/rempio2_64|inlined.2 end local.get $6 local.get $5 - call $~lib/math/pio2_large_quot + call $~lib/util/math/pio2_64_large_quot local.set $14 i32.const 0 local.get $14 @@ -14096,8 +14048,8 @@ select end local.set $17 - global.get $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 + global.get $~lib/util/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y1 i32.const 1 local.get $17 i32.const 1 @@ -14105,11 +14057,27 @@ i32.const 1 i32.shl i32.sub - call $~lib/math/tan_kern + call $~lib/util/math/tan64_kern ) (func $std/math/test_tan (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.tan + (local $4 f64) + block $~lib/math/NativeMath.tan|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -14125,7 +14093,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tan (param $0 f32) (result f32) + (func $~lib/util/math/tan32 (param $0 f32) (result f32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14563,7 +14531,7 @@ f32.sub return end - block $~lib/math/rempio2f|inlined.2 (result i32) + block $~lib/util/math/rempio2_32|inlined.2 (result i32) local.get $0 local.set $12 local.get $1 @@ -14590,10 +14558,10 @@ f64.const 1.5893254773528196e-08 f64.mul f64.sub - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $10 i32.trunc_sat_f64_s - br $~lib/math/rempio2f|inlined.2 + br $~lib/util/math/rempio2_32|inlined.2 end local.get $12 local.set $14 @@ -14700,7 +14668,7 @@ local.get $24 f64.convert_i64_s f64.mul - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $25 local.set $25 i32.const 0 @@ -14711,7 +14679,7 @@ select end local.set $26 - global.get $~lib/math/rempio2f_y + global.get $~lib/util/math/rempio2_32_y local.set $27 local.get $27 local.set $4 @@ -14777,14 +14745,26 @@ f32.demote_f64 ) (func $std/math/test_tanf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.tan + (local $4 f32) + block $~lib/math/NativeMath.tan|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/tan32 + br $~lib/math/NativeMath.tan|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.tanh (param $0 f64) (result f64) + (func $~lib/util/math/tanh64 (param $0 f64) (result f64) (local $1 i64) (local $2 f64) (local $3 i32) @@ -14822,7 +14802,7 @@ f64.const 2 local.get $2 f64.mul - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.set $4 f64.const 1 f64.const 2 @@ -14841,7 +14821,7 @@ f64.const 2 local.get $2 f64.mul - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.set $4 local.get $4 local.get $4 @@ -14857,7 +14837,7 @@ f64.const -2 local.get $2 f64.mul - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.set $4 local.get $4 f64.neg @@ -14877,8 +14857,24 @@ f64.copysign ) (func $std/math/test_tanh (param $0 f64) (param $1 f64) (param $2 f64) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMath.tanh + (local $4 f64) + block $~lib/math/NativeMath.tanh|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $4 + call $~lib/util/math/tanh64 + br $~lib/math/NativeMath.tanh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -14894,7 +14890,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.tanh (param $0 f32) (result f32) + (func $~lib/util/math/tanh32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 f32) @@ -14926,7 +14922,7 @@ f32.const 2 local.get $2 f32.mul - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.set $3 f32.const 1 f32.const 2 @@ -14945,7 +14941,7 @@ f32.const 2 local.get $2 f32.mul - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.set $3 local.get $3 local.get $3 @@ -14961,7 +14957,7 @@ f32.const -2 local.get $2 f32.mul - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.set $3 local.get $3 f32.neg @@ -14981,8 +14977,20 @@ f32.copysign ) (func $std/math/test_tanhf (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) - local.get $0 - call $~lib/math/NativeMathf.tanh + (local $4 f32) + block $~lib/math/NativeMath.tanh|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + call $~lib/util/math/tanh32 + br $~lib/math/NativeMath.tanh|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -14990,10 +14998,17 @@ ) (func $std/math/test_trunc (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 + block $~lib/math/NativeMath.trunc|inlined.0 (result f64) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f64.trunc + br $~lib/math/NativeMath.trunc|inlined.0 + end local.get $1 local.get $2 local.get $3 @@ -15011,26 +15026,33 @@ ) (func $std/math/test_truncf (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 + block $~lib/math/NativeMath.trunc|inlined.0 (result f32) + local.get $0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + local.get $4 + f32.trunc + br $~lib/math/NativeMath.trunc|inlined.0 + end local.get $1 local.get $2 local.get $3 call $std/math/check ) - (func $~lib/math/NativeMath.sincos (param $0 f64) + (func $~lib/util/math/sincos64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 f64) (local $5 f64) (local $6 f64) (local $7 f64) (local $8 f64) (local $9 f64) - (local $10 f64) + (local $10 i32) (local $11 i64) (local $12 i32) (local $13 i32) @@ -15068,149 +15090,147 @@ 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 + global.set $~lib/util/math/sincos_cos64 + local.get $0 return end - block $~lib/math/sin_kern|inlined.3 (result f64) + 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 + global.set $~lib/util/math/sincos_cos64 + block $~lib/util/math/sin64_kern|inlined.3 (result f64) local.get $0 - local.set $6 - f64.const 0 local.set $5 - i32.const 0 + f64.const 0 local.set $4 - local.get $6 - local.get $6 + i32.const 0 + local.set $10 + local.get $5 + local.get $5 f64.mul - local.set $7 - local.get $7 - local.get $7 + local.set $9 + local.get $9 + local.get $9 f64.mul local.set $8 f64.const 0.00833333333332249 - local.get $7 + local.get $9 f64.const -1.984126982985795e-04 - local.get $7 + local.get $9 f64.const 2.7557313707070068e-06 f64.mul f64.add f64.mul f64.add - local.get $7 + local.get $9 local.get $8 f64.mul f64.const -2.5050760253406863e-08 - local.get $7 + local.get $9 f64.const 1.58969099521155e-10 f64.mul f64.add f64.mul f64.add - local.set $9 - local.get $7 - local.get $6 + local.set $7 + local.get $9 + local.get $5 f64.mul - local.set $10 - local.get $4 + local.set $6 + local.get $10 i32.eqz if + local.get $5 local.get $6 - local.get $10 f64.const -0.16666666666666632 - local.get $7 local.get $9 + local.get $7 f64.mul f64.add f64.mul f64.add - br $~lib/math/sin_kern|inlined.3 + br $~lib/util/math/sin64_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.const 0.5 + local.get $4 + f64.mul + local.get $6 + local.get $7 f64.mul f64.sub f64.mul - local.get $5 + local.get $4 f64.sub - local.get $10 + local.get $6 f64.const -0.16666666666666632 f64.mul f64.sub f64.sub - br $~lib/math/sin_kern|inlined.3 + br $~lib/util/math/sin64_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 @@ -15220,20 +15240,19 @@ 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 + local.set $6 + local.get $6 + global.set $~lib/util/math/sincos_cos64 + local.get $6 return end - block $~lib/math/rempio2|inlined.3 (result i32) + block $~lib/util/math/rempio2_64|inlined.3 (result i32) local.get $0 - local.set $5 + local.set $4 local.get $1 local.set $11 local.get $3 - local.set $4 + local.set $10 local.get $11 i64.const 32 i64.shr_u @@ -15251,116 +15270,116 @@ if i32.const 1 local.set $13 - local.get $4 + local.get $10 i32.eqz if - local.get $5 + local.get $4 f64.const 1.5707963267341256 f64.sub - local.set $7 + local.set $6 local.get $12 i32.const 1073291771 i32.ne if - local.get $7 + local.get $6 f64.const 6.077100506506192e-11 f64.sub - local.set $8 + local.set $7 + local.get $6 local.get $7 - local.get $8 f64.sub f64.const 6.077100506506192e-11 f64.sub - local.set $9 + local.set $8 else - local.get $7 + local.get $6 f64.const 6.077100506303966e-11 f64.sub - local.set $7 - local.get $7 + local.set $6 + local.get $6 f64.const 2.0222662487959506e-21 f64.sub - local.set $8 + local.set $7 + local.get $6 local.get $7 - local.get $8 f64.sub f64.const 2.0222662487959506e-21 f64.sub - local.set $9 + local.set $8 end else - local.get $5 + local.get $4 f64.const 1.5707963267341256 f64.add - local.set $7 + local.set $6 local.get $12 i32.const 1073291771 i32.ne if - local.get $7 + local.get $6 f64.const 6.077100506506192e-11 f64.add - local.set $8 + local.set $7 + local.get $6 local.get $7 - local.get $8 f64.sub f64.const 6.077100506506192e-11 f64.add - local.set $9 + local.set $8 else - local.get $7 + local.get $6 f64.const 6.077100506303966e-11 f64.add - local.set $7 - local.get $7 + local.set $6 + local.get $6 f64.const 2.0222662487959506e-21 f64.add - local.set $8 + local.set $7 + local.get $6 local.get $7 - local.get $8 f64.sub f64.const 2.0222662487959506e-21 f64.add - local.set $9 + local.set $8 end i32.const -1 local.set $13 end + local.get $7 + global.set $~lib/util/math/rempio2_y0 local.get $8 - global.set $~lib/math/rempio2_y0 - local.get $9 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $13 - br $~lib/math/rempio2|inlined.3 + br $~lib/util/math/rempio2_64|inlined.3 end local.get $12 i32.const 1094263291 i32.lt_u if - local.get $5 + local.get $4 f64.const 0.6366197723675814 f64.mul f64.nearest - local.set $9 - local.get $5 - local.get $9 + local.set $8 + local.get $4 + local.get $8 f64.const 1.5707963267341256 f64.mul f64.sub - local.set $8 - local.get $9 + local.set $7 + local.get $8 f64.const 6.077100506506192e-11 f64.mul - local.set $7 + local.set $6 local.get $12 i32.const 20 i32.shr_u local.set $13 - local.get $8 local.get $7 + local.get $6 f64.sub - local.set $10 - local.get $10 + local.set $9 + local.get $9 i64.reinterpret_f64 i64.const 32 i64.shr_u @@ -15378,31 +15397,31 @@ i32.const 16 i32.gt_u if + local.get $7 + local.set $5 local.get $8 - local.set $6 - local.get $9 f64.const 6.077100506303966e-11 f64.mul - local.set $7 + local.set $6 + local.get $5 local.get $6 - local.get $7 f64.sub - local.set $8 - local.get $9 + local.set $7 + local.get $8 f64.const 2.0222662487959506e-21 f64.mul - local.get $6 - local.get $8 - f64.sub + local.get $5 local.get $7 f64.sub + local.get $6 + f64.sub f64.sub - local.set $7 - local.get $8 + local.set $6 local.get $7 + local.get $6 f64.sub - local.set $10 - local.get $10 + local.set $9 + local.get $9 i64.reinterpret_f64 i64.const 32 i64.shr_u @@ -15420,133 +15439,133 @@ i32.const 49 i32.gt_u if - local.get $8 + local.get $7 local.set $16 - local.get $9 + local.get $8 f64.const 2.0222662487111665e-21 f64.mul - local.set $7 + local.set $6 local.get $16 - local.get $7 + local.get $6 f64.sub - local.set $8 - local.get $9 + local.set $7 + local.get $8 f64.const 8.4784276603689e-32 f64.mul local.get $16 - local.get $8 - f64.sub local.get $7 f64.sub + local.get $6 f64.sub - local.set $7 - local.get $8 + f64.sub + local.set $6 local.get $7 + local.get $6 f64.sub - local.set $10 + local.set $9 end end - local.get $8 - local.get $10 - f64.sub local.get $7 + local.get $9 f64.sub - local.set $6 - local.get $10 - global.set $~lib/math/rempio2_y0 local.get $6 - global.set $~lib/math/rempio2_y1 + f64.sub + local.set $5 local.get $9 + global.set $~lib/util/math/rempio2_y0 + local.get $5 + global.set $~lib/util/math/rempio2_y1 + local.get $8 i32.trunc_sat_f64_s - br $~lib/math/rempio2|inlined.3 + br $~lib/util/math/rempio2_64|inlined.3 end - local.get $5 + local.get $4 local.get $11 - call $~lib/math/pio2_large_quot + call $~lib/util/math/pio2_64_large_quot local.set $15 i32.const 0 local.get $15 i32.sub local.get $15 - local.get $4 + local.get $10 select end local.set $17 - global.get $~lib/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y0 local.set $18 - global.get $~lib/math/rempio2_y1 + global.get $~lib/util/math/rempio2_y1 local.set $19 - block $~lib/math/sin_kern|inlined.4 (result f64) + block $~lib/util/math/sin64_kern|inlined.4 (result f64) local.get $18 - local.set $9 + local.set $8 local.get $19 local.set $16 i32.const 1 local.set $13 - local.get $9 - local.get $9 + local.get $8 + local.get $8 f64.mul - local.set $5 - local.get $5 - local.get $5 + local.set $4 + local.get $4 + local.get $4 f64.mul - local.set $6 + local.set $5 f64.const 0.00833333333332249 - local.get $5 + local.get $4 f64.const -1.984126982985795e-04 - local.get $5 + local.get $4 f64.const 2.7557313707070068e-06 f64.mul f64.add f64.mul f64.add + local.get $4 local.get $5 - local.get $6 f64.mul f64.const -2.5050760253406863e-08 - local.get $5 + local.get $4 f64.const 1.58969099521155e-10 f64.mul f64.add f64.mul f64.add - local.set $10 - local.get $5 - local.get $9 + local.set $9 + local.get $4 + local.get $8 f64.mul - local.set $7 + local.set $6 local.get $13 i32.eqz if - local.get $9 - local.get $7 + local.get $8 + local.get $6 f64.const -0.16666666666666632 - local.get $5 - local.get $10 + local.get $4 + local.get $9 f64.mul f64.add f64.mul f64.add - br $~lib/math/sin_kern|inlined.4 + br $~lib/util/math/sin64_kern|inlined.4 else - local.get $9 - local.get $5 + local.get $8 + local.get $4 f64.const 0.5 local.get $16 f64.mul - local.get $7 - local.get $10 + local.get $6 + local.get $9 f64.mul f64.sub f64.mul local.get $16 f64.sub - local.get $7 + local.get $6 f64.const -0.16666666666666632 f64.mul f64.sub f64.sub - br $~lib/math/sin_kern|inlined.4 + br $~lib/util/math/sin64_kern|inlined.4 end unreachable end @@ -15554,33 +15573,33 @@ local.get $18 local.set $16 local.get $19 - local.set $8 + local.set $7 local.get $16 local.get $16 f64.mul - local.set $7 - local.get $7 - local.get $7 + local.set $6 + local.get $6 + local.get $6 f64.mul - local.set $10 - local.get $7 + local.set $9 + local.get $6 f64.const 0.0416666666666666 - local.get $7 + local.get $6 f64.const -0.001388888888887411 - local.get $7 + local.get $6 f64.const 2.480158728947673e-05 f64.mul f64.add f64.mul f64.add f64.mul - local.get $10 - local.get $10 + local.get $9 + local.get $9 f64.mul f64.const -2.7557314351390663e-07 - local.get $7 + local.get $6 f64.const 2.087572321298175e-09 - local.get $7 + local.get $6 f64.const -1.1359647557788195e-11 f64.mul f64.add @@ -15588,26 +15607,26 @@ f64.add f64.mul f64.add - local.set $6 + local.set $5 f64.const 0.5 - local.get $7 + local.get $6 f64.mul - local.set $5 + local.set $4 f64.const 1 - local.get $5 + local.get $4 f64.sub - local.set $10 - local.get $10 + local.set $9 + local.get $9 f64.const 1 - local.get $10 + local.get $9 f64.sub - local.get $5 + local.get $4 f64.sub - local.get $7 local.get $6 + local.get $5 f64.mul local.get $16 - local.get $8 + local.get $7 f64.mul f64.sub f64.add @@ -15638,10 +15657,9 @@ 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 + global.set $~lib/util/math/sincos_cos64 + local.get $22 ) (func $std/math/test_sincos (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (param $5 i32) (result i32) (local $6 f64) @@ -15649,6 +15667,7 @@ (local $8 f64) (local $9 f64) (local $10 f64) + (local $11 f64) local.get $0 f64.reinterpret_i64 local.set $6 @@ -15665,7 +15684,22 @@ f64.reinterpret_i64 local.set $10 local.get $6 - call $~lib/math/NativeMath.sincos + local.set $11 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $11 + call $~lib/util/math/sincos64 + global.set $~lib/math/NativeMath.sincos_sin + global.get $~lib/util/math/sincos_cos64 + global.set $~lib/math/NativeMath.sincos_cos global.get $~lib/math/NativeMath.sincos_sin local.get $7 local.get $9 @@ -15681,7 +15715,7 @@ i32.const 0 end ) - (func $~lib/math/dtoi32 (param $0 f64) (result i32) + (func $~lib/util/math/dtoi32 (param $0 f64) (result i32) (local $1 i32) (local $2 i64) (local $3 i64) @@ -15762,8 +15796,12 @@ local.get $1 return ) - (func $~lib/math/NativeMath.imul (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (param $0 f64) (param $1 f64) (result f64) (local $2 f64) + i32.const 0 + drop + i32.const 1 + drop local.get $0 local.get $1 f64.add @@ -15778,13 +15816,18 @@ return end local.get $0 - call $~lib/math/dtoi32 + call $~lib/util/math/dtoi32 local.get $1 - call $~lib/math/dtoi32 + call $~lib/util/math/dtoi32 i32.mul f64.convert_i32_s + return ) - (func $~lib/math/NativeMath.clz32 (param $0 f64) (result f64) + (func $~lib/math/NativeMath.clz32 (param $0 f64) (result i32) + i32.const 0 + drop + i32.const 1 + drop local.get $0 local.get $0 f64.sub @@ -15792,15 +15835,15 @@ f64.eq i32.eqz if - f64.const 32 + i32.const 32 return end local.get $0 - call $~lib/math/dtoi32 + call $~lib/util/math/dtoi32 i32.clz - f64.convert_i32_s + return ) - (func $~lib/math/ipow64 (param $0 i64) (param $1 i64) (result i64) + (func $~lib/util/math/ipow64 (param $0 i64) (param $1 i64) (result i64) (local $2 i64) (local $3 i32) (local $4 i32) @@ -16063,7 +16106,7 @@ end local.get $2 ) - (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/math/ipow32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16276,2890 +16319,1150 @@ local.get $0 local.get $0 i32.mul - local.set $0 - br $while-continue|1 - end - end - local.get $2 - ) - (func $start:std/math - (local $0 f64) - (local $1 i32) - (local $2 i32) - (local $3 i64) - (local $4 f32) - (local $5 f64) - global.get $~lib/math/NativeMath.E - global.get $~lib/math/NativeMath.E - f64.eq - drop - global.get $~lib/math/NativeMathf.E - global.get $~lib/math/NativeMathf.E - f32.eq - drop - global.get $~lib/math/NativeMath.E - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.LN2 - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.LN10 - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.LOG2E - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.PI - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.SQRT1_2 - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMath.SQRT2 - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.E - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.LN2 - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.LN10 - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.LOG2E - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.PI - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.SQRT1_2 - global.get $~lib/bindings/dom/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 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/math/NativeMathf.SQRT2 - global.get $~lib/bindings/dom/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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - i32.const 0 - f64.const inf - f64.neg - 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 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - i32.const 2147483647 - f64.const inf - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 157 - i32.const 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - i32.const 2147483647 - f64.const inf - f64.neg - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.000244140625 - i32.const -1074 - f64.const 5e-324 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 164 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7499999999999999 - i32.const -1073 - f64.const 5e-324 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 165 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5000000000000012 - i32.const -1024 - f64.const 2.781342323134007e-309 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbn - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 166 - i32.const 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - i32.const 0 - f32.const inf - f32.neg - 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 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - i32.const 2147483647 - f32.const inf - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 196 - i32.const 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - i32.const 2147483647 - f32.const inf - f32.neg - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1.000244140625 - i32.const -149 - f32.const 1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 203 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7499999403953552 - i32.const -148 - f32.const 1.401298464324817e-45 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 204 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5000006556510925 - i32.const -128 - f32.const 1.4693693398263237e-39 - f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_scalbnf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 205 - i32.const 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.neg - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.neg - 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 1 - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 274 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 275 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.set $0 + br $while-continue|1 + end end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 + local.get $2 + ) + (func $start:std/math + (local $0 f64) + (local $1 f64) + (local $2 i32) + (local $3 i32) + (local $4 f32) + global.get $~lib/math/NativeMath.E + global.get $~lib/math/NativeMath.E + f64.eq + drop + global.get $~lib/math/NativeMath.E + global.get $~lib/bindings/dom/Math.E f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos + i32.const 0 + call $std/math/check i32.eqz if i32.const 0 i32.const 32 - i32.const 276 + i32.const 115 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 + global.get $~lib/math/NativeMath.LN2 + global.get $~lib/bindings/dom/Math.LN2 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos + i32.const 0 + call $std/math/check i32.eqz if i32.const 0 i32.const 32 - i32.const 277 + i32.const 116 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 + global.get $~lib/math/NativeMath.LN10 + global.get $~lib/bindings/dom/Math.LN10 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 278 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.6619858980995045 - f64.const 0.8473310828433507 - f64.const -0.41553276777267456 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 279 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.4066039223853553 - f64.const 1.989530071088669 - f64.const 0.4973946213722229 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 280 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5617597462207241 - f64.const 0.9742849645674904 - f64.const -0.4428897500038147 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 281 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.7741522965913037 - f64.const 0.6854215158636222 - f64.const -0.12589527666568756 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 282 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const 2.316874138205964 - f64.const -0.17284949123859406 - global.get $std/math/INEXACT - call $std/math/test_acos + i32.const 0 + call $std/math/check i32.eqz if i32.const 0 i32.const 32 - i32.const 283 + i32.const 117 i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/math/NativeMath.LOG2E + global.get $~lib/bindings/dom/Math.LOG2E f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 286 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_acos + i32.const 0 + call $std/math/check i32.eqz if i32.const 0 i32.const 32 - i32.const 287 + i32.const 118 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0 + global.get $~lib/math/NativeMath.PI + global.get $~lib/bindings/dom/Math.PI f64.const 0 i32.const 0 - call $std/math/test_acos + call $std/math/check i32.eqz if i32.const 0 i32.const 32 - i32.const 288 + i32.const 119 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000000000000002 - f64.const nan:0x8000000000000 + global.get $~lib/math/NativeMath.SQRT1_2 + global.get $~lib/bindings/dom/Math.SQRT1_2 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos + i32.const 0 + call $std/math/check i32.eqz if i32.const 0 i32.const 32 - i32.const 289 + i32.const 120 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.0000000000000002 - f64.const nan:0x8000000000000 + global.get $~lib/math/NativeMath.SQRT2 + global.get $~lib/bindings/dom/Math.SQRT2 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos + i32.const 0 + call $std/math/check i32.eqz if i32.const 0 i32.const 32 - i32.const 290 + i32.const 121 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const nan:0x8000000000000 + f64.const -8.06684839057968 + i32.const -2 + f64.const -2.01671209764492 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 291 + i32.const 132 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 + f64.const 4.345239849338305 + i32.const -1 + f64.const 2.1726199246691524 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acos + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 292 + i32.const 133 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + f64.const -8.38143342755525 + i32.const 0 + f64.const -8.38143342755525 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5309227209592985 - f64.const 2.1304853799705463 - f64.const 0.1391008496284485 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 294 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.4939556746399746 - f64.const 1.0541629875851946 - f64.const 0.22054767608642578 - global.get $std/math/INEXACT - call $std/math/test_acos - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 295 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 304 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 305 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 306 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 307 + i32.const 134 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf + 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 308 + i32.const 135 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 0.8473311066627502 - f32.const -0.13588131964206696 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 309 + i32.const 136 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const 1.989530086517334 - f32.const 0.03764917701482773 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 310 + i32.const 137 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0.9742849469184875 - f32.const 0.18443739414215088 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 311 + i32.const 138 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 0.6854215264320374 - f32.const -0.29158344864845276 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 312 + i32.const 139 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const 2.3168740272521973 - f32.const -0.3795364499092102 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 313 + i32.const 140 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 316 + i32.const 141 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 317 + i32.const 144 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const 0 + f64.const 0 + i32.const -2147483647 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_acosf + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 318 + i32.const 145 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf + 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 319 + i32.const 146 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000001192092896 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf + 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 320 + i32.const 147 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf + 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 321 + i32.const 148 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acosf + f64.const inf + f64.neg + i32.const 0 + f64.const inf + f64.neg + f64.const 0 + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 322 + i32.const 149 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 1 i32.const 0 - call $std/math/test_acosf + 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 323 + i32.const 150 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.49965065717697144 - f32.const 1.0476008653640747 - f32.const -0.21161814033985138 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 324 + i32.const 151 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5051405429840088 - f32.const 2.1003410816192627 - f32.const -0.20852705836296082 - global.get $std/math/INEXACT - call $std/math/test_acosf + 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 325 + i32.const 152 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5189794898033142 - f32.const 2.116452932357788 - f32.const -0.14600826799869537 + f64.const 1 + i32.const 2147483647 + f64.const inf + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_acosf + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 326 + i32.const 153 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + i32.const 1 f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 338 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const 2.1487163980597503 - f64.const -0.291634738445282 - global.get $std/math/INEXACT - call $std/math/test_acosh + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 339 + i32.const 154 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 + f64.const inf + i32.const 2147483647 + f64.const inf f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 340 + i32.const 155 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 + f64.const inf + i32.const -2147483647 + f64.const inf f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 341 + i32.const 156 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 2.91668914109908 - f64.const -0.24191908538341522 - global.get $std/math/INEXACT - call $std/math/test_acosh + f64.const inf + f64.neg + i32.const 2147483647 + f64.const inf + f64.neg + f64.const 0 + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 342 + i32.const 157 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const nan:0x8000000000000 + f64.const 8988465674311579538646525e283 + i32.const -2097 + f64.const 5e-324 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 343 + i32.const 158 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 + f64.const 5e-324 + i32.const 2097 + f64.const 8988465674311579538646525e283 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + i32.const 0 + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 344 + i32.const 159 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const nan:0x8000000000000 + f64.const 1.000244140625 + i32.const -1074 + f64.const 5e-324 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 345 + i32.const 160 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const nan:0x8000000000000 + f64.const 0.7499999999999999 + i32.const -1073 + f64.const 5e-324 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 346 + i32.const 161 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 + f64.const 0.5000000000000012 + i32.const -1024 + f64.const 2.781342323134007e-309 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbn i32.eqz if i32.const 0 i32.const 32 - i32.const 347 + i32.const 162 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const -8.066848754882812 + i32.const -2 + f32.const -2.016712188720703 + f32.const 0 i32.const 0 - call $std/math/test_acosh + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 350 + i32.const 171 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0 + f32.const 4.345239639282227 + i32.const -1 + f32.const 2.1726198196411133 + f32.const 0 i32.const 0 - call $std/math/test_acosh + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 351 + i32.const 172 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0 - f64.const 0 + f32.const -8.381433486938477 i32.const 0 - call $std/math/test_acosh + 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 352 + i32.const 173 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9999923706054688 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + 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 353 + i32.const 174 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -9784.820766473835 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + 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 354 + i32.const 175 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + 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 355 + i32.const 176 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + 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 356 + i32.const 177 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_acosh + 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 357 + i32.const 178 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1060831199926429 - f64.const 0.4566373404384803 - f64.const -0.29381608963012695 - global.get $std/math/INEXACT - call $std/math/test_acosh + 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 373 + i32.const 179 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1089809557628658 - f64.const 0.4627246859959428 - f64.const -0.3990095555782318 - global.get $std/math/INEXACT - call $std/math/test_acosh + 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 375 + i32.const 180 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1169429159875521 - f64.const 0.47902433134075284 - f64.const -0.321674108505249 - global.get $std/math/INEXACT - call $std/math/test_acosh + 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 376 + i32.const 183 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + 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 385 + i32.const 184 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 2.148716449737549 - f32.const 0.4251045286655426 - global.get $std/math/INEXACT - call $std/math/test_acoshf + 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 386 + i32.const 185 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 + f32.const nan:0x400000 + i32.const 0 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 387 + i32.const 186 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const nan:0x400000 + f32.const inf + i32.const 0 + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 388 + i32.const 187 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 2.916689157485962 - f32.const -0.1369788944721222 - global.get $std/math/INEXACT - call $std/math/test_acoshf + f32.const inf + f32.neg + i32.const 0 + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 389 + i32.const 188 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const nan:0x400000 + f32.const 1 + i32.const 0 + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 390 + i32.const 189 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const nan:0x400000 + f32.const 1 + i32.const 1 + f32.const 2 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 391 + i32.const 190 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const nan:0x400000 + f32.const 1 + i32.const -1 + f32.const 0.5 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 392 + i32.const 191 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const nan:0x400000 + f32.const 1 + i32.const 2147483647 + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + global.get $std/math/INEXACT + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 393 + i32.const 192 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 + f32.const nan:0x400000 + i32.const 1 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 394 + i32.const 193 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const inf + i32.const 2147483647 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_acoshf + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 397 + i32.const 194 i32.const 1 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_acoshf + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 398 + i32.const 195 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 + f32.const inf + f32.neg + i32.const 2147483647 + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_acoshf + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 399 + i32.const 196 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.9999923706054688 - f32.const nan:0x400000 + f32.const 1701411834604692317316873e14 + i32.const -276 + f32.const 1.401298464324817e-45 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 400 + i32.const 197 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 1.401298464324817e-45 + i32.const 276 + f32.const 1701411834604692317316873e14 f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + i32.const 0 + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 401 + i32.const 198 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const nan:0x400000 + f32.const 1.000244140625 + i32.const -149 + f32.const 1.401298464324817e-45 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 402 + i32.const 199 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 + f32.const 0.7499999403953552 + i32.const -148 + f32.const 1.401298464324817e-45 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 403 + i32.const 200 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1125899906842624 - f32.const nan:0x400000 + f32.const 0.5000006556510925 + i32.const -128 + f32.const 1.4693693398263237e-39 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_acoshf + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_scalbnf i32.eqz if i32.const 0 i32.const 32 - i32.const 404 + i32.const 201 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - f64.const nan:0x8000000000000 + f64.const 8.06684839057968 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 416 + i32.const 213 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - f64.const nan:0x8000000000000 + f64.const 4.345239849338305 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 417 + i32.const 214 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - f64.const nan:0x8000000000000 + f64.const 8.38143342755525 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 418 + i32.const 215 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - f64.const nan:0x8000000000000 + f64.const 6.531673581913484 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 419 + i32.const 216 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - f64.const nan:0x8000000000000 + f64.const 9.267056966972586 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 420 + i32.const 217 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - f64.const 0.7234652439515459 - f64.const -0.13599912822246552 - global.get $std/math/INEXACT - call $std/math/test_asin + 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 421 + i32.const 218 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - f64.const -0.41873374429377225 - f64.const -0.09264230728149414 - global.get $std/math/INEXACT - call $std/math/test_asin + 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 422 + i32.const 219 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - f64.const 0.5965113622274062 - f64.const -0.10864213854074478 - global.get $std/math/INEXACT - call $std/math/test_asin + 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 423 + i32.const 220 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - f64.const 0.8853748109312743 - f64.const -0.4256366193294525 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 424 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.6787637026394024 - f64.const -0.7460778114110673 - f64.const 0.13986606895923615 - global.get $std/math/INEXACT - call $std/math/test_asin - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 425 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_asin + 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 428 + i32.const 221 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_asin + 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 429 + i32.const 222 i32.const 1 call $~lib/builtins/abort unreachable @@ -19168,83 +17471,83 @@ f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_asin + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 430 + i32.const 225 i32.const 1 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_asin + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 431 + i32.const 226 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000000000000002 - f64.const nan:0x8000000000000 + f64.const 1 + f64.const 1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 432 + i32.const 227 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.0000000000000002 - f64.const nan:0x8000000000000 + f64.const -1 + f64.const 1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 433 + i32.const 228 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - f64.const nan:0x8000000000000 + f64.const inf f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 434 + i32.const 229 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.neg - f64.const nan:0x8000000000000 + f64.const inf f64.const 0 - global.get $std/math/INVALID - call $std/math/test_asin + i32.const 0 + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 435 + i32.const 230 i32.const 1 call $~lib/builtins/abort unreachable @@ -19253,194 +17556,152 @@ 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 436 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5073043929119148 - f64.const 0.5320538997772349 - f64.const -0.16157317161560059 - global.get $std/math/INEXACT - call $std/math/test_asin + call $std/math/test_abs i32.eqz if i32.const 0 i32.const 32 - i32.const 437 + i32.const 231 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - f32.const nan:0x400000 + f32.const 8.066848754882812 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 446 + i32.const 240 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - f32.const nan:0x400000 + f32.const 4.345239639282227 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 447 + i32.const 241 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - f32.const nan:0x400000 + f32.const 8.381433486938477 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 448 + i32.const 242 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - f32.const nan:0x400000 + f32.const 6.531673431396484 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 449 + i32.const 243 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - f32.const nan:0x400000 + f32.const 9.267057418823242 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 450 + i32.const 244 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - f32.const 0.7234652042388916 - f32.const -0.1307632476091385 - global.get $std/math/INEXACT - call $std/math/test_asinf + 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 451 + i32.const 245 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - f32.const -0.41873374581336975 - f32.const 0.3161141574382782 - global.get $std/math/INEXACT - call $std/math/test_asinf + 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 452 + i32.const 246 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - f32.const 0.5965113639831543 - f32.const -0.4510819613933563 - global.get $std/math/INEXACT - call $std/math/test_asinf + 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 453 + i32.const 247 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - f32.const 0.8853747844696045 - f32.const 0.02493886835873127 - global.get $std/math/INEXACT - call $std/math/test_asinf + 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 454 + i32.const 248 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - f32.const -0.7460777759552002 - f32.const 0.2515012323856354 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 455 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_asinf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 458 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_asinf + 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 459 + i32.const 249 i32.const 1 call $~lib/builtins/abort unreachable @@ -19449,83 +17710,83 @@ f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_asinf + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 460 + i32.const 252 i32.const 1 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_asinf + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 461 + i32.const 253 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000001192092896 - f32.const nan:0x400000 + f32.const 1 + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 462 + i32.const 254 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000001192092896 - f32.const nan:0x400000 + f32.const -1 + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 463 + i32.const 255 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - f32.const nan:0x400000 + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 464 + i32.const 256 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.neg - f32.const nan:0x400000 + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_asinf + i32.const 0 + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 465 + i32.const 257 i32.const 1 call $~lib/builtins/abort unreachable @@ -19534,2964 +17795,2754 @@ 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 466 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5004770159721375 - f32.const 0.5241496562957764 - f32.const -0.29427099227905273 - global.get $std/math/INEXACT - call $std/math/test_asinf + call $std/math/test_absf i32.eqz if i32.const 0 i32.const 32 - i32.const 467 + i32.const 258 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - f64.const -2.784729878387861 - f64.const -0.4762189984321594 - global.get $std/math/INEXACT - call $std/math/test_asinh + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 479 + i32.const 270 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - f64.const 2.175213389013164 - f64.const -0.02728751301765442 - global.get $std/math/INEXACT - call $std/math/test_asinh + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 480 + i32.const 271 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - f64.const -2.822706083697696 - f64.const 0.20985257625579834 - global.get $std/math/INEXACT - call $std/math/test_asinh + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 481 + i32.const 272 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - f64.const -2.575619446591922 - f64.const 0.3113134205341339 - global.get $std/math/INEXACT - call $std/math/test_asinh + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 482 + i32.const 273 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - f64.const 2.9225114951048674 - f64.const 0.4991756081581116 - global.get $std/math/INEXACT - call $std/math/test_asinh + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 483 + i32.const 274 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - f64.const 0.6212462762707166 - f64.const -0.4697347581386566 + f64.const 0.8473310828433507 + f64.const -0.41553276777267456 global.get $std/math/INEXACT - call $std/math/test_asinh + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 484 + i32.const 275 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - f64.const -0.39615990393192035 - f64.const -0.40814438462257385 + f64.const 1.989530071088669 + f64.const 0.4973946213722229 global.get $std/math/INEXACT - call $std/math/test_asinh + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 485 + i32.const 276 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - f64.const 0.5357588870255474 - f64.const 0.3520713150501251 + f64.const 0.9742849645674904 + f64.const -0.4428897500038147 global.get $std/math/INEXACT - call $std/math/test_asinh + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 486 + i32.const 277 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - f64.const 0.7123571263197349 - f64.const 0.13371451199054718 + f64.const 0.6854215158636222 + f64.const -0.12589527666568756 global.get $std/math/INEXACT - call $std/math/test_asinh + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 487 + i32.const 278 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - f64.const -0.635182348903198 - f64.const 0.04749670997262001 + f64.const 2.316874138205964 + f64.const -0.17284949123859406 global.get $std/math/INEXACT - call $std/math/test_asinh - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 488 - i32.const 1 - 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 + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 491 + i32.const 279 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf f64.const 0 - i32.const 0 - call $std/math/test_asinh + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 492 + i32.const 282 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_asinh + f64.const -1 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 493 + i32.const 283 i32.const 1 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_asinh + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 494 + i32.const 284 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 + f64.const 1.0000000000000002 + 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 495 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -2.7847299575805664 - f32.const -0.14418013393878937 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 524 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 2.17521333694458 - f32.const -0.020796965807676315 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 525 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.8227059841156006 - f32.const 0.44718533754348755 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 526 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -2.5756194591522217 - f32.const -0.14822272956371307 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 527 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 2.922511577606201 - f32.const 0.14270681142807007 - global.get $std/math/INEXACT - call $std/math/test_asinhf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 528 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 0.6212462782859802 - f32.const 0.3684912919998169 - global.get $std/math/INEXACT - call $std/math/test_asinhf + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 529 + i32.const 285 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -0.39615991711616516 - f32.const -0.13170306384563446 - global.get $std/math/INEXACT - call $std/math/test_asinhf + f64.const -1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 530 + i32.const 286 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0.535758912563324 - f32.const 0.08184859901666641 - global.get $std/math/INEXACT - call $std/math/test_asinhf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 531 + i32.const 287 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 0.7123571038246155 - f32.const -0.14270737767219543 - global.get $std/math/INEXACT - call $std/math/test_asinhf + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 532 + i32.const 288 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -0.6351823210716248 - f32.const 0.2583143711090088 - global.get $std/math/INEXACT - call $std/math/test_asinhf + 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 533 + i32.const 289 i32.const 1 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 + f64.const -0.5309227209592985 + f64.const 2.1304853799705463 + f64.const 0.1391008496284485 + global.get $std/math/INEXACT + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 536 + i32.const 290 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_asinhf + f64.const 0.4939556746399746 + f64.const 1.0541629875851946 + f64.const 0.22054767608642578 + global.get $std/math/INEXACT + call $std/math/test_acos i32.eqz if i32.const 0 i32.const 32 - i32.const 537 + i32.const 291 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg + f32.const -8.066848754882812 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_asinhf + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 538 + i32.const 300 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 4.345239639282227 + f32.const nan:0x400000 f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_asinhf + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 539 + i32.const 301 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 + f32.const -8.381433486938477 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_asinhf + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 540 + i32.const 302 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const -1.4474613762633468 - f64.const 0.14857111871242523 - global.get $std/math/INEXACT - call $std/math/test_atan + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 552 + i32.const 303 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 1.344597927114538 - f64.const -0.08170335739850998 - global.get $std/math/INEXACT - call $std/math/test_atan + f32.const 9.267057418823242 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 553 + i32.const 304 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -1.4520463463295539 - f64.const -0.07505480200052261 + f32.const 0.6619858741760254 + f32.const 0.8473311066627502 + f32.const -0.13588131964206696 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 554 + i32.const 305 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const -1.4188758658752532 - f64.const -0.057633496820926666 + f32.const -0.40660393238067627 + f32.const 1.989530086517334 + f32.const 0.03764917701482773 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 555 + i32.const 306 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 1.463303145448706 - f64.const 0.1606956422328949 + f32.const 0.5617597699165344 + f32.const 0.9742849469184875 + f32.const 0.18443739414215088 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 556 + i32.const 307 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 0.5847550670238325 - f64.const 0.4582556486129761 + f32.const 0.7741522789001465 + f32.const 0.6854215264320374 + f32.const -0.29158344864845276 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 557 + i32.const 308 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const -0.3861864177552131 - f64.const -0.2574281692504883 + f32.const -0.6787636876106262 + f32.const 2.3168740272521973 + f32.const -0.3795364499092102 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 558 + i32.const 309 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 0.5118269531628881 - f64.const -0.11444277316331863 + f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 559 + i32.const 312 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 0.6587802431653822 - f64.const -0.11286488175392151 + f32.const -1 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 560 + i32.const 313 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const -0.5963307826973472 - f64.const -0.2182842344045639 - global.get $std/math/INEXACT - call $std/math/test_atan + 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 561 + i32.const 314 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atan + f32.const 1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 564 + i32.const 315 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_atan + f32.const -1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 565 + i32.const 316 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0.7853981633974483 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 566 + i32.const 317 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -0.7853981633974483 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 567 + i32.const 318 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan + 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 568 + i32.const 319 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 + f32.const 0.49965065717697144 + f32.const 1.0476008653640747 + f32.const -0.21161814033985138 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 569 + i32.const 320 i32.const 1 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 + f32.const -0.5051405429840088 + f32.const 2.1003410816192627 + f32.const -0.20852705836296082 + global.get $std/math/INEXACT + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 570 + i32.const 321 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6929821535674624 - f64.const 0.6060004555152562 - f64.const -0.17075790464878082 + f32.const -0.5189794898033142 + f32.const 2.116452932357788 + f32.const -0.14600826799869537 global.get $std/math/INEXACT - call $std/math/test_atan + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 32 - i32.const 571 + i32.const 322 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const -1.4474613666534424 - f32.const 0.12686480581760406 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 580 + i32.const 334 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 1.3445979356765747 - f32.const 0.16045434772968292 + f64.const 4.345239849338305 + f64.const 2.1487163980597503 + f64.const -0.291634738445282 global.get $std/math/INEXACT - call $std/math/test_atanf + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 581 + i32.const 335 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -1.4520463943481445 - f32.const -0.39581751823425293 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 582 + i32.const 336 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const -1.418875813484192 - f32.const 0.410570353269577 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 583 + i32.const 337 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 1.4633032083511353 - f32.const 0.48403501510620117 + f64.const 9.267056966972586 + f64.const 2.91668914109908 + f64.const -0.24191908538341522 global.get $std/math/INEXACT - call $std/math/test_atanf + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 584 + i32.const 338 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 0.5847550630569458 - f32.const 0.2125193476676941 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const 0.6619858980995045 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 585 + i32.const 339 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -0.386186420917511 - f32.const 0.18169628083705902 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 586 + i32.const 340 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0.5118269920349121 - f32.const 0.3499770760536194 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const 0.5617597462207241 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 587 + i32.const 341 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 0.6587802171707153 - f32.const -0.2505330741405487 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const 0.7741522965913037 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 588 + i32.const 342 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -0.5963307619094849 - f32.const 0.17614826560020447 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 589 + i32.const 343 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_atanf + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 592 + i32.const 346 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const 0 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_atanf + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 593 + i32.const 347 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0.7853981852531433 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf + 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 594 + i32.const 348 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -0.7853981852531433 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const 0.9999923706054688 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 595 + i32.const 349 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const -9784.820766473835 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 596 + i32.const 350 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atanf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 597 + i32.const 351 i32.const 1 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 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 598 + i32.const 352 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 + f64.const inf + f64.neg f64.const nan:0x8000000000000 f64.const 0 global.get $std/math/INVALID - call $std/math/test_atanh + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 610 + i32.const 353 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh + f64.const 1.1060831199926429 + f64.const 0.4566373404384803 + f64.const -0.29381608963012695 + global.get $std/math/INEXACT + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 611 + i32.const 369 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh + f64.const 1.1089809557628658 + f64.const 0.4627246859959428 + f64.const -0.3990095555782318 + global.get $std/math/INEXACT + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 612 + i32.const 371 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_atanh + f64.const 1.1169429159875521 + f64.const 0.47902433134075284 + f64.const -0.321674108505249 + global.get $std/math/INEXACT + call $std/math/test_acosh i32.eqz if i32.const 0 i32.const 32 - i32.const 613 + i32.const 372 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 global.get $std/math/INVALID - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 614 + i32.const 381 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 0.7963404371347943 - f64.const 0.21338365972042084 + f32.const 4.345239639282227 + f32.const 2.148716449737549 + f32.const 0.4251045286655426 global.get $std/math/INEXACT - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 615 + i32.const 382 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const -0.43153570730602897 - f64.const -0.4325666129589081 - global.get $std/math/INEXACT - call $std/math/test_atanh + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 616 + i32.const 383 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 0.6354006111644578 - f64.const -0.06527865678071976 - global.get $std/math/INEXACT - call $std/math/test_atanh + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 617 + i32.const 384 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 1.0306085575277995 - f64.const 0.14632052183151245 + f32.const 9.267057418823242 + f32.const 2.916689157485962 + f32.const -0.1369788944721222 global.get $std/math/INEXACT - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 618 + i32.const 385 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const -0.8268179645205255 - f64.const 0.1397128701210022 - global.get $std/math/INEXACT - call $std/math/test_atanh + f32.const 0.6619858741760254 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 619 + i32.const 386 i32.const 1 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 + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 622 + i32.const 387 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 + f32.const 0.5617597699165344 + f32.const nan:0x400000 + f32.const 0 global.get $std/math/INVALID - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 623 + i32.const 388 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 + f32.const 0.7741522789001465 + f32.const nan:0x400000 + f32.const 0 global.get $std/math/INVALID - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 624 + i32.const 389 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_atanh + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 625 + i32.const 390 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 626 + i32.const 393 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanh + 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 627 + i32.const 394 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanh + 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 628 + i32.const 395 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000152587890625 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const 0.9999923706054688 + f32.const nan:0x400000 + f32.const 0 global.get $std/math/INVALID - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 629 + i32.const 396 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.0000152587890625 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 global.get $std/math/INVALID - call $std/math/test_atanh + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 630 + i32.const 397 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.3552527156068805e-20 - f64.const 1.3552527156068805e-20 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanh + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 631 + i32.const 398 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.332636185032189e-302 - f64.const 9.332636185032189e-302 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanh + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 632 + i32.const 399 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5.562684646268003e-309 - f64.const 5.562684646268003e-309 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanh + f32.const -1125899906842624 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_acoshf i32.eqz if i32.const 0 i32.const 32 - i32.const 633 + i32.const 400 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -5.562684646268003e-309 - f64.const -5.562684646268003e-309 + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanh + global.get $std/math/INVALID + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 634 + i32.const 412 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 8988465674311579538646525e283 + f64.const 4.345239849338305 f64.const nan:0x8000000000000 f64.const 0 global.get $std/math/INVALID - call $std/math/test_atanh + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 635 + i32.const 413 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 644 + i32.const 414 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const nan:0x400000 - f32.const 0 + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 645 + i32.const 415 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 + f64.const 9.267056966972586 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 646 + i32.const 416 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf + f64.const 0.6619858980995045 + f64.const 0.7234652439515459 + f64.const -0.13599912822246552 + global.get $std/math/INEXACT + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 647 + i32.const 417 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf + f64.const -0.4066039223853553 + f64.const -0.41873374429377225 + f64.const -0.09264230728149414 + global.get $std/math/INEXACT + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 648 + i32.const 418 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 0.7963404059410095 - f32.const 0.19112196564674377 + f64.const 0.5617597462207241 + f64.const 0.5965113622274062 + f64.const -0.10864213854074478 global.get $std/math/INEXACT - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 649 + i32.const 419 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -0.4315357208251953 - f32.const -0.05180925130844116 + f64.const 0.7741522965913037 + f64.const 0.8853748109312743 + f64.const -0.4256366193294525 global.get $std/math/INEXACT - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 650 + i32.const 420 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0.635400652885437 - f32.const 0.11911056190729141 + f64.const -0.6787637026394024 + f64.const -0.7460778114110673 + f64.const 0.13986606895923615 global.get $std/math/INEXACT - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 651 + i32.const 421 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 1.0306085348129272 - f32.const 0.1798270344734192 + f64.const 1 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 652 + i32.const 424 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -0.8268179297447205 - f32.const 0.11588983237743378 + f64.const -1 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 653 + i32.const 425 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 656 + i32.const 426 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf + 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 657 + i32.const 427 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 + f64.const 1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_atanhf + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 658 + i32.const 428 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf + f64.const -1.0000000000000002 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 659 + i32.const 429 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_atanhf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 660 + i32.const 430 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanhf + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 661 + i32.const 431 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_atanhf + 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 662 + i32.const 432 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000152587890625 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf + f64.const 0.5073043929119148 + f64.const 0.5320538997772349 + f64.const -0.16157317161560059 + global.get $std/math/INEXACT + call $std/math/test_asin i32.eqz if i32.const 0 i32.const 32 - i32.const 663 + i32.const 433 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000152587890625 + f32.const -8.066848754882812 f32.const nan:0x400000 f32.const 0 global.get $std/math/INVALID - call $std/math/test_atanhf + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 664 + i32.const 442 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.3552527156068805e-20 - f32.const 1.3552527156068805e-20 + f32.const 4.345239639282227 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanhf + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 665 + i32.const 443 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.888609052210118e-31 - f32.const 7.888609052210118e-31 + f32.const -8.381433486938477 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_atanhf + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 666 + i32.const 444 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2.938735877055719e-39 - f32.const 2.938735877055719e-39 + f32.const -6.531673431396484 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanhf + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 667 + i32.const 445 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2.938735877055719e-39 - f32.const -2.938735877055719e-39 + f32.const 9.267057418823242 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atanhf + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 668 + i32.const 446 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1701411834604692317316873e14 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_atanhf + f32.const 0.6619858741760254 + f32.const 0.7234652042388916 + f32.const -0.1307632476091385 + global.get $std/math/INEXACT + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 669 + i32.const 447 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const -1.0585895402489023 - f64.const 0.09766263514757156 + f32.const -0.40660393238067627 + f32.const -0.41873374581336975 + f32.const 0.3161141574382782 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 681 + i32.const 448 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 2.6868734126013067 - f64.const 0.35833948850631714 + f32.const 0.5617597699165344 + f32.const 0.5965113639831543 + f32.const -0.4510819613933563 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 682 + i32.const 449 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -1.889300091849528 - f64.const -0.46235957741737366 + f32.const 0.7741522789001465 + f32.const 0.8853747844696045 + f32.const 0.02493886835873127 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 683 + i32.const 450 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -0.9605469021111489 - f64.const -0.21524477005004883 + f32.const -0.6787636876106262 + f32.const -0.7460777759552002 + f32.const 0.2515012323856354 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 684 + i32.const 451 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 1.0919123946142109 - f64.const 0.3894443213939667 + f32.const 1 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 685 + i32.const 454 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const -1.468508500616424 - f64.const -0.448591411113739 + f32.const -1 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 686 + i32.const 455 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 1.5641600512601268 - f64.const 0.3784842789173126 - global.get $std/math/INEXACT - call $std/math/test_atan2 + 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 687 + i32.const 456 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.10281658910678508 - f64.const -0.13993260264396667 - global.get $std/math/INEXACT - call $std/math/test_atan2 + 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 688 + i32.const 457 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.29697974004493516 - f64.const 0.44753071665763855 - global.get $std/math/INEXACT - call $std/math/test_atan2 + f32.const 1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 689 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -1.5131612053303916 - f64.const 0.39708876609802246 - global.get $std/math/INEXACT - call $std/math/test_atan2 + i32.const 458 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const -1.0000001192092896 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 690 + i32.const 459 i32.const 1 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 + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 693 + i32.const 460 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const -0 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 694 + i32.const 461 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const -1 - f64.const 3.141592653589793 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 + 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 695 + i32.const 462 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const inf - f64.neg - f64.const 3.141592653589793 - f64.const -0.27576595544815063 + f32.const 0.5004770159721375 + f32.const 0.5241496562957764 + f32.const -0.29427099227905273 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 32 - i32.const 696 + i32.const 463 i32.const 1 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 + f64.const -8.06684839057968 + f64.const -2.784729878387861 + f64.const -0.4762189984321594 + global.get $std/math/INEXACT + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 697 + i32.const 475 i32.const 1 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 + f64.const 4.345239849338305 + f64.const 2.175213389013164 + f64.const -0.02728751301765442 + global.get $std/math/INEXACT + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 698 + i32.const 476 i32.const 1 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 + f64.const -8.38143342755525 + f64.const -2.822706083697696 + f64.const 0.20985257625579834 + global.get $std/math/INEXACT + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 699 + i32.const 477 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const -3.141592653589793 - f64.const 0.27576595544815063 + f64.const -6.531673581913484 + f64.const -2.575619446591922 + f64.const 0.3113134205341339 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 700 + i32.const 478 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -1 - f64.const -3.141592653589793 - f64.const 0.27576595544815063 + f64.const 9.267056966972586 + f64.const 2.9225114951048674 + f64.const 0.4991756081581116 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 701 + i32.const 479 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf - f64.neg - f64.const -3.141592653589793 - f64.const 0.27576595544815063 + f64.const 0.6619858980995045 + f64.const 0.6212462762707166 + f64.const -0.4697347581386566 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 702 + i32.const 480 i32.const 1 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 + f64.const -0.4066039223853553 + f64.const -0.39615990393192035 + f64.const -0.40814438462257385 + global.get $std/math/INEXACT + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 703 + i32.const 481 i32.const 1 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 + f64.const 0.5617597462207241 + f64.const 0.5357588870255474 + f64.const 0.3520713150501251 + global.get $std/math/INEXACT + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 704 + i32.const 482 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 + f64.const 0.7741522965913037 + f64.const 0.7123571263197349 + f64.const 0.13371451199054718 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 705 + i32.const 483 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 + f64.const -0.6787637026394024 + f64.const -0.635182348903198 + f64.const 0.04749670997262001 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 706 + i32.const 484 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 + i32.const 0 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 707 + i32.const 487 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const -0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 + 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 708 + i32.const 488 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 f64.const inf - f64.const -0 + f64.neg + f64.const inf + f64.neg f64.const 0 i32.const 0 - call $std/math/test_atan2 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 709 + i32.const 489 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf + f64.const 0 f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_atan2 + call $std/math/test_asinh i32.eqz if i32.const 0 i32.const 32 - i32.const 710 + i32.const 490 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const inf - f64.neg - f64.const -3.141592653589793 - f64.const 0.27576595544815063 - global.get $std/math/INEXACT - call $std/math/test_atan2 + 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 711 + i32.const 491 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf - f64.neg - f64.const 3.141592653589793 - f64.const -0.27576595544815063 + f32.const -8.066848754882812 + f32.const -2.7847299575805664 + f32.const -0.14418013393878937 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 712 + i32.const 520 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 0 - f64.const 1.5707963267948966 - f64.const -0.27576595544815063 + f32.const 4.345239639282227 + f32.const 2.17521333694458 + f32.const -0.020796965807676315 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 713 + i32.const 521 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 0 - f64.const -1.5707963267948966 - f64.const 0.27576595544815063 + f32.const -8.381433486938477 + f32.const -2.8227059841156006 + f32.const 0.44718533754348755 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 714 + i32.const 522 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0.7853981633974483 - f64.const -0.27576595544815063 + f32.const -6.531673431396484 + f32.const -2.5756194591522217 + f32.const -0.14822272956371307 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 715 + i32.const 523 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.neg - f64.const 2.356194490192345 - f64.const -0.20682445168495178 + f32.const 9.267057418823242 + f32.const 2.922511577606201 + f32.const 0.14270681142807007 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 716 + i32.const 524 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.const -0.7853981633974483 - f64.const 0.27576595544815063 + f32.const 0.6619858741760254 + f32.const 0.6212462782859802 + f32.const 0.3684912919998169 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 717 + i32.const 525 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const -2.356194490192345 - f64.const 0.20682445168495178 + f32.const -0.40660393238067627 + f32.const -0.39615991711616516 + f32.const -0.13170306384563446 global.get $std/math/INEXACT - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 718 + i32.const 526 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1125369292536007e-308 - f64.const 1 - f64.const 1.1125369292536007e-308 - f64.const 0 + f32.const 0.5617597699165344 + f32.const 0.535758912563324 + f32.const 0.08184859901666641 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 719 + i32.const 527 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 8988465674311579538646525e283 - f64.const 1.1125369292536007e-308 - f64.const 0 + f32.const 0.7741522789001465 + f32.const 0.7123571038246155 + f32.const -0.14270737767219543 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 720 + i32.const 528 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const 8988465674311579538646525e283 - f64.const 1.668805393880401e-308 - f64.const 0 + f32.const -0.6787636876106262 + f32.const -0.6351823210716248 + f32.const 0.2583143711090088 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 721 + i32.const 529 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const -8988465674311579538646525e283 - f64.const 3.141592653589793 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_atan2 + 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 722 + i32.const 532 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -1.0585895776748657 - f32.const -0.22352588176727295 - global.get $std/math/INEXACT - call $std/math/test_atan2f + 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 731 + i32.const 533 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 2.686873435974121 - f32.const 0.09464472532272339 - global.get $std/math/INEXACT - call $std/math/test_atan2f + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_asinhf i32.eqz if i32.const 0 i32.const 32 - i32.const 732 + i32.const 534 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -1.8893001079559326 - f32.const -0.21941901743412018 - global.get $std/math/INEXACT - call $std/math/test_atan2f + 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 733 + i32.const 535 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -0.9605468511581421 - f32.const 0.46015575528144836 - global.get $std/math/INEXACT - call $std/math/test_atan2f + 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 734 + i32.const 536 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 1.0919123888015747 - f32.const -0.05708503723144531 + f64.const -8.06684839057968 + f64.const -1.4474613762633468 + f64.const 0.14857111871242523 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 735 + i32.const 548 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -1.4685084819793701 - f32.const 0.19611206650733948 + f64.const 4.345239849338305 + f64.const 1.344597927114538 + f64.const -0.08170335739850998 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 736 + i32.const 549 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 1.5641601085662842 - f32.const 0.48143187165260315 + f64.const -8.38143342755525 + f64.const -1.4520463463295539 + f64.const -0.07505480200052261 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 737 + i32.const 550 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.10281659662723541 - f32.const -0.4216274917125702 + f64.const -6.531673581913484 + f64.const -1.4188758658752532 + f64.const -0.057633496820926666 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 738 + i32.const 551 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.29697975516319275 - f32.const 0.2322007566690445 + f64.const 9.267056966972586 + f64.const 1.463303145448706 + f64.const 0.1606956422328949 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 739 + i32.const 552 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -1.5131611824035645 - f32.const 0.16620726883411407 + f64.const 0.6619858980995045 + f64.const 0.5847550670238325 + f64.const 0.4582556486129761 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 740 + i32.const 553 i32.const 1 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 + f64.const -0.4066039223853553 + f64.const -0.3861864177552131 + f64.const -0.2574281692504883 + global.get $std/math/INEXACT + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 743 + i32.const 554 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -0 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 + f64.const 0.5617597462207241 + f64.const 0.5118269531628881 + f64.const -0.11444277316331863 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 744 + i32.const 555 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -1 - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 + f64.const 0.7741522965913037 + f64.const 0.6587802431653822 + f64.const -0.11286488175392151 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 745 + i32.const 556 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.neg - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 + f64.const -0.6787637026394024 + f64.const -0.5963307826973472 + f64.const -0.2182842344045639 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 746 + i32.const 557 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 747 + i32.const 560 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 748 + i32.const 561 i32.const 1 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 + f64.const 1 + f64.const 0.7853981633974483 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 749 + i32.const 562 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 + f64.const -1 + f64.const -0.7853981633974483 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 750 + i32.const 563 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -1 - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 + f64.const inf + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 751 + i32.const 564 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 + f64.const inf + f64.neg + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 752 + i32.const 565 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_atan2f + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 753 + i32.const 566 i32.const 1 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 + f64.const 0.6929821535674624 + f64.const 0.6060004555152562 + f64.const -0.17075790464878082 + global.get $std/math/INEXACT + call $std/math/test_atan i32.eqz if i32.const 0 i32.const 32 - i32.const 754 + i32.const 567 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 + f32.const -8.066848754882812 + f32.const -1.4474613666534424 + f32.const 0.12686480581760406 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 755 + i32.const 576 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 + f32.const 4.345239639282227 + f32.const 1.3445979356765747 + f32.const 0.16045434772968292 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 756 + i32.const 577 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 + f32.const -8.381433486938477 + f32.const -1.4520463943481445 + f32.const -0.39581751823425293 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 757 + i32.const 578 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const -0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 + f32.const -6.531673431396484 + f32.const -1.418875813484192 + f32.const 0.410570353269577 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 758 + i32.const 579 i32.const 1 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 + f32.const 9.267057418823242 + f32.const 1.4633032083511353 + f32.const 0.48403501510620117 + global.get $std/math/INEXACT + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 759 + i32.const 580 i32.const 1 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 + f32.const 0.6619858741760254 + f32.const 0.5847550630569458 + f32.const 0.2125193476676941 + global.get $std/math/INEXACT + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 760 + i32.const 581 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const inf - f32.neg - f32.const -3.1415927410125732 - f32.const -0.3666777014732361 + f32.const -0.40660393238067627 + f32.const -0.386186420917511 + f32.const 0.18169628083705902 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 761 + i32.const 582 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - f32.neg - f32.const 3.1415927410125732 - f32.const 0.3666777014732361 + f32.const 0.5617597699165344 + f32.const 0.5118269920349121 + f32.const 0.3499770760536194 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 762 + i32.const 583 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 0 - f32.const 1.5707963705062866 - f32.const 0.3666777014732361 + f32.const 0.7741522789001465 + f32.const 0.6587802171707153 + f32.const -0.2505330741405487 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 763 + i32.const 584 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0 - f32.const -1.5707963705062866 - f32.const -0.3666777014732361 + f32.const -0.6787636876106262 + f32.const -0.5963307619094849 + f32.const 0.17614826560020447 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 764 + i32.const 585 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0.7853981852531433 - f32.const 0.3666777014732361 - global.get $std/math/INEXACT - call $std/math/test_atan2f + 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 765 + i32.const 588 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.neg - f32.const 2.356194496154785 - f32.const 0.02500828728079796 + 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 589 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 0.7853981852531433 + f32.const 0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 766 + i32.const 590 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf + f32.const -1 f32.const -0.7853981852531433 f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 767 + i32.const 591 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const -2.356194496154785 - f32.const -0.02500828728079796 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 768 + i32.const 592 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 5.877471754111438e-39 - f32.const 1 - f32.const 5.877471754111438e-39 - f32.const 0 + f32.const inf + f32.neg + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2f + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 769 + i32.const 593 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1701411834604692317316873e14 - f32.const 5.877471754111438e-39 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_atan2f + i32.const 0 + call $std/math/test_atanf i32.eqz if i32.const 0 i32.const 32 - i32.const 770 + i32.const 594 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - f64.const -2.0055552545020245 - f64.const 0.46667951345443726 - global.get $std/math/INEXACT - call $std/math/test_cbrt + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 782 + i32.const 606 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - f64.const 1.6318162410515635 - f64.const -0.08160271495580673 - global.get $std/math/INEXACT - call $std/math/test_cbrt + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 783 + i32.const 607 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - f64.const -2.031293910673361 - f64.const -0.048101816326379776 - global.get $std/math/INEXACT - call $std/math/test_cbrt + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 784 + i32.const 608 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - f64.const -1.8692820012204925 - f64.const 0.08624018728733063 - global.get $std/math/INEXACT - call $std/math/test_cbrt + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 785 + i32.const 609 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - f64.const 2.100457720859702 - f64.const -0.2722989022731781 - global.get $std/math/INEXACT - call $std/math/test_cbrt + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 786 + i32.const 610 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - f64.const 0.8715311470455973 - f64.const 0.4414918124675751 + f64.const 0.7963404371347943 + f64.const 0.21338365972042084 global.get $std/math/INEXACT - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 787 + i32.const 611 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - f64.const -0.740839030300223 - f64.const 0.016453813761472702 + f64.const -0.43153570730602897 + f64.const -0.4325666129589081 global.get $std/math/INEXACT - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 788 + i32.const 612 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - f64.const 0.8251195400559286 - f64.const 0.30680638551712036 + f64.const 0.6354006111644578 + f64.const -0.06527865678071976 global.get $std/math/INEXACT - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 789 + i32.const 613 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - f64.const 0.9182102478959914 - f64.const 0.06543998420238495 + f64.const 1.0306085575277995 + f64.const 0.14632052183151245 global.get $std/math/INEXACT - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 790 + i32.const 614 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - f64.const -0.8788326906580094 - f64.const -0.2016713172197342 + f64.const -0.8268179645205255 + f64.const 0.1397128701210022 global.get $std/math/INEXACT - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 791 + i32.const 615 i32.const 1 call $~lib/builtins/abort unreachable @@ -22500,42 +20551,41 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 794 + i32.const 618 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - f64.const inf + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_cbrt + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 795 + i32.const 619 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.neg - f64.const inf - f64.neg + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_cbrt + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 796 + i32.const 620 i32.const 1 call $~lib/builtins/abort unreachable @@ -22544,12 +20594,12 @@ f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 797 + i32.const 621 i32.const 1 call $~lib/builtins/abort unreachable @@ -22558,222 +20608,283 @@ f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_cbrt + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 798 + i32.const 622 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.313225746154785e-10 - f64.const 0.0009765625 + f64.const 1 + f64.const inf f64.const 0 - i32.const 0 - call $std/math/test_cbrt + global.get $std/math/DIVBYZERO + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 799 + i32.const 623 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -9.313225746154785e-10 - f64.const -0.0009765625 + f64.const -1 + f64.const inf + f64.neg f64.const 0 - i32.const 0 - call $std/math/test_cbrt + global.get $std/math/DIVBYZERO + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 800 + i32.const 624 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 1 + f64.const 1.0000152587890625 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_cbrt + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 801 + i32.const 625 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 + f64.const -1.0000152587890625 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_cbrt + global.get $std/math/INVALID + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 802 + i32.const 626 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 8 - f64.const 2 + f64.const 1.3552527156068805e-20 + f64.const 1.3552527156068805e-20 f64.const 0 - i32.const 0 - call $std/math/test_cbrt + global.get $std/math/INEXACT + call $std/math/test_atanh i32.eqz if i32.const 0 i32.const 32 - i32.const 803 + i32.const 627 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const -2.0055553913116455 - f32.const -0.44719240069389343 + f64.const 9.332636185032189e-302 + f64.const 9.332636185032189e-302 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cbrtf + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 628 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 5.562684646268003e-309 + f64.const 5.562684646268003e-309 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 629 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -5.562684646268003e-309 + f64.const -5.562684646268003e-309 + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 630 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 8988465674311579538646525e283 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_atanh + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 631 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 812 + i32.const 640 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - f32.const 1.6318162679672241 - f32.const 0.44636252522468567 - global.get $std/math/INEXACT - call $std/math/test_cbrtf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 813 + i32.const 641 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - f32.const -2.0312938690185547 - f32.const 0.19483426213264465 - global.get $std/math/INEXACT - call $std/math/test_cbrtf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 814 + i32.const 642 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - f32.const -1.8692820072174072 - f32.const -0.17075514793395996 - global.get $std/math/INEXACT - call $std/math/test_cbrtf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 815 + i32.const 643 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - f32.const 2.1004576683044434 - f32.const -0.36362043023109436 - global.get $std/math/INEXACT - call $std/math/test_cbrtf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 816 + i32.const 644 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - f32.const 0.8715311288833618 - f32.const -0.12857209146022797 + f32.const 0.7963404059410095 + f32.const 0.19112196564674377 global.get $std/math/INEXACT - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 817 + i32.const 645 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - f32.const -0.7408390641212463 - f32.const -0.4655757546424866 + f32.const -0.4315357208251953 + f32.const -0.05180925130844116 global.get $std/math/INEXACT - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 818 + i32.const 646 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - f32.const 0.8251195549964905 - f32.const 0.05601907894015312 + f32.const 0.635400652885437 + f32.const 0.11911056190729141 global.get $std/math/INEXACT - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 819 + i32.const 647 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - f32.const 0.9182102680206299 - f32.const 0.45498204231262207 + f32.const 1.0306085348129272 + f32.const 0.1798270344734192 global.get $std/math/INEXACT - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 820 + i32.const 648 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - f32.const -0.8788326978683472 - f32.const -0.22978967428207397 + f32.const -0.8268179297447205 + f32.const 0.11588983237743378 global.get $std/math/INEXACT - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 821 + i32.const 649 i32.const 1 call $~lib/builtins/abort unreachable @@ -22782,42 +20893,41 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 824 + i32.const 652 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - f32.const inf + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_cbrtf + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 825 + i32.const 653 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.neg - f32.const inf - f32.neg + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_cbrtf + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 826 + i32.const 654 i32.const 1 call $~lib/builtins/abort unreachable @@ -22826,12 +20936,12 @@ f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 827 + i32.const 655 i32.const 1 call $~lib/builtins/abort unreachable @@ -22840,6824 +20950,6957 @@ f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_cbrtf + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 828 + i32.const 656 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.313225746154785e-10 - f32.const 0.0009765625 + f32.const 1 + f32.const inf f32.const 0 - i32.const 0 - call $std/math/test_cbrtf + global.get $std/math/DIVBYZERO + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 829 + i32.const 657 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -9.313225746154785e-10 - f32.const -0.0009765625 + f32.const -1 + f32.const inf + f32.neg f32.const 0 - i32.const 0 - call $std/math/test_cbrtf + global.get $std/math/DIVBYZERO + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 830 + i32.const 658 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 + f32.const 1.0000152587890625 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_cbrtf + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 831 + i32.const 659 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 + f32.const -1.0000152587890625 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_cbrtf + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 832 + i32.const 660 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 8 - f32.const 2 + f32.const 1.3552527156068805e-20 + f32.const 1.3552527156068805e-20 f32.const 0 - i32.const 0 - call $std/math/test_cbrtf + global.get $std/math/INEXACT + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 833 + i32.const 661 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const -8 - f64.const 0 + f32.const 7.888609052210118e-31 + f32.const 7.888609052210118e-31 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 845 + i32.const 662 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 5 - f64.const 0 + f32.const 2.938735877055719e-39 + f32.const 2.938735877055719e-39 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_ceil + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 846 + i32.const 663 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 + f32.const -2.938735877055719e-39 + f32.const -2.938735877055719e-39 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_ceil + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 847 + i32.const 664 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const -6 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil + f32.const 1701411834604692317316873e14 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_atanhf i32.eqz if i32.const 0 i32.const 32 - i32.const 848 + i32.const 665 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 10 - f64.const 0 + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -1.0585895402489023 + f64.const 0.09766263514757156 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 849 + i32.const 677 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 1 - f64.const 0 + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 2.6868734126013067 + f64.const 0.35833948850631714 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 850 + i32.const 678 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const -1.889300091849528 + f64.const -0.46235957741737366 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 851 + i32.const 679 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 1 - f64.const 0 + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const -0.9605469021111489 + f64.const -0.21524477005004883 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 852 + i32.const 680 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 1 - f64.const 0 + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 1.0919123946142109 + f64.const 0.3894443213939667 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 853 + i32.const 681 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const -0 - f64.const 0 + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -1.468508500616424 + f64.const -0.448591411113739 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 854 + i32.const 682 i32.const 1 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 + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 1.5641600512601268 + f64.const 0.3784842789173126 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 857 + i32.const 683 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.10281658910678508 + f64.const -0.13993260264396667 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 858 + i32.const 684 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.29697974004493516 + f64.const 0.44753071665763855 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 859 + i32.const 685 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -1.5131612053303916 + f64.const 0.39708876609802246 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 860 + i32.const 686 i32.const 1 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 861 - i32.const 1 - 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 1 - 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_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 863 + i32.const 689 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 1 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 864 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 f64.const -0 - f64.const 0 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 865 + i32.const 690 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000152587890625 - f64.const 2 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 866 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1.0000152587890625 f64.const -1 - f64.const 0 + f64.const 3.141592653589793 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 867 + i32.const 691 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9999923706054688 - f64.const 1 f64.const 0 + f64.const inf + f64.neg + f64.const 3.141592653589793 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 868 + i32.const 692 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.9999923706054688 - f64.const -0 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 869 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 f64.const 1 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 870 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 871 - i32.const 1 - 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 + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 872 + i32.const 693 i32.const 1 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 1 - call $~lib/builtins/abort - unreachable - end f64.const inf - f64.neg - f64.const inf - f64.neg - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 875 + i32.const 694 i32.const 1 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 876 - i32.const 1 - 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_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 877 + i32.const 695 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const -0 + f64.const -0 + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 878 + i32.const 696 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 1 - f64.const 0 + f64.const -0 + f64.const -1 + f64.const -3.141592653589793 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 879 + i32.const 697 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 f64.const -0 - f64.const 0 + f64.const inf + f64.neg + f64.const -3.141592653589793 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 880 + i32.const 698 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000152587890625 - f64.const 2 + f64.const -0 + f64.const 1 + f64.const -0 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil + i32.const 0 + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 881 + i32.const 699 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.0000152587890625 - f64.const -1 + f64.const -0 + f64.const inf + f64.const -0 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceil + i32.const 0 + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 882 + i32.const 700 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9999923706054688 - f64.const 1 + f64.const -1 f64.const 0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 883 + i32.const 701 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.9999923706054688 + f64.const -1 f64.const -0 - f64.const 0 + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 884 + i32.const 702 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.888609052210118e-31 f64.const 1 f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 885 + i32.const 703 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 + f64.const 1 f64.const -0 - f64.const 0 + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 886 + i32.const 704 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + f64.const -1 + f64.const inf + f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 887 + i32.const 705 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf + f64.const 1 f64.const inf f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 888 + i32.const 706 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const -1 f64.const inf f64.neg - f64.const inf - f64.neg - 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 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const -3.141592653589793 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 890 + i32.const 707 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const 1 + f64.const inf + f64.neg + f64.const 3.141592653589793 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 891 + i32.const 708 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 1 + f64.const inf f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const 1.5707963267948966 + f64.const -0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 892 + i32.const 709 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 + f64.const inf + f64.neg f64.const 0 - i32.const 0 - call $std/math/test_ceil + f64.const -1.5707963267948966 + f64.const 0.27576595544815063 + global.get $std/math/INEXACT + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 893 + i32.const 710 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 1 - f64.const 0 + f64.const inf + f64.const inf + f64.const 0.7853981633974483 + f64.const -0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 894 + i32.const 711 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const -0 - f64.const 0 + f64.const inf + f64.const inf + f64.neg + f64.const 2.356194490192345 + f64.const -0.20682445168495178 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 895 + i32.const 712 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000152587890625 - f64.const 2 - f64.const 0 + f64.const inf + f64.neg + f64.const inf + f64.const -0.7853981633974483 + f64.const 0.27576595544815063 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 896 + i32.const 713 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const -2.356194490192345 + f64.const 0.20682445168495178 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 897 + i32.const 714 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9999923706054688 + f64.const 1.1125369292536007e-308 f64.const 1 + f64.const 1.1125369292536007e-308 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_ceil + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 898 + i32.const 715 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.9999923706054688 - f64.const -0 + f64.const 1 + f64.const 8988465674311579538646525e283 + f64.const 1.1125369292536007e-308 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_ceil + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 899 + i32.const 716 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.888609052210118e-31 - f64.const 1 + f64.const 1.5 + f64.const 8988465674311579538646525e283 + f64.const 1.668805393880401e-308 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_ceil + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 900 + i32.const 717 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 - f64.const -0 + f64.const 1.5 + f64.const -8988465674311579538646525e283 + f64.const 3.141592653589793 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_ceil + call $std/math/test_atan2 i32.eqz if i32.const 0 i32.const 32 - i32.const 901 + i32.const 718 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - f32.const -8 - f32.const 0 + f32.const 4.535662651062012 + f32.const -1.0585895776748657 + f32.const -0.22352588176727295 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 910 + i32.const 727 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - f32.const 5 - f32.const 0 + f32.const -8.887990951538086 + f32.const 2.686873435974121 + f32.const 0.09464472532272339 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 911 + i32.const 728 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - f32.const -8 - f32.const 0 + f32.const -2.7636072635650635 + f32.const -1.8893001079559326 + f32.const -0.21941901743412018 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 912 + i32.const 729 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - f32.const -6 - f32.const 0 + f32.const 4.567535400390625 + f32.const -0.9605468511581421 + f32.const 0.46015575528144836 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 913 + i32.const 730 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - f32.const 10 - f32.const 0 + f32.const 4.811392307281494 + f32.const 1.0919123888015747 + f32.const -0.05708503723144531 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 914 + i32.const 731 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 1 - f32.const 0 + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -1.4685084819793701 + f32.const 0.19611206650733948 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 915 + i32.const 732 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -0 - f32.const 0 + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 1.5641601085662842 + f32.const 0.48143187165260315 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 916 + i32.const 733 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 1 - f32.const 0 + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.10281659662723541 + f32.const -0.4216274917125702 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 917 + i32.const 734 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 1 - f32.const 0 + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.29697975516319275 + f32.const 0.2322007566690445 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 918 + i32.const 735 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -0 - f32.const 0 + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -1.5131611824035645 + f32.const 0.16620726883411407 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 919 + i32.const 736 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const 0 + f32.const 0 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 922 + i32.const 739 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f32.const -0 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 923 + i32.const 740 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f32.const -1 + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 924 + i32.const 741 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f32.const inf + f32.neg + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 925 + i32.const 742 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 + f32.const 0 + f32.const 1 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 926 + i32.const 743 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 + f32.const 0 + f32.const inf + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 927 + i32.const 744 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 + f32.const -0 + f32.const 0 + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 928 + i32.const 745 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 1 - f32.const 0 + f32.const -0 + f32.const -0 + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 929 + i32.const 746 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 f32.const -0 - f32.const 0 + f32.const -1 + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 930 + i32.const 747 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 + f32.const -0 + f32.const inf + f32.neg + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 931 + i32.const 748 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000152587890625 - f32.const -1 + f32.const -0 + f32.const 1 + f32.const -0 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + i32.const 0 + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 932 + i32.const 749 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.9999923706054688 - f32.const 1 + f32.const -0 + f32.const inf + f32.const -0 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + i32.const 0 + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 933 + i32.const 750 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.9999923706054688 - f32.const -0 + f32.const -1 f32.const 0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 934 + i32.const 751 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 + f32.const -1 + f32.const -0 + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 935 + i32.const 752 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const -0 + f32.const 1 f32.const 0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 936 + i32.const 753 i32.const 1 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 + f32.const 1 + f32.const -0 + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 937 + i32.const 754 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const -1 f32.const inf - f32.const inf + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 938 + i32.const 755 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 1 f32.const inf - f32.neg - f32.const inf - f32.neg + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 939 + i32.const 756 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f32.const -1 + f32.const inf + f32.neg + f32.const -3.1415927410125732 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 940 + i32.const 757 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f32.const 1 + f32.const inf + f32.neg + f32.const 3.1415927410125732 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 941 + i32.const 758 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 + f32.const inf f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f32.const 1.5707963705062866 + f32.const 0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 942 + i32.const 759 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 + f32.const inf + f32.neg f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f32.const -1.5707963705062866 + f32.const -0.3666777014732361 + global.get $std/math/INEXACT + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 943 + i32.const 760 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 1 - f32.const 0 + f32.const inf + f32.const inf + f32.const 0.7853981852531433 + f32.const 0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 944 + i32.const 761 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const -0 - f32.const 0 + f32.const inf + f32.const inf + f32.neg + f32.const 2.356194496154785 + f32.const 0.02500828728079796 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 945 + i32.const 762 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 + f32.const inf + f32.neg + f32.const inf + f32.const -0.7853981852531433 + f32.const -0.3666777014732361 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 946 + i32.const 763 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const -2.356194496154785 + f32.const -0.02500828728079796 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 947 + i32.const 764 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.9999923706054688 + f32.const 5.877471754111438e-39 f32.const 1 + f32.const 5.877471754111438e-39 f32.const 0 global.get $std/math/INEXACT - call $std/math/test_ceilf + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 948 + i32.const 765 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.9999923706054688 - f32.const -0 + f32.const 1 + f32.const 1701411834604692317316873e14 + f32.const 5.877471754111438e-39 f32.const 0 global.get $std/math/INEXACT - call $std/math/test_ceilf + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 32 - i32.const 949 + i32.const 766 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 + f64.const -8.06684839057968 + f64.const -2.0055552545020245 + f64.const 0.46667951345443726 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 950 + i32.const 778 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 + f64.const 4.345239849338305 + f64.const 1.6318162410515635 + f64.const -0.08160271495580673 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 951 + i32.const 779 i32.const 1 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 + f64.const -8.38143342755525 + f64.const -2.031293910673361 + f64.const -0.048101816326379776 + global.get $std/math/INEXACT + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 952 + i32.const 780 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f64.const -6.531673581913484 + f64.const -1.8692820012204925 + f64.const 0.08624018728733063 + global.get $std/math/INEXACT + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 953 + i32.const 781 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f64.const 9.267056966972586 + f64.const 2.100457720859702 + f64.const -0.2722989022731781 + global.get $std/math/INEXACT + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 954 + i32.const 782 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f64.const 0.6619858980995045 + f64.const 0.8715311470455973 + f64.const 0.4414918124675751 + global.get $std/math/INEXACT + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 955 + i32.const 783 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f64.const -0.4066039223853553 + f64.const -0.740839030300223 + f64.const 0.016453813761472702 + global.get $std/math/INEXACT + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 956 + i32.const 784 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f64.const 0.5617597462207241 + f64.const 0.8251195400559286 + f64.const 0.30680638551712036 + global.get $std/math/INEXACT + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 957 + i32.const 785 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_ceilf + f64.const 0.7741522965913037 + f64.const 0.9182102478959914 + f64.const 0.06543998420238495 + global.get $std/math/INEXACT + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 958 + i32.const 786 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 1 - f32.const 0 + f64.const -0.6787637026394024 + f64.const -0.8788326906580094 + f64.const -0.2016713172197342 global.get $std/math/INEXACT - call $std/math/test_ceilf + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 959 + i32.const 787 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + 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 960 + i32.const 790 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000152587890625 - f32.const 2 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + 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 961 + i32.const 791 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 + i32.const 0 + call $std/math/test_cbrt i32.eqz if i32.const 0 i32.const 32 - i32.const 962 + i32.const 792 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.9999923706054688 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + 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 963 + i32.const 793 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.9999923706054688 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + 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 964 + i32.const 794 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.888609052210118e-31 - f32.const 1 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + 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 965 + i32.const 795 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const -0 - f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_ceilf + 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 966 + i32.const 796 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const -0.21126281599887137 - f64.const -0.10962469130754471 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 977 + i32.const 797 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const -0.35895602297578955 - f64.const -0.10759828239679337 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 978 + i32.const 798 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -0.503333091765516 - f64.const -0.021430473774671555 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 979 + i32.const 799 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 0.9692853212503283 - f64.const -0.4787876307964325 + f32.const -8.066848754882812 + f32.const -2.0055553913116455 + f32.const -0.44719240069389343 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 980 + i32.const 808 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const -0.9875878064788627 - f64.const 0.4880668818950653 + f32.const 4.345239639282227 + f32.const 1.6318162679672241 + f32.const 0.44636252522468567 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 981 + i32.const 809 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 0.7887730869248576 - f64.const 0.12708666920661926 + f32.const -8.381433486938477 + f32.const -2.0312938690185547 + f32.const 0.19483426213264465 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 982 + i32.const 810 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const 0.9184692397007294 - f64.const -0.26120713353157043 + f32.const -6.531673431396484 + f32.const -1.8692820072174072 + f32.const -0.17075514793395996 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 983 + i32.const 811 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 0.8463190467415896 - f64.const -0.302586168050766 + f32.const 9.267057418823242 + f32.const 2.1004576683044434 + f32.const -0.36362043023109436 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 984 + i32.const 812 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 0.7150139289952383 - f64.const -0.08537746220827103 + f32.const 0.6619858741760254 + f32.const 0.8715311288833618 + f32.const -0.12857209146022797 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 985 + i32.const 813 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const 0.7783494994757447 - f64.const 0.30890750885009766 + f32.const -0.40660393238067627 + f32.const -0.7408390641212463 + f32.const -0.4655757546424866 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 986 + i32.const 814 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cos + f32.const 0.5617597699165344 + f32.const 0.8251195549964905 + f32.const 0.05601907894015312 + global.get $std/math/INEXACT + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 989 + i32.const 815 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cos + f32.const 0.7741522789001465 + f32.const 0.9182102680206299 + f32.const 0.45498204231262207 + global.get $std/math/INEXACT + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 990 + i32.const 816 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_cos + f32.const -0.6787636876106262 + f32.const -0.8788326978683472 + f32.const -0.22978967428207397 + global.get $std/math/INEXACT + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 991 + i32.const 817 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_cos + 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 992 + i32.const 820 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_cos + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 993 + i32.const 821 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0.5403023058681398 - f64.const 0.4288286566734314 - global.get $std/math/INEXACT - call $std/math/test_cos + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_cbrtf i32.eqz if i32.const 0 i32.const 32 - i32.const 994 + i32.const 822 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2 - f64.const -0.4161468365471424 - f64.const -0.35859397053718567 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 995 + i32.const 823 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3 - f64.const -0.9899924966004454 - f64.const 0.3788451552391052 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 996 + i32.const 824 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4 - f64.const -0.6536436208636119 - f64.const -0.23280560970306396 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 997 + i32.const 825 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5 - f64.const 0.28366218546322625 - f64.const -0.3277357816696167 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 998 + i32.const 826 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.1 - f64.const 0.9950041652780258 - f64.const 0.49558526277542114 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 999 + i32.const 827 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.2 - f64.const 0.9800665778412416 - f64.const -0.02407640963792801 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1000 + i32.const 828 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.3 - f64.const 0.955336489125606 - f64.const -0.37772229313850403 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1001 + i32.const 829 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.4 - f64.const 0.9210609940028851 - f64.const 0.25818485021591187 + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1002 + i32.const 841 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 0.8775825618903728 - f64.const 0.3839152157306671 + f64.const 4.345239849338305 + f64.const 5 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1003 + i32.const 842 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3641409746639015e-308 - f64.const 1 + f64.const -8.38143342755525 + f64.const -8 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1004 + i32.const 843 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1820704873319507e-308 - f64.const 1 + f64.const -6.531673581913484 + f64.const -6 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1005 + i32.const 844 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5e-324 - f64.const 1 + f64.const 9.267056966972586 + f64.const 10 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1006 + i32.const 845 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -5e-324 + f64.const 0.6619858980995045 f64.const 1 f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1007 + i32.const 846 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -3.14 - f64.const -0.9999987317275395 - f64.const 0.3855516016483307 + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1008 + i32.const 847 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 8988465674311579538646525e283 - f64.const -0.826369834614148 - f64.const -0.3695965111255646 + f64.const 0.5617597462207241 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1009 + i32.const 848 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1797693134862315708145274e284 - f64.const -0.9999876894265599 - f64.const 0.23448343575000763 + f64.const 0.7741522965913037 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1010 + i32.const 849 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8988465674311579538646525e283 - f64.const -0.826369834614148 - f64.const -0.3695965111255646 + f64.const -0.6787637026394024 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1011 + i32.const 850 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.14 - f64.const -0.9999987317275395 - f64.const 0.3855516016483307 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1012 + i32.const 853 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.1415 - f64.const -0.9999999957076562 - f64.const -0.30608975887298584 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1013 + i32.const 854 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.141592 - f64.const -0.9999999999997864 - f64.const 0.15403328835964203 - global.get $std/math/INEXACT - call $std/math/test_cos + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 + i32.const 0 + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1014 + i32.const 855 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.14159265 - f64.const -1 - f64.const -0.02901807427406311 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1015 + i32.const 856 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.1415926535 - f64.const -1 - f64.const -1.8155848010792397e-05 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1016 + i32.const 857 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.141592653589 - f64.const -1 - f64.const -1.4169914130945926e-09 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1017 + i32.const 858 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.14159265358979 f64.const -1 - f64.const -2.350864897985184e-14 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1018 + i32.const 859 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.141592653589793 - f64.const -1 - f64.const -3.377158741883318e-17 + f64.const 0.5 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1019 + i32.const 860 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.57 - f64.const 7.963267107332633e-04 - f64.const 0.2968159317970276 + f64.const -0.5 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1020 + i32.const 861 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.570796 - f64.const 3.2679489653813835e-07 - f64.const -0.32570895552635193 + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1021 + i32.const 862 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5707963267 - f64.const 9.489659630678013e-11 - f64.const -0.27245646715164185 + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1022 + i32.const 863 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.57079632679489 - f64.const 6.722570487708307e-15 - f64.const -0.10747683793306351 + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1023 + i32.const 864 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5707963267948966 - f64.const 6.123233995736766e-17 - f64.const 0.12148229777812958 + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1024 + i32.const 865 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6700635199486106 - f64.const 0.7837822193016158 - f64.const -0.07278502732515335 + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1025 + i32.const 866 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5343890189437553 - f64.const 0.8605799719039517 - f64.const -0.48434028029441833 + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1026 + i32.const 867 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.43999702754890085 - f64.const 0.9047529293001976 - f64.const 0.029777472838759422 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1027 + i32.const 868 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9902840844687313 - f64.const 0.5484523364480768 - f64.const 0.19765280187129974 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1028 + i32.const 869 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.45381447534338915 - f64.const 0.8987813902263783 - f64.const -0.017724866047501564 - global.get $std/math/INEXACT - call $std/math/test_cos + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 + i32.const 0 + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1029 + i32.const 870 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.4609888813583589 - f64.const 0.8956130474713057 - f64.const 0.36449819803237915 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1030 + i32.const 871 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9285434097956422 - f64.const 0.5990009794292984 - f64.const -0.2899416387081146 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1031 + i32.const 872 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9109092124488352 - f64.const 0.6130276692774378 - f64.const -0.49353134632110596 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1032 + i32.const 873 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.8328600650359556 - f64.const 0.6727624710046357 - f64.const -0.36606088280677795 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1033 + i32.const 874 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9536201252203433 - f64.const 0.5787346183487084 - f64.const -0.17089833319187164 + f64.const 0.5 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1034 + i32.const 875 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.8726590065457699 - f64.const 0.6427919144259047 - f64.const -0.2744986116886139 + f64.const -0.5 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1035 + i32.const 876 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.18100447535968447 - f64.const 0.9836633656884893 - f64.const 3.0195272993296385e-03 + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1036 + i32.const 877 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.356194490349839 - f64.const -0.7071067812979126 - f64.const -0.48278746008872986 + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1037 + i32.const 878 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.356194490372272 - f64.const -0.7071067813137752 - f64.const -0.4866050183773041 + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1038 + i32.const 879 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3561944902251115 - f64.const -0.707106781209717 - f64.const -0.3533952236175537 + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1039 + i32.const 880 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3561944903149996 - f64.const -0.7071067812732775 - f64.const -0.41911986470222473 + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1040 + i32.const 881 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3561944903603527 - f64.const -0.707106781305347 - f64.const -0.4706200063228607 + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1041 + i32.const 882 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3561944903826197 - f64.const -0.7071067813210922 - f64.const -0.30618351697921753 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1042 + i32.const 883 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.356194490371803 - f64.const -0.7071067813134436 - f64.const -0.30564820766448975 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1043 + i32.const 884 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.356194490399931 - f64.const -0.7071067813333329 - f64.const -0.38845571875572205 - global.get $std/math/INEXACT - call $std/math/test_cos + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 + i32.const 0 + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1044 + i32.const 885 i32.const 1 call $~lib/builtins/abort unreachable - end - f64.const 2.356194490260191 - f64.const -0.707106781234522 - f64.const -0.23796851933002472 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1045 + i32.const 886 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3561944904043153 - f64.const -0.7071067813364332 - f64.const -0.3274589478969574 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1046 + i32.const 887 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.0943951024759446 - f64.const -0.5000000000716629 - f64.const -0.41711342334747314 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1047 + i32.const 888 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.09439510243324 - f64.const -0.5000000000346797 - f64.const -0.3566164970397949 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1048 + i32.const 889 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.0943951025133885 - f64.const -0.5000000001040902 - f64.const -0.2253485918045044 + f64.const 0.5 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1049 + i32.const 890 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.0943951025466707 - f64.const -0.5000000001329135 - f64.const -0.12982259690761566 + f64.const -0.5 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1050 + i32.const 891 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.094395102413896 - f64.const -0.5000000000179272 - f64.const -0.15886764228343964 + f64.const 1.0000152587890625 + f64.const 2 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1051 + i32.const 892 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.0943951024223404 - f64.const -0.5000000000252403 - f64.const -0.266656756401062 + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1052 + i32.const 893 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.0943951024960477 - f64.const -0.5000000000890726 - f64.const -0.4652077853679657 + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1053 + i32.const 894 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.0943951025173315 - f64.const -0.500000000107505 - f64.const -0.46710994839668274 + f64.const -0.9999923706054688 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1054 + i32.const 895 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.094395102405924 - f64.const -0.5000000000110234 - f64.const -0.2469603717327118 + f64.const 7.888609052210118e-31 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1055 + i32.const 896 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.094395102428558 - f64.const -0.500000000030625 - f64.const -0.3799441158771515 + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceil i32.eqz if i32.const 0 i32.const 32 - i32.const 1056 + i32.const 897 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 8.513210770864056 - f64.const -0.6125076939987759 - f64.const 0.4989966154098511 + f32.const -8.066848754882812 + f32.const -8 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1057 + i32.const 906 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 6.802886129801017 - f64.const 0.8679677961345452 - f64.const 0.4972165524959564 + f32.const 4.345239639282227 + f32.const 5 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1058 + i32.const 907 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.171925393086408 - f64.const -0.9682027440424544 - f64.const -0.49827584624290466 + f32.const -8.381433486938477 + f32.const -8 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1059 + i32.const 908 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 8.854690112888573 - f64.const -0.8418535663818527 - f64.const 0.4974979758262634 + f32.const -6.531673431396484 + f32.const -6 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1060 + i32.const 909 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.213510813859608 - f64.const -0.9777659802838506 - f64.const -0.4995604455471039 + f32.const 9.267057418823242 + f32.const 10 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1061 + i32.const 910 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.782449081542151 - f64.const 0.07147156381293339 - f64.const 0.49858126044273376 + f32.const 0.6619858741760254 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1062 + i32.const 911 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.500261332273616 - f64.const 0.34639017633458113 - f64.const -0.4996210038661957 + f32.const -0.40660393238067627 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1063 + i32.const 912 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.121739418731588 - f64.const -0.9544341297541811 - f64.const 0.4982815086841583 + f32.const 0.5617597699165344 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1064 + i32.const 913 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 6.784954020476316 - f64.const 0.8767332233166646 - f64.const -0.4988083839416504 + f32.const 0.7741522789001465 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1065 + i32.const 914 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 8.770846542666664 - f64.const -0.7936984117400705 - f64.const 0.4999682903289795 + f32.const -0.6787636876106262 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1066 + i32.const 915 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.313225746154785e-10 - f64.const 1 - f64.const 0.001953125 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1069 + i32.const 918 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -9.313225746154785e-10 - f64.const 1 - f64.const 0.001953125 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1070 + i32.const 919 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072014e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1071 + i32.const 920 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.2250738585072014e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1072 + i32.const 921 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5e-324 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1073 + i32.const 922 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -5e-324 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1074 + i32.const 923 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 1 - f64.const 0 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1075 + i32.const 924 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_cos + f32.const 0.5 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1076 + i32.const 925 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-323 - f64.const 1 - f64.const 0 + f32.const -0.5 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1077 + i32.const 926 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.4e-323 - f64.const 1 - f64.const 0 + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1078 + i32.const 927 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5.562684646268003e-309 - f64.const 1 - f64.const 0 + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1079 + i32.const 928 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1125369292536007e-308 - f64.const 1 - f64.const 0 + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1080 + i32.const 929 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072004e-308 - f64.const 1 - f64.const 0 + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1081 + i32.const 930 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.225073858507201e-308 - f64.const 1 - f64.const 0 + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1082 + i32.const 931 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.225073858507202e-308 - f64.const 1 - f64.const 0 + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1083 + i32.const 932 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072024e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1084 + i32.const 933 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.4501477170144003e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1085 + i32.const 934 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.450147717014403e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1086 + i32.const 935 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.450147717014406e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1087 + i32.const 936 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 8.900295434028806e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1088 + i32.const 937 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.450580596923828e-09 - f64.const 1 - f64.const 0.125 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1089 + i32.const 938 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.4901161193847656e-08 - f64.const 0.9999999999999999 - f64.const -1.850372590034581e-17 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1090 + i32.const 939 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.470348358154297e-08 - f64.const 0.999999999999999 - f64.const -1.4988010832439613e-15 + f32.const 0.5 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1091 + i32.const 940 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-323 - f64.const 1 - f64.const 0 + f32.const -0.5 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1092 + i32.const 941 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -4.4e-323 - f64.const 1 - f64.const 0 + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1093 + i32.const 942 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -5.562684646268003e-309 - f64.const 1 - f64.const 0 + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1094 + i32.const 943 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.1125369292536007e-308 - f64.const 1 - f64.const 0 + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1095 + i32.const 944 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.2250738585072004e-308 - f64.const 1 - f64.const 0 + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1096 + i32.const 945 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.225073858507201e-308 - f64.const 1 - f64.const 0 + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1097 + i32.const 946 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.225073858507202e-308 - f64.const 1 - f64.const 0 + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1098 + i32.const 947 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.2250738585072024e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1099 + i32.const 948 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -4.4501477170144003e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1100 + i32.const 949 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -4.450147717014403e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1101 + i32.const 950 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -4.450147717014406e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1102 + i32.const 951 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.900295434028806e-308 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1103 + i32.const 952 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.450580596923828e-09 - f64.const 1 - f64.const 0.125 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1104 + i32.const 953 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.4901161193847656e-08 - f64.const 0.9999999999999999 - f64.const -1.850372590034581e-17 - global.get $std/math/INEXACT - call $std/math/test_cos + 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 1105 + i32.const 954 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -4.470348358154297e-08 - f64.const 0.999999999999999 - f64.const -1.4988010832439613e-15 + f32.const 0.5 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_cos + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1106 + i32.const 955 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/math/kPI - f64.const 2 - f64.div - call $~lib/math/NativeMath.cos - global.get $std/math/kPI - f64.const 2 - f64.div - call $~lib/bindings/dom/Math.cos - f64.eq + f32.const -0.5 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1108 + i32.const 956 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2 - global.get $std/math/kPI - f64.mul - f64.const 2 - f64.div - call $~lib/math/NativeMath.cos - f64.const 2 - global.get $std/math/kPI - f64.mul - f64.const 2 - f64.div - call $~lib/bindings/dom/Math.cos - f64.eq + f32.const 1.0000152587890625 + f32.const 2 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1109 + i32.const 957 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.e+90 - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.cos - f64.const 1.e+90 - global.get $std/math/kPI - f64.mul - call $~lib/bindings/dom/Math.cos - f64.eq + f32.const -1.0000152587890625 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1110 + i32.const 958 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.cos - f64.const 1 - f64.eq + f32.const 0.9999923706054688 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1114 + i32.const 959 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.cos - f64.const 1 - f64.eq + f32.const -0.9999923706054688 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1115 + i32.const 960 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.15707963267948966 - call $~lib/math/NativeMath.cos - f64.const 0.9876883405951378 - f64.eq + f32.const 7.888609052210118e-31 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1118 + i32.const 961 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7812504768371582 - call $~lib/math/NativeMath.cos - f64.const 0.7100335477927638 - f64.eq + f32.const -7.888609052210118e-31 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_ceilf i32.eqz if i32.const 0 i32.const 32 - i32.const 1120 + i32.const 962 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.78125 - call $~lib/math/NativeMath.cos - f64.const 0.7100338835660797 - f64.eq + f64.const -8.06684839057968 + f64.const -0.21126281599887137 + f64.const -0.10962469130754471 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1121 + i32.const 973 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9238795325112867 - f64.const 0.39269908169872414 - call $~lib/math/NativeMath.cos - f64.eq + f64.const 4.345239849338305 + f64.const -0.35895602297578955 + f64.const -0.10759828239679337 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1124 + i32.const 974 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9238795325112867 - f64.const -0.39269908169872414 - call $~lib/math/NativeMath.cos - f64.eq + f64.const -8.38143342755525 + f64.const -0.503333091765516 + f64.const -0.021430473774671555 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1126 + i32.const 975 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.725290298461914e-09 - call $~lib/math/NativeMath.cos - f64.const 1 - f64.eq + f64.const -6.531673581913484 + f64.const 0.9692853212503283 + f64.const -0.4787876307964325 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1129 + i32.const 976 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9689124217106447 - f64.const 0.25 - call $~lib/math/NativeMath.cos - f64.eq + f64.const 9.267056966972586 + f64.const -0.9875878064788627 + f64.const 0.4880668818950653 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1131 + i32.const 977 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.8775825618903728 - f64.const 0.5 - call $~lib/math/NativeMath.cos - f64.eq + f64.const 0.6619858980995045 + f64.const 0.7887730869248576 + f64.const 0.12708666920661926 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1132 + i32.const 978 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7073882691671998 - f64.const 0.785 - call $~lib/math/NativeMath.cos - f64.eq + f64.const -0.4066039223853553 + f64.const 0.9184692397007294 + f64.const -0.26120713353157043 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1133 + i32.const 979 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 6.123233995736766e-17 - f64.const 1.5707963267948966 - call $~lib/math/NativeMath.cos - f64.eq + f64.const 0.5617597462207241 + f64.const 0.8463190467415896 + f64.const -0.302586168050766 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1135 + i32.const 980 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7071067811865474 - f64.const 7 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.cos - f64.eq + f64.const 0.7741522965913037 + f64.const 0.7150139289952383 + f64.const -0.08537746220827103 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1137 + i32.const 981 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7071067811865477 - f64.const 9 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.cos - f64.eq + f64.const -0.6787637026394024 + f64.const 0.7783494994757447 + f64.const 0.30890750885009766 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1138 + i32.const 982 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.7071067811865467 - f64.const 11 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.cos - f64.eq + 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 1139 + i32.const 985 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.7071067811865471 - f64.const 13 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.cos - f64.eq + 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 1140 + i32.const 986 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9367521275331447 - f64.const 1e6 - call $~lib/math/NativeMath.cos - f64.eq + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1141 + i32.const 987 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -3.435757038074824e-12 - f64.const 1048575 - f64.const 2 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.cos - f64.eq + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1142 + i32.const 988 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const -0.21126316487789154 - f32.const 0.48328569531440735 - global.get $std/math/INEXACT - call $std/math/test_cosf + 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 1151 + i32.const 989 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const -0.3589562177658081 - f32.const 0.042505208402872086 + f64.const 1 + f64.const 0.5403023058681398 + f64.const 0.4288286566734314 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1152 + i32.const 990 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -0.5033331513404846 - f32.const -0.1386195719242096 + f64.const 2 + f64.const -0.4161468365471424 + f64.const -0.35859397053718567 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1153 + i32.const 991 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const 0.9692853689193726 - f32.const 0.1786951720714569 + f64.const 3 + f64.const -0.9899924966004454 + f64.const 0.3788451552391052 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1154 + i32.const 992 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const -0.9875878691673279 - f32.const 0.1389600932598114 + f64.const 4 + f64.const -0.6536436208636119 + f64.const -0.23280560970306396 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1155 + i32.const 993 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 0.7887731194496155 - f32.const 0.2989593744277954 + f64.const 5 + f64.const 0.28366218546322625 + f64.const -0.3277357816696167 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1156 + i32.const 994 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const 0.918469250202179 - f32.const 0.24250665307044983 + f64.const 0.1 + f64.const 0.9950041652780258 + f64.const 0.49558526277542114 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1157 + i32.const 995 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0.8463190197944641 - f32.const -0.24033240973949432 + f64.const 0.2 + f64.const 0.9800665778412416 + f64.const -0.02407640963792801 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1158 + i32.const 996 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 0.7150139212608337 - f32.const -0.3372635245323181 + f64.const 0.3 + f64.const 0.955336489125606 + f64.const -0.37772229313850403 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1159 + i32.const 997 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const 0.7783495187759399 - f32.const 0.16550153493881226 + f64.const 0.4 + f64.const 0.9210609940028851 + f64.const 0.25818485021591187 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1160 + i32.const 998 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cosf + f64.const 0.5 + f64.const 0.8775825618903728 + f64.const 0.3839152157306671 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1163 + i32.const 999 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_cosf + f64.const 2.3641409746639015e-308 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1164 + i32.const 1000 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_cosf + f64.const 1.1820704873319507e-308 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1165 + i32.const 1001 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_cosf + f64.const 5e-324 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1166 + i32.const 1002 i32.const 1 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 + f64.const -5e-324 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1167 + i32.const 1003 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.862645149230957e-09 - f32.const 1 - f32.const 1.4551915228366852e-11 + f64.const -3.14 + f64.const -0.9999987317275395 + f64.const 0.3855516016483307 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1170 + i32.const 1004 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.862645149230957e-09 - f32.const 1 - f32.const 1.4551915228366852e-11 + f64.const 8988465674311579538646525e283 + f64.const -0.826369834614148 + f64.const -0.3695965111255646 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1171 + i32.const 1005 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.1754943508222875e-38 - f32.const 1 - f32.const 0 + f64.const 1797693134862315708145274e284 + f64.const -0.9999876894265599 + f64.const 0.23448343575000763 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1172 + i32.const 1006 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.1754943508222875e-38 - f32.const 1 - f32.const 0 + f64.const -8988465674311579538646525e283 + f64.const -0.826369834614148 + f64.const -0.3695965111255646 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1173 + i32.const 1007 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.401298464324817e-45 - f32.const 1 - f32.const 0 + f64.const 3.14 + f64.const -0.9999987317275395 + f64.const 0.3855516016483307 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1174 + i32.const 1008 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.401298464324817e-45 - f32.const 1 - f32.const 0 + f64.const 3.1415 + f64.const -0.9999999957076562 + f64.const -0.30608975887298584 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1175 + i32.const 1009 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2.802596928649634e-45 - f32.const 1 - f32.const 0 + f64.const 3.141592 + f64.const -0.9999999999997864 + f64.const 0.15403328835964203 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1176 + i32.const 1010 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.2611686178923354e-44 - f32.const 1 - f32.const 0 + f64.const 3.14159265 + f64.const -1 + f64.const -0.02901807427406311 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1177 + i32.const 1011 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2.938735877055719e-39 - f32.const 1 - f32.const 0 + f64.const 3.1415926535 + f64.const -1 + f64.const -1.8155848010792397e-05 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1178 + i32.const 1012 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 5.877471754111438e-39 - f32.const 1 - f32.const 0 + f64.const 3.141592653589 + f64.const -1 + f64.const -1.4169914130945926e-09 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1179 + i32.const 1013 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.1754940705625946e-38 - f32.const 1 - f32.const 0 + f64.const 3.14159265358979 + f64.const -1 + f64.const -2.350864897985184e-14 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1180 + i32.const 1014 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.1754942106924411e-38 - f32.const 1 - f32.const 0 + f64.const 3.141592653589793 + f64.const -1 + f64.const -3.377158741883318e-17 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1181 + i32.const 1015 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.175494490952134e-38 - f32.const 1 - f32.const 0 + f64.const 1.57 + f64.const 7.963267107332633e-04 + f64.const 0.2968159317970276 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1182 + i32.const 1016 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.1754946310819804e-38 - f32.const 1 - f32.const 0 + f64.const 1.570796 + f64.const 3.2679489653813835e-07 + f64.const -0.32570895552635193 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1183 + i32.const 1017 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2.3509880009953429e-38 - f32.const 1 - f32.const 0 + f64.const 1.5707963267 + f64.const 9.489659630678013e-11 + f64.const -0.27245646715164185 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1184 + i32.const 1018 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2.350988701644575e-38 - f32.const 1 - f32.const 0 + f64.const 1.57079632679489 + f64.const 6.722570487708307e-15 + f64.const -0.10747683793306351 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1185 + i32.const 1019 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2.3509895424236536e-38 - f32.const 1 - f32.const 0 + f64.const 1.5707963267948966 + f64.const 6.123233995736766e-17 + f64.const 0.12148229777812958 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1186 + i32.const 1020 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.70197740328915e-38 - f32.const 1 - f32.const 0 + f64.const 0.6700635199486106 + f64.const 0.7837822193016158 + f64.const -0.07278502732515335 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1187 + i32.const 1021 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.450580596923828e-09 - f32.const 1 - f32.const 2.3283064365386963e-10 + f64.const 0.5343890189437553 + f64.const 0.8605799719039517 + f64.const -0.48434028029441833 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1188 + i32.const 1022 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.000244140625 - f32.const 1 - f32.const 0.25 + f64.const 0.43999702754890085 + f64.const 0.9047529293001976 + f64.const 0.029777472838759422 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1189 + i32.const 1023 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.00048828125 - f32.const 0.9999998807907104 - f32.const -3.973643103449831e-08 + f64.const 0.9902840844687313 + f64.const 0.5484523364480768 + f64.const 0.19765280187129974 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1190 + i32.const 1024 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.0009765625 - f32.const 0.9999995231628418 - f32.const -6.357828397085541e-07 + f64.const 0.45381447534338915 + f64.const 0.8987813902263783 + f64.const -0.017724866047501564 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1191 + i32.const 1025 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2.802596928649634e-45 - f32.const 1 - f32.const 0 + f64.const 0.4609888813583589 + f64.const 0.8956130474713057 + f64.const 0.36449819803237915 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1192 + i32.const 1026 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.2611686178923354e-44 - f32.const 1 - f32.const 0 + f64.const 0.9285434097956422 + f64.const 0.5990009794292984 + f64.const -0.2899416387081146 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1193 + i32.const 1027 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2.938735877055719e-39 - f32.const 1 - f32.const 0 + f64.const 0.9109092124488352 + f64.const 0.6130276692774378 + f64.const -0.49353134632110596 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1194 + i32.const 1028 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -5.877471754111438e-39 - f32.const 1 - f32.const 0 + f64.const 0.8328600650359556 + f64.const 0.6727624710046357 + f64.const -0.36606088280677795 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1195 + i32.const 1029 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.1754940705625946e-38 - f32.const 1 - f32.const 0 + f64.const 0.9536201252203433 + f64.const 0.5787346183487084 + f64.const -0.17089833319187164 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1196 + i32.const 1030 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.1754942106924411e-38 - f32.const 1 - f32.const 0 + f64.const 0.8726590065457699 + f64.const 0.6427919144259047 + f64.const -0.2744986116886139 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1197 + i32.const 1031 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.175494490952134e-38 - f32.const 1 - f32.const 0 + f64.const 0.18100447535968447 + f64.const 0.9836633656884893 + f64.const 3.0195272993296385e-03 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1198 + i32.const 1032 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.1754946310819804e-38 - f32.const 1 - f32.const 0 + f64.const 2.356194490349839 + f64.const -0.7071067812979126 + f64.const -0.48278746008872986 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1199 + i32.const 1033 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2.3509880009953429e-38 - f32.const 1 - f32.const 0 + f64.const 2.356194490372272 + f64.const -0.7071067813137752 + f64.const -0.4866050183773041 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1200 + i32.const 1034 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2.350988701644575e-38 - f32.const 1 - f32.const 0 + f64.const 2.3561944902251115 + f64.const -0.707106781209717 + f64.const -0.3533952236175537 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1201 + i32.const 1035 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2.3509895424236536e-38 - f32.const 1 - f32.const 0 + f64.const 2.3561944903149996 + f64.const -0.7071067812732775 + f64.const -0.41911986470222473 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1202 + i32.const 1036 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -4.70197740328915e-38 - f32.const 1 - f32.const 0 + f64.const 2.3561944903603527 + f64.const -0.707106781305347 + f64.const -0.4706200063228607 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1203 + i32.const 1037 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.450580596923828e-09 - f32.const 1 - f32.const 2.3283064365386963e-10 + f64.const 2.3561944903826197 + f64.const -0.7071067813210922 + f64.const -0.30618351697921753 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1204 + i32.const 1038 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.000244140625 - f32.const 1 - f32.const 0.25 + f64.const 2.356194490371803 + f64.const -0.7071067813134436 + f64.const -0.30564820766448975 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1205 + i32.const 1039 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.00048828125 - f32.const 0.9999998807907104 - f32.const -3.973643103449831e-08 + f64.const 2.356194490399931 + f64.const -0.7071067813333329 + f64.const -0.38845571875572205 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1206 + i32.const 1040 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.0009765625 - f32.const 0.9999995231628418 - f32.const -6.357828397085541e-07 + f64.const 2.356194490260191 + f64.const -0.707106781234522 + f64.const -0.23796851933002472 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1207 + i32.const 1041 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 255.99993896484375 - f32.const -0.03985174745321274 - f32.const 0 + f64.const 2.3561944904043153 + f64.const -0.7071067813364332 + f64.const -0.3274589478969574 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1210 + i32.const 1042 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 5033165 - f32.const 0.8471871614456177 - f32.const 0 + f64.const 2.0943951024759446 + f64.const -0.5000000000716629 + f64.const -0.41711342334747314 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1211 + i32.const 1043 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 421657440 - f32.const 0.6728929281234741 - f32.const 0 + f64.const 2.09439510243324 + f64.const -0.5000000000346797 + f64.const -0.3566164970397949 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1212 + i32.const 1044 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2147483392 - f32.const 0.9610780477523804 - f32.const 0 + f64.const 2.0943951025133885 + f64.const -0.5000000001040902 + f64.const -0.2253485918045044 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1213 + i32.const 1045 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 68719476736 - f32.const 0.1694190502166748 - f32.const 0 + f64.const 2.0943951025466707 + f64.const -0.5000000001329135 + f64.const -0.12982259690761566 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1214 + i32.const 1046 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 549755813888 - f32.const 0.20735950767993927 - f32.const 0 + f64.const 2.094395102413896 + f64.const -0.5000000000179272 + f64.const -0.15886764228343964 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1215 + i32.const 1047 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f32.MAX_VALUE - f32.const 0.8530210256576538 - f32.const 0 + f64.const 2.0943951024223404 + f64.const -0.5000000000252403 + f64.const -0.266656756401062 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1216 + i32.const 1048 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -255.99993896484375 - f32.const -0.03985174745321274 - f32.const 0 + f64.const 2.0943951024960477 + f64.const -0.5000000000890726 + f64.const -0.4652077853679657 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1217 + i32.const 1049 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -5033165 - f32.const 0.8471871614456177 - f32.const 0 + f64.const 2.0943951025173315 + f64.const -0.500000000107505 + f64.const -0.46710994839668274 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1218 + i32.const 1050 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -421657440 - f32.const 0.6728929281234741 - f32.const 0 + f64.const 2.094395102405924 + f64.const -0.5000000000110234 + f64.const -0.2469603717327118 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1219 + i32.const 1051 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2147483392 - f32.const 0.9610780477523804 - f32.const 0 + f64.const 2.094395102428558 + f64.const -0.500000000030625 + f64.const -0.3799441158771515 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1220 + i32.const 1052 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -68719476736 - f32.const 0.1694190502166748 - f32.const 0 + f64.const 8.513210770864056 + f64.const -0.6125076939987759 + f64.const 0.4989966154098511 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1221 + i32.const 1053 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -549755813888 - f32.const 0.20735950767993927 - f32.const 0 + f64.const 6.802886129801017 + f64.const 0.8679677961345452 + f64.const 0.4972165524959564 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1222 + i32.const 1054 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f32.MAX_VALUE - f32.neg - f32.const 0.8530210256576538 - f32.const 0 + f64.const 9.171925393086408 + f64.const -0.9682027440424544 + f64.const -0.49827584624290466 global.get $std/math/INEXACT - call $std/math/test_cosf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1223 + i32.const 1055 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const 1593.5209938862329 - f64.const -0.38098856806755066 + f64.const 8.854690112888573 + f64.const -0.8418535663818527 + f64.const 0.4974979758262634 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1234 + i32.const 1056 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 38.56174928426729 - f64.const -0.2712278366088867 + f64.const 9.213510813859608 + f64.const -0.9777659802838506 + f64.const -0.4995604455471039 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1235 + i32.const 1057 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const 2182.630979595893 - f64.const 0.0817827582359314 + f64.const 7.782449081542151 + f64.const 0.07147156381293339 + f64.const 0.49858126044273376 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1236 + i32.const 1058 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 343.273849250879 - f64.const -0.429940402507782 + f64.const 7.500261332273616 + f64.const 0.34639017633458113 + f64.const -0.4996210038661957 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1237 + i32.const 1059 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 5291.779170005587 - f64.const -0.1592995822429657 + f64.const 9.121739418731588 + f64.const -0.9544341297541811 + f64.const 0.4982815086841583 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1238 + i32.const 1060 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 1.2272321957342842 - f64.const 0.23280741274356842 + f64.const 6.784954020476316 + f64.const 0.8767332233166646 + f64.const -0.4988083839416504 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1239 + i32.const 1061 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const 1.083808541871197 - f64.const -0.3960916996002197 + f64.const 8.770846542666664 + f64.const -0.7936984117400705 + f64.const 0.4999682903289795 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1240 + i32.const 1062 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 1.1619803583175077 - f64.const 0.37748390436172485 + f64.const 9.313225746154785e-10 + f64.const 1 + f64.const 0.001953125 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1241 + i32.const 1065 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 1.3149236876276706 - f64.const 0.43587008118629456 + f64.const -9.313225746154785e-10 + f64.const 1 + f64.const 0.001953125 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1242 + i32.const 1066 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const 1.2393413245934533 - f64.const 0.10201606154441833 + f64.const 2.2250738585072014e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1243 + i32.const 1067 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const -2.2250738585072014e-308 f64.const 1 f64.const 0 - i32.const 0 - call $std/math/test_cosh + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1246 + i32.const 1068 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 + f64.const 5e-324 f64.const 1 f64.const 0 - i32.const 0 - call $std/math/test_cosh + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1247 + i32.const 1069 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf + f64.const -5e-324 + f64.const 1 f64.const 0 - i32.const 0 - call $std/math/test_cosh + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1248 + i32.const 1070 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf + f64.const 0 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1249 + i32.const 1071 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + f64.const -0 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_cosh + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1250 + i32.const 1072 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const 1593.5216064453125 - f32.const 0.26242581009864807 + f64.const 1e-323 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1259 + i32.const 1073 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 38.56174087524414 - f32.const -0.08168885856866837 + f64.const 4.4e-323 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1260 + i32.const 1074 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const 2182.631103515625 - f32.const -0.02331414446234703 + f64.const 5.562684646268003e-309 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1261 + i32.const 1075 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const 343.2738037109375 - f32.const 0.20081493258476257 + f64.const 1.1125369292536007e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1262 + i32.const 1076 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 5291.78173828125 - f32.const 0.36286723613739014 + f64.const 2.2250738585072004e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1263 + i32.const 1077 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 1.2272322177886963 - f32.const 0.32777416706085205 + f64.const 2.225073858507201e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1264 + i32.const 1078 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const 1.0838085412979126 - f32.const -0.039848703891038895 + f64.const 2.225073858507202e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1265 + i32.const 1079 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 1.161980390548706 - f32.const 0.15274477005004883 + f64.const 2.2250738585072024e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1266 + i32.const 1080 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 1.314923644065857 - f32.const -0.2387111485004425 + f64.const 4.4501477170144003e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1267 + i32.const 1081 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const 1.2393412590026855 - f32.const -0.45791932940483093 + f64.const 4.450147717014403e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_coshf + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1268 + i32.const 1082 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_coshf + f64.const 4.450147717014406e-308 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1271 + i32.const 1083 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_coshf + f64.const 8.900295434028806e-308 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1272 + i32.const 1084 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_coshf + f64.const 7.450580596923828e-09 + f64.const 1 + f64.const 0.125 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1273 + i32.const 1085 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_coshf + f64.const 1.4901161193847656e-08 + f64.const 0.9999999999999999 + f64.const -1.850372590034581e-17 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1274 + i32.const 1086 i32.const 1 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 + f64.const 4.470348358154297e-08 + f64.const 0.999999999999999 + f64.const -1.4988010832439613e-15 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1275 + i32.const 1087 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const 3.137706068161745e-04 - f64.const -0.2599197328090668 + f64.const -1e-323 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1287 + i32.const 1088 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 77.11053017112141 - f64.const -0.02792675793170929 + f64.const -4.4e-323 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1288 + i32.const 1089 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const 2.290813384916323e-04 - f64.const -0.24974334239959717 + f64.const -5.562684646268003e-309 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1289 + i32.const 1090 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 1.4565661260931588e-03 - f64.const -0.4816822409629822 + f64.const -1.1125369292536007e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1290 + i32.const 1091 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 10583.558245524993 - f64.const 0.17696762084960938 + f64.const -2.2250738585072004e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1291 + i32.const 1092 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 1.9386384525571998 - f64.const -0.4964246451854706 + f64.const -2.225073858507201e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1292 + i32.const 1093 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const 0.6659078892838025 - f64.const -0.10608318448066711 + f64.const -2.225073858507202e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1293 + i32.const 1094 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 1.7537559518626311 - f64.const -0.39162111282348633 + f64.const -2.2250738585072024e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1294 + i32.const 1095 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 2.1687528885129246 - f64.const -0.2996125817298889 + f64.const -4.4501477170144003e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1295 + i32.const 1096 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const 0.5072437089402843 - f64.const 0.47261738777160645 + f64.const -4.450147717014403e-308 + f64.const 1 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1296 + i32.const 1097 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const -4.450147717014406e-308 f64.const 1 f64.const 0 - i32.const 0 - call $std/math/test_exp + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1299 + i32.const 1098 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 + f64.const -8.900295434028806e-308 f64.const 1 f64.const 0 - i32.const 0 - call $std/math/test_exp + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1300 + i32.const 1099 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const -7.450580596923828e-09 f64.const 1 - f64.const 2.718281828459045 - f64.const -0.3255307376384735 + f64.const 0.125 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1301 + i32.const 1100 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 0.36787944117144233 - f64.const 0.22389651834964752 + f64.const -1.4901161193847656e-08 + f64.const 0.9999999999999999 + f64.const -1.850372590034581e-17 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1302 + i32.const 1101 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_exp + f64.const -4.470348358154297e-08 + f64.const 0.999999999999999 + f64.const -1.4988010832439613e-15 + global.get $std/math/INEXACT + call $std/math/test_cos i32.eqz if i32.const 0 i32.const 32 - i32.const 1303 + i32.const 1102 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - 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 1304 + block $~lib/math/NativeMath.cos|inlined.1 (result f64) + global.get $std/math/kPI + f64.const 2 + f64.div + local.set $0 i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.1 end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_exp + global.get $std/math/kPI + f64.const 2 + f64.div + call $~lib/bindings/dom/Math.cos + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1305 + i32.const 1104 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0397214889526365 - f64.const 2.828429155876411 - f64.const 0.18803080916404724 - global.get $std/math/INEXACT - call $std/math/test_exp - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1306 + block $~lib/math/NativeMath.cos|inlined.2 (result f64) + f64.const 2 + global.get $std/math/kPI + f64.mul + f64.const 2 + f64.div + local.set $0 i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.2 end - f64.const -1.0397214889526365 - f64.const 0.35355313670217847 - f64.const 0.2527272403240204 - global.get $std/math/INEXACT - call $std/math/test_exp + f64.const 2 + global.get $std/math/kPI + f64.mul + f64.const 2 + f64.div + call $~lib/bindings/dom/Math.cos + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1307 + i32.const 1105 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0397210121154785 - f64.const 2.8284278071766122 - f64.const -0.4184139370918274 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.3 (result f64) + f64.const 1.e+90 + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.3 + end + f64.const 1.e+90 + global.get $std/math/kPI + f64.mul + call $~lib/bindings/dom/Math.cos + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1308 + i32.const 1106 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0397214889526367 - f64.const 2.8284291558764116 - f64.const -0.22618377208709717 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.4 (result f64) + f64.const 2.3283064365386963e-10 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.4 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1309 + i32.const 1110 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MIN_VALUE + block $~lib/math/NativeMath.cos|inlined.5 (result f64) + f64.const -2.3283064365386963e-10 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.5 + end f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_exp + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1312 + i32.const 1111 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MIN_VALUE - f64.neg - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.6 (result f64) + f64.const 0.15707963267948966 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.6 + end + f64.const 0.9876883405951378 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1313 + i32.const 1114 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4649454530587146735 - f64.reinterpret_i64 - i64.const 9218868437227405098 - f64.reinterpret_i64 - i64.const -4631092234375135232 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.7 (result f64) + f64.const 0.7812504768371582 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.7 + end + f64.const 0.7100335477927638 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1315 + i32.const 1116 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4649454530587146736 - f64.reinterpret_i64 - f64.const inf - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.8 (result f64) + f64.const 0.78125 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.8 + end + f64.const 0.7100338835660797 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1322 + i32.const 1117 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4573606559926636463 - f64.reinterpret_i64 - global.get $~lib/builtins/f64.MIN_VALUE - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.9 (result f64) + f64.const 0.39269908169872414 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.9 + end + f64.const 0.9238795325112867 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1323 + i32.const 1120 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4573606559926636462 - f64.reinterpret_i64 - f64.const 0 - i64.const -4620693217682128896 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.10 (result f64) + f64.const -0.39269908169872414 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.10 + end + f64.const 0.9238795325112867 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1330 + i32.const 1122 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4573929700241785646 - f64.reinterpret_i64 - i64.const 4503599627370620 - f64.reinterpret_i64 - i64.const 4598386411140284416 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.11 (result f64) + f64.const 3.725290298461914e-09 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.11 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1337 + i32.const 1125 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4573929700241785645 - f64.reinterpret_i64 - i64.const 4503599627370108 - f64.reinterpret_i64 - i64.const 4503599627370108 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.12 (result f64) + f64.const 0.25 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.12 + end + f64.const 0.9689124217106447 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1344 + i32.const 1127 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4602685064124656555 - f64.reinterpret_i64 - i64.const 4610109149550689567 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.13 (result f64) + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.13 + end + f64.const 0.8775825618903728 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1351 + i32.const 1128 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4603836184166978885 - f64.reinterpret_i64 - i64.const 4611122094629841017 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.14 (result f64) + f64.const 0.785 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.14 + end + f64.const 0.7073882691671998 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1358 + i32.const 1129 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4605718951180848880 - f64.reinterpret_i64 - i64.const 4612385506662149744 - f64.reinterpret_i64 - i64.const -4620693217682128896 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.15 (result f64) + f64.const 1.5707963267948966 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.15 + end + f64.const 6.123233995736766e-17 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1365 + i32.const 1131 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4605835761386121865 - f64.reinterpret_i64 - i64.const 4612453422537445296 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.16 (result f64) + f64.const 7 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.16 + end + f64.const 0.7071067811865474 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1371 + i32.const 1133 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4610006203169397430 - f64.reinterpret_i64 - i64.const 4617415291835269761 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.17 (result f64) + f64.const 9 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.17 + end + f64.const 0.7071067811865477 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1377 + i32.const 1134 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4610219797808568955 - f64.reinterpret_i64 - i64.const 4617693563882825047 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.18 (result f64) + f64.const 11 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.18 + end + f64.const -0.7071067811865467 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1383 + i32.const 1135 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4619182163989041060 - f64.reinterpret_i64 - i64.const 4650062712266849886 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.19 (result f64) + f64.const 13 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.19 + end + f64.const -0.7071067811865471 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1390 + i32.const 1136 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4622394943780502425 - f64.reinterpret_i64 - i64.const 4678652243157503230 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.20 (result f64) + f64.const 1e6 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.20 + end + f64.const 0.9367521275331447 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1397 + i32.const 1137 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4622613550143616215 - f64.reinterpret_i64 - i64.const 4680943662238555301 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 - global.get $std/math/INEXACT - call $std/math/test_exp + block $~lib/math/NativeMath.cos|inlined.21 (result f64) + f64.const 1048575 + f64.const 2 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/cos64 + br $~lib/math/NativeMath.cos|inlined.21 + end + f64.const -3.435757038074824e-12 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 1404 + i32.const 1138 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4622829325869063755 - f64.reinterpret_i64 - i64.const 4683793372338329074 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 + f32.const -8.066848754882812 + f32.const -0.21126316487789154 + f32.const 0.48328569531440735 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1411 + i32.const 1147 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4645970351893354075 - f64.reinterpret_i64 - i64.const 7289148599681560140 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 + f32.const 4.345239639282227 + f32.const -0.3589562177658081 + f32.const 0.042505208402872086 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1418 + i32.const 1148 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4647695036380671130 - f64.reinterpret_i64 - i64.const 7926454981994343700 - f64.reinterpret_i64 - i64.const -4620693217682128896 - f64.reinterpret_i64 + f32.const -8.381433486938477 + f32.const -0.5033331513404846 + f32.const -0.1386195719242096 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1425 + i32.const 1149 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4819432143425896336 - f64.reinterpret_i64 - i64.const 4607182418800017169 - f64.reinterpret_i64 - i64.const 4602678819172646912 - f64.reinterpret_i64 + f32.const -6.531673431396484 + f32.const 0.9692853689193726 + f32.const 0.1786951720714569 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1432 + i32.const 1150 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4819256221565452171 - f64.reinterpret_i64 - i64.const 4607182418800017163 - f64.reinterpret_i64 - i64.const -4620693217682128896 - f64.reinterpret_i64 + f32.const 9.267057418823242 + f32.const -0.9875878691673279 + f32.const 0.1389600932598114 global.get $std/math/INEXACT - call $std/math/test_exp + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1439 + i32.const 1151 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const 3.1377049162983894e-04 - f32.const -0.030193336308002472 + f32.const 0.6619858741760254 + f32.const 0.7887731194496155 + f32.const 0.2989593744277954 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1453 + i32.const 1152 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 77.11051177978516 - f32.const -0.2875460684299469 + f32.const -0.40660393238067627 + f32.const 0.918469250202179 + f32.const 0.24250665307044983 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1454 + i32.const 1153 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const 2.2908132814336568e-04 - f32.const 0.2237040400505066 + f32.const 0.5617597699165344 + f32.const 0.8463190197944641 + f32.const -0.24033240973949432 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1455 + i32.const 1154 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const 1.4565663877874613e-03 - f32.const 0.36469703912734985 + f32.const 0.7741522789001465 + f32.const 0.7150139212608337 + f32.const -0.3372635245323181 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1456 + i32.const 1155 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 10583.5634765625 - f32.const 0.45962104201316833 + f32.const -0.6787636876106262 + f32.const 0.7783495187759399 + f32.const 0.16550153493881226 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1457 + i32.const 1156 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 1.93863844871521 - f32.const 0.3568260967731476 - global.get $std/math/INEXACT - call $std/math/test_expf + 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 1458 + i32.const 1159 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const 0.6659078598022461 - f32.const -0.38294991850852966 - global.get $std/math/INEXACT - call $std/math/test_expf + 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 1459 + i32.const 1160 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 1.753756046295166 - f32.const 0.44355490803718567 - global.get $std/math/INEXACT - call $std/math/test_expf + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1460 + i32.const 1161 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 2.168752908706665 - f32.const 0.24562469124794006 - global.get $std/math/INEXACT - call $std/math/test_expf + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1461 + i32.const 1162 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const 0.5072436928749084 - f32.const -0.3974292278289795 - global.get $std/math/INEXACT - call $std/math/test_expf + 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 1462 + i32.const 1163 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 + f32.const 1.862645149230957e-09 f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_expf + f32.const 1.4551915228366852e-11 + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1465 + i32.const 1166 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 + f32.const -1.862645149230957e-09 f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_expf + f32.const 1.4551915228366852e-11 + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1466 + i32.const 1167 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 1.1754943508222875e-38 f32.const 1 - f32.const 2.7182817459106445 - f32.const -0.3462330996990204 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1467 + i32.const 1168 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 0.3678794503211975 - f32.const 0.3070148527622223 + f32.const -1.1754943508222875e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1468 + i32.const 1169 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf + f32.const 1.401298464324817e-45 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_expf + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1469 + i32.const 1170 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0 + f32.const -1.401298464324817e-45 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_expf + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1470 + i32.const 1171 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const 2.802596928649634e-45 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_expf + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1471 + i32.const 1172 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 88.72283172607422 - f32.const 340279851902147610656242e15 - f32.const -0.09067153930664062 + f32.const 1.2611686178923354e-44 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1472 + i32.const 1173 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 88.72283935546875 - f32.const inf + f32.const 2.938735877055719e-39 + f32.const 1 f32.const 0 global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1473 + i32.const 1174 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -103.97207641601562 - f32.const 1.401298464324817e-45 - f32.const 0.49999967217445374 + f32.const 5.877471754111438e-39 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1474 + i32.const 1175 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -103.97208404541016 + f32.const 1.1754940705625946e-38 + f32.const 1 f32.const 0 - f32.const -0.49999651312828064 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1475 + i32.const 1176 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.3465735614299774 - f32.const 1.4142135381698608 - f32.const 0.13922421634197235 + f32.const 1.1754942106924411e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1476 + i32.const 1177 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.3465735912322998 - f32.const 1.4142135381698608 - f32.const -0.21432916820049286 + f32.const 1.175494490952134e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1477 + i32.const 1178 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.3465736210346222 - f32.const 1.4142136573791504 - f32.const 0.43211743235588074 + f32.const 1.1754946310819804e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expf + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1478 + i32.const 1179 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const -0.9996862293931839 - f64.const -0.2760058343410492 + f32.const 2.3509880009953429e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1490 + i32.const 1180 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 76.11053017112141 - f64.const -0.02792675793170929 + f32.const 2.350988701644575e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1491 + i32.const 1181 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -0.9997709186615084 - f64.const 0.10052496194839478 + f32.const 2.3509895424236536e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1492 + i32.const 1182 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const -0.9985434338739069 - f64.const -0.27437829971313477 + f32.const 4.70197740328915e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1493 + i32.const 1183 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 10582.558245524993 - f64.const 0.17696762084960938 + f32.const 7.450580596923828e-09 + f32.const 1 + f32.const 2.3283064365386963e-10 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1494 + i32.const 1184 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 0.9386384525571999 - f64.const 0.007150684483349323 + f32.const 0.000244140625 + f32.const 1 + f32.const 0.25 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1495 + i32.const 1185 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const -0.3340921107161975 - f64.const -0.21216636896133423 + f32.const 0.00048828125 + f32.const 0.9999998807907104 + f32.const -3.973643103449831e-08 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1496 + i32.const 1186 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 0.7537559518626312 - f64.const 0.21675777435302734 + f32.const 0.0009765625 + f32.const 0.9999995231628418 + f32.const -6.357828397085541e-07 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1497 + i32.const 1187 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 1.1687528885129248 - f64.const 0.4007748067378998 + f32.const -2.802596928649634e-45 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1498 + i32.const 1188 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const -0.4927562910597158 - f64.const -0.05476519837975502 + f32.const -1.2611686178923354e-44 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1499 + i32.const 1189 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 + f32.const -2.938735877055719e-39 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1502 + i32.const 1190 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 + f32.const -5.877471754111438e-39 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1503 + i32.const 1191 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 1.7182818284590453 - f64.const 0.348938524723053 + f32.const -1.1754940705625946e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1504 + i32.const 1192 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -0.6321205588285577 - f64.const 0.11194825917482376 + f32.const -1.1754942106924411e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1505 + i32.const 1193 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_expm1 + f32.const -1.175494490952134e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1506 + i32.const 1194 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_expm1 + f32.const -1.1754946310819804e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1507 + i32.const 1195 i32.const 1 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 + f32.const -2.3509880009953429e-38 + f32.const 1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1508 + i32.const 1196 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.225073858507201e-308 - f64.const 2.225073858507201e-308 - f64.const 0 + f32.const -2.350988701644575e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1509 + i32.const 1197 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.225073858507201e-308 - f64.const -2.225073858507201e-308 - f64.const 0 + f32.const -2.3509895424236536e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_expm1 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1510 + i32.const 1198 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const -0.9996862411499023 - f32.const -0.19532723724842072 + f32.const -4.70197740328915e-38 + f32.const 1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1519 + i32.const 1199 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 76.11051177978516 - f32.const -0.2875460684299469 + f32.const -7.450580596923828e-09 + f32.const 1 + f32.const 2.3283064365386963e-10 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1520 + i32.const 1200 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -0.9997709393501282 - f32.const -0.34686920046806335 + f32.const -0.000244140625 + f32.const 1 + f32.const 0.25 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1521 + i32.const 1201 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const -0.9985434412956238 - f32.const -0.1281939446926117 + f32.const -0.00048828125 + f32.const 0.9999998807907104 + f32.const -3.973643103449831e-08 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1522 + i32.const 1202 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 10582.5634765625 - f32.const 0.45962104201316833 + f32.const -0.0009765625 + f32.const 0.9999995231628418 + f32.const -6.357828397085541e-07 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1523 + i32.const 1203 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 0.9386383891105652 - f32.const -0.28634780645370483 + f32.const 255.99993896484375 + f32.const -0.03985174745321274 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1524 + i32.const 1206 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -0.3340921103954315 - f32.const 0.23410017788410187 + f32.const 5033165 + f32.const 0.8471871614456177 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1525 + i32.const 1207 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0.7537559866905212 - f32.const -0.11289017647504807 + f32.const 421657440 + f32.const 0.6728929281234741 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1526 + i32.const 1208 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 1.168752908706665 - f32.const 0.4912493824958801 + f32.const 2147483392 + f32.const 0.9610780477523804 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1527 + i32.const 1209 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -0.49275627732276917 - f32.const 0.20514154434204102 + f32.const 68719476736 + f32.const 0.1694190502166748 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1528 + i32.const 1210 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 549755813888 + f32.const 0.20735950767993927 f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_expm1f + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1531 + i32.const 1211 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 + global.get $~lib/builtins/f32.MAX_VALUE + f32.const 0.8530210256576538 f32.const 0 - i32.const 0 - call $std/math/test_expm1f + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1532 + i32.const 1212 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1.718281865119934 - f32.const 0.3075338304042816 + f32.const -255.99993896484375 + f32.const -0.03985174745321274 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1533 + i32.const 1213 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -0.6321205496788025 - f32.const 0.15350742638111115 + f32.const -5033165 + f32.const 0.8471871614456177 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_expm1f + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1534 + i32.const 1214 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf + f32.const -421657440 + f32.const 0.6728929281234741 f32.const 0 - i32.const 0 - call $std/math/test_expm1f + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1535 + i32.const 1215 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -1 + f32.const -2147483392 + f32.const 0.9610780477523804 f32.const 0 - i32.const 0 - call $std/math/test_expm1f + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1536 + i32.const 1216 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const -68719476736 + f32.const 0.1694190502166748 f32.const 0 - i32.const 0 - call $std/math/test_expm1f + global.get $std/math/INEXACT + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1537 + i32.const 1217 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4602641186874283791 - f64.reinterpret_i64 - i64.const 4570745787852977234 - f64.reinterpret_i64 - i64.const 4593785391990964224 - f64.reinterpret_i64 + f32.const -549755813888 + f32.const 0.20735950767993927 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1549 + i32.const 1218 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4616578323568966759 - f64.reinterpret_i64 - i64.const 4626414420249767698 - f64.reinterpret_i64 - i64.const 4584516730696499200 - f64.reinterpret_i64 + global.get $~lib/builtins/f32.MAX_VALUE + f32.neg + f32.const 0.8530210256576538 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosf i32.eqz if i32.const 0 i32.const 32 - i32.const 1550 + i32.const 1219 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4602464091242371353 - f64.reinterpret_i64 - i64.const 4569061019426535842 - f64.reinterpret_i64 - i64.const -4624115860477313024 - f64.reinterpret_i64 + f64.const -8.06684839057968 + f64.const 1593.5209938862329 + f64.const -0.38098856806755066 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1551 + i32.const 1230 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4604332007749985084 - f64.reinterpret_i64 - i64.const 4577384368165340865 - f64.reinterpret_i64 - i64.const -4624546881383432192 - f64.reinterpret_i64 + f64.const 4.345239849338305 + f64.const 38.56174928426729 + f64.const -0.2712278366088867 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1552 + i32.const 1231 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4621406507342668262 - f64.reinterpret_i64 - i64.const 4648630624867737726 - f64.reinterpret_i64 - i64.const -4632306693286395904 - f64.reinterpret_i64 + f64.const -8.38143342755525 + f64.const 2182.630979595893 + f64.const 0.0817827582359314 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1553 + i32.const 1232 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4604137858433287319 - f64.reinterpret_i64 - i64.const 4609804680828834897 - f64.reinterpret_i64 - i64.const -4629668059727003648 - f64.reinterpret_i64 + f64.const -6.531673581913484 + f64.const 343.273849250879 + f64.const -0.429940402507782 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1554 + i32.const 1233 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4622375691843501615 - f64.reinterpret_i64 - i64.const 4604970224741804156 - f64.reinterpret_i64 - i64.const -4625474567475822592 - f64.reinterpret_i64 + f64.const 9.267056966972586 + f64.const 5291.779170005587 + f64.const -0.1592995822429657 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1555 + i32.const 1234 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4603235101512779211 - f64.reinterpret_i64 - i64.const 4609326441051132446 - f64.reinterpret_i64 - i64.const 4598566683265728512 - f64.reinterpret_i64 + f64.const 0.6619858980995045 + f64.const 1.2272321957342842 + f64.const 0.23280741274356842 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1556 + i32.const 1235 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4605148163534189634 - f64.reinterpret_i64 - i64.const 4610380807161541490 - f64.reinterpret_i64 - i64.const -4641791869250961408 - f64.reinterpret_i64 + f64.const -0.4066039223853553 + f64.const 1.083808541871197 + f64.const -0.3960916996002197 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1557 + i32.const 1236 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4619083057392940530 - f64.reinterpret_i64 - i64.const 4603802020283029177 - f64.reinterpret_i64 - i64.const -4624080701338157056 - f64.reinterpret_i64 + f64.const 0.5617597462207241 + f64.const 1.1619803583175077 + f64.const 0.37748390436172485 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1558 + i32.const 1237 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - i64.const 4607182418800017408 - f64.reinterpret_i64 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 + f64.const 0.7741522965913037 + f64.const 1.3149236876276706 + f64.const 0.43587008118629456 + global.get $std/math/INEXACT + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1561 + i32.const 1238 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - i64.const 4607182418800017408 - f64.reinterpret_i64 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 + f64.const -0.6787637026394024 + f64.const 1.2393413245934533 + f64.const 0.10201606154441833 + global.get $std/math/INEXACT + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1562 + i32.const 1239 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const 0 f64.const 1 - i64.const 4611686018427387904 - f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1563 + i32.const 1242 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - i64.const 4602678819172646912 - f64.reinterpret_i64 + f64.const -0 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1564 + i32.const 1243 i32.const 1 call $~lib/builtins/abort unreachable @@ -29666,27 +27909,27 @@ f64.const inf f64.const 0 i32.const 0 - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1565 + i32.const 1244 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.neg - f64.const 0 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1566 + i32.const 1245 i32.const 1 call $~lib/builtins/abort unreachable @@ -29695,4705 +27938,4778 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_exp2 + call $std/math/test_cosh i32.eqz if i32.const 0 i32.const 32 - i32.const 1567 + i32.const 1246 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4611677222334365696 - f64.reinterpret_i64 - i64.const 4616177432330998198 - f64.reinterpret_i64 - i64.const 4594487510695936000 - f64.reinterpret_i64 + f32.const -8.066848754882812 + f32.const 1593.5216064453125 + f32.const 0.26242581009864807 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1568 + i32.const 1255 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4571172093576400077 - f64.reinterpret_i64 - i64.const 4826838566504112 - f64.reinterpret_i64 - i64.const -4626215863798726656 - f64.reinterpret_i64 + f32.const 4.345239639282227 + f32.const 38.56174087524414 + f32.const -0.08168885856866837 global.get $std/math/INEXACT - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1569 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4571171213967097856 - f64.reinterpret_i64 - i64.const 4503599627370496 - f64.reinterpret_i64 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1570 + i32.const 1256 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4571170334357795635 - f64.reinterpret_i64 - i64.const 4202007033009479 - f64.reinterpret_i64 - i64.const 4596318005893267456 - f64.reinterpret_i64 + f32.const -8.381433486938477 + f32.const 2182.631103515625 + f32.const -0.02331414446234703 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1571 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4571162417874075648 - f64.reinterpret_i64 - i64.const 2251799813685248 - f64.reinterpret_i64 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1572 + i32.const 1257 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4652217535464420147 - f64.reinterpret_i64 - i64.const 9218265252038683278 - f64.reinterpret_i64 - i64.const 4600821605520637952 - f64.reinterpret_i64 + f32.const -6.531673431396484 + f32.const 343.2738037109375 + f32.const 0.20081493258476257 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1573 + i32.const 1258 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4652218415073722368 - f64.reinterpret_i64 - f64.const inf - f64.const 0 + f32.const 9.267057418823242 + f32.const 5291.78173828125 + f32.const 0.36286723613739014 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1574 + i32.const 1259 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4652218854878373478 - f64.reinterpret_i64 - f64.const inf - f64.const 0 + f32.const 0.6619858741760254 + f32.const 1.2272322177886963 + f32.const 0.32777416706085205 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1575 + i32.const 1260 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4614253070214989087 - f64.reinterpret_i64 - i64.const 4621152157524017948 - f64.reinterpret_i64 - i64.const 4600753005229244416 - f64.reinterpret_i64 + f32.const -0.40660393238067627 + f32.const 1.0838085412979126 + f32.const -0.039848703891038895 global.get $std/math/INEXACT - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1576 + i32.const 1261 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4571166815920586752 - f64.reinterpret_i64 - i64.const 3184525836262886 - f64.reinterpret_i64 - i64.const -4624614737571741696 - f64.reinterpret_i64 + f32.const 0.5617597699165344 + f32.const 1.161980390548706 + f32.const 0.15274477005004883 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1577 + i32.const 1262 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4571162417874075648 - f64.reinterpret_i64 - i64.const 2251799813685248 - f64.reinterpret_i64 - f64.const 0 - i32.const 0 - call $std/math/test_exp2 + f32.const 0.7741522789001465 + f32.const 1.314923644065857 + f32.const -0.2387111485004425 + global.get $std/math/INEXACT + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1578 + i32.const 1263 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4571158019827564544 - f64.reinterpret_i64 - i64.const 1592262918131443 - f64.reinterpret_i64 - i64.const -4629118337199112192 - f64.reinterpret_i64 + f32.const -0.6787636876106262 + f32.const 1.2393412590026855 + f32.const -0.45791932940483093 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1579 + i32.const 1264 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4571153621781053440 - f64.reinterpret_i64 - i64.const 1125899906842624 - f64.reinterpret_i64 - f64.const 0 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1580 + i32.const 1267 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4571149223734542336 - f64.reinterpret_i64 - i64.const 562949953421312 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const 1 + f32.const 0 i32.const 0 - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1581 + i32.const 1268 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4570933719455498240 - f64.reinterpret_i64 - i64.const 1 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1582 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4570931520432242688 - f64.reinterpret_i64 - i64.const 1 - f64.reinterpret_i64 - i64.const 4598947915300339712 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1583 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4570929321408987136 - f64.reinterpret_i64 - f64.const 0 - i64.const -4620693217682128896 - f64.reinterpret_i64 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1584 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4566650022153682944 - f64.reinterpret_i64 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_exp2 + call $std/math/test_coshf i32.eqz if i32.const 0 i32.const 32 - i32.const 1585 + i32.const 1269 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4602641186669199360 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4570745785645268992 - f64.reinterpret_i64 - f32.demote_f64 - i64.const -4633844389825740800 - f64.reinterpret_i64 - f32.demote_f64 - global.get $std/math/INEXACT - call $std/math/test_exp2f + f32.const inf + f32.neg + 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 1596 + i32.const 1270 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4616578323332464640 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4626414419599949824 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4599818385449025536 - f64.reinterpret_i64 - f32.demote_f64 - global.get $std/math/INEXACT - call $std/math/test_exp2f + 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 1597 + i32.const 1271 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4602464091208941568 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4569061019225161728 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4594754148171251712 - f64.reinterpret_i64 - f32.demote_f64 + f64.const -8.06684839057968 + f64.const 3.137706068161745e-04 + f64.const -0.2599197328090668 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1598 + i32.const 1283 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4604332007919452160 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4577384368955195392 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4598362462939512832 - f64.reinterpret_i64 - f32.demote_f64 + f64.const 4.345239849338305 + f64.const 77.11053017112141 + f64.const -0.02792675793170929 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1599 + i32.const 1284 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4621406507597037568 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4648630626491039744 - f64.reinterpret_i64 - f32.demote_f64 - i64.const -4629234484925956096 - f64.reinterpret_i64 - f32.demote_f64 + f64.const -8.38143342755525 + f64.const 2.290813384916323e-04 + f64.const -0.24974334239959717 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1600 + i32.const 1285 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4604137858217803776 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4609804680480948224 - f64.reinterpret_i64 - f32.demote_f64 - i64.const -4621992221413998592 - f64.reinterpret_i64 - f32.demote_f64 + f64.const -6.531673581913484 + f64.const 1.4565661260931588e-03 + f64.const -0.4816822409629822 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1601 + i32.const 1286 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4622375691663441920 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4604970224490381312 - f64.reinterpret_i64 - f32.demote_f64 - i64.const -4622843720155267072 - f64.reinterpret_i64 - f32.demote_f64 + f64.const 9.267056966972586 + f64.const 10583.558245524993 + f64.const 0.17696762084960938 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1602 + i32.const 1287 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4603235101726212096 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4609326441241247744 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4594599154612699136 - f64.reinterpret_i64 - f32.demote_f64 + f64.const 0.6619858980995045 + f64.const 1.9386384525571998 + f64.const -0.4964246451854706 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1603 + i32.const 1288 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4605148163374841856 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4610380806857162752 - f64.reinterpret_i64 - f32.demote_f64 - i64.const -4622656250201505792 - f64.reinterpret_i64 - f32.demote_f64 + f64.const -0.4066039223853553 + f64.const 0.6659078892838025 + f64.const -0.10608318448066711 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1604 + i32.const 1289 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4619083057528307712 - f64.reinterpret_i64 - f32.demote_f64 - i64.const 4603802020229414912 - f64.reinterpret_i64 - f32.demote_f64 - i64.const -4626672421506646016 - f64.reinterpret_i64 - f32.demote_f64 + f64.const 0.5617597462207241 + f64.const 1.7537559518626311 + f64.const -0.39162111282348633 global.get $std/math/INEXACT - call $std/math/test_exp2f + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1605 + i32.const 1290 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const -9 - f64.const 0 + f64.const 0.7741522965913037 + f64.const 2.1687528885129246 + f64.const -0.2996125817298889 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1617 + i32.const 1291 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 + f64.const -0.6787637026394024 + f64.const 0.5072437089402843 + f64.const 0.47261738777160645 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1618 + i32.const 1292 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -9 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor + 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 1619 + i32.const 1295 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const -7 + f64.const -0 + f64.const 1 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor + i32.const 0 + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1620 + i32.const 1296 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 + f64.const 1 + f64.const 2.718281828459045 + f64.const -0.3255307376384735 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1621 + i32.const 1297 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 0 - f64.const 0 + f64.const -1 + f64.const 0.36787944117144233 + f64.const 0.22389651834964752 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1622 + i32.const 1298 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const -1 + f64.const inf + f64.const inf f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor + i32.const 0 + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1623 + i32.const 1299 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 + f64.const inf + f64.neg f64.const 0 f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_floor + i32.const 0 + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1624 + i32.const 1300 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 0 + 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 1301 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.0397214889526365 + f64.const 2.828429155876411 + f64.const 0.18803080916404724 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1625 + i32.const 1302 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const -1 - f64.const 0 + f64.const -1.0397214889526365 + f64.const 0.35355313670217847 + f64.const 0.2527272403240204 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1626 + i32.const 1303 i32.const 1 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 + f64.const 1.0397210121154785 + f64.const 2.8284278071766122 + f64.const -0.4184139370918274 + global.get $std/math/INEXACT + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1629 + i32.const 1304 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_floor + f64.const 1.0397214889526367 + f64.const 2.8284291558764116 + f64.const -0.22618377208709717 + global.get $std/math/INEXACT + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1630 + i32.const 1305 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg + global.get $~lib/builtins/f64.MIN_VALUE + f64.const 1 f64.const 0 - i32.const 0 - call $std/math/test_floor + global.get $std/math/INEXACT + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1631 + i32.const 1308 i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/builtins/f64.MIN_VALUE + f64.neg + f64.const 1 f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_floor + global.get $std/math/INEXACT + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1632 + i32.const 1309 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_floor + i64.const 4649454530587146735 + f64.reinterpret_i64 + i64.const 9218868437227405098 + f64.reinterpret_i64 + i64.const -4631092234375135232 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1633 + i32.const 1311 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 1 + i64.const 4649454530587146736 + f64.reinterpret_i64 + f64.const inf f64.const 0 - i32.const 0 - call $std/math/test_floor + global.get $std/math/INEXACT + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1634 + i32.const 1318 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_floor + i64.const -4573606559926636463 + f64.reinterpret_i64 + global.get $~lib/builtins/f64.MIN_VALUE + i64.const 4602678819172646912 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1635 + i32.const 1319 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 0 + i64.const -4573606559926636462 + f64.reinterpret_i64 f64.const 0 + i64.const -4620693217682128896 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1636 + i32.const 1326 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const -1 - f64.const 0 + i64.const -4573929700241785646 + f64.reinterpret_i64 + i64.const 4503599627370620 + f64.reinterpret_i64 + i64.const 4598386411140284416 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1637 + i32.const 1333 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 + i64.const -4573929700241785645 + f64.reinterpret_i64 + i64.const 4503599627370108 + f64.reinterpret_i64 + i64.const 4503599627370108 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1638 + i32.const 1340 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.0000152587890625 - f64.const -2 - f64.const 0 + i64.const 4602685064124656555 + f64.reinterpret_i64 + i64.const 4610109149550689567 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1639 + i32.const 1347 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9999923706054688 - f64.const 0 - f64.const 0 + i64.const 4603836184166978885 + f64.reinterpret_i64 + i64.const 4611122094629841017 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1640 + i32.const 1354 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.9999923706054688 - f64.const -1 - f64.const 0 + i64.const 4605718951180848880 + f64.reinterpret_i64 + i64.const 4612385506662149744 + f64.reinterpret_i64 + i64.const -4620693217682128896 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1641 + i32.const 1361 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 + i64.const 4605835761386121865 + f64.reinterpret_i64 + i64.const 4612453422537445296 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1642 + i32.const 1367 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 - f64.const -1 - f64.const 0 + i64.const 4610006203169397430 + f64.reinterpret_i64 + i64.const 4617415291835269761 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floor + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1643 + i32.const 1373 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const -9 - f32.const 0 + i64.const 4610219797808568955 + f64.reinterpret_i64 + i64.const 4617693563882825047 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1652 + i32.const 1379 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 4 - f32.const 0 + i64.const 4619182163989041060 + f64.reinterpret_i64 + i64.const 4650062712266849886 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1653 + i32.const 1386 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -9 - f32.const 0 + i64.const 4622394943780502425 + f64.reinterpret_i64 + i64.const 4678652243157503230 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1654 + i32.const 1393 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const -7 - f32.const 0 + i64.const 4622613550143616215 + f64.reinterpret_i64 + i64.const 4680943662238555301 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1655 + i32.const 1400 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 9 - f32.const 0 + i64.const 4622829325869063755 + f64.reinterpret_i64 + i64.const 4683793372338329074 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1656 + i32.const 1407 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 0 - f32.const 0 + i64.const 4645970351893354075 + f64.reinterpret_i64 + i64.const 7289148599681560140 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1657 + i32.const 1414 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -1 - f32.const 0 + i64.const 4647695036380671130 + f64.reinterpret_i64 + i64.const 7926454981994343700 + f64.reinterpret_i64 + i64.const -4620693217682128896 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1658 + i32.const 1421 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0 - f32.const 0 + i64.const -4819432143425896336 + f64.reinterpret_i64 + i64.const 4607182418800017169 + f64.reinterpret_i64 + i64.const 4602678819172646912 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1659 + i32.const 1428 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 0 - f32.const 0 + i64.const -4819256221565452171 + f64.reinterpret_i64 + i64.const 4607182418800017163 + f64.reinterpret_i64 + i64.const -4620693217682128896 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_exp i32.eqz if i32.const 0 i32.const 32 - i32.const 1660 + i32.const 1435 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -1 - f32.const 0 + f32.const -8.066848754882812 + f32.const 3.1377049162983894e-04 + f32.const -0.030193336308002472 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1661 + i32.const 1449 i32.const 1 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 + f32.const 4.345239639282227 + f32.const 77.11051177978516 + f32.const -0.2875460684299469 + global.get $std/math/INEXACT + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1664 + i32.const 1450 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_floorf + f32.const -8.381433486938477 + f32.const 2.2908132814336568e-04 + f32.const 0.2237040400505066 + global.get $std/math/INEXACT + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1665 + i32.const 1451 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_floorf + f32.const -6.531673431396484 + f32.const 1.4565663877874613e-03 + f32.const 0.36469703912734985 + global.get $std/math/INEXACT + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1666 + i32.const 1452 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_floorf + f32.const 9.267057418823242 + f32.const 10583.5634765625 + f32.const 0.45962104201316833 + global.get $std/math/INEXACT + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1667 + i32.const 1453 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_floorf + f32.const 0.6619858741760254 + f32.const 1.93863844871521 + f32.const 0.3568260967731476 + global.get $std/math/INEXACT + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1668 + i32.const 1454 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_floorf + f32.const -0.40660393238067627 + f32.const 0.6659078598022461 + f32.const -0.38294991850852966 + global.get $std/math/INEXACT + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1669 + i32.const 1455 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_floorf + f32.const 0.5617597699165344 + f32.const 1.753756046295166 + f32.const 0.44355490803718567 + global.get $std/math/INEXACT + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1670 + i32.const 1456 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 0 - f32.const 0 + f32.const 0.7741522789001465 + f32.const 2.168752908706665 + f32.const 0.24562469124794006 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1671 + i32.const 1457 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const -1 - f32.const 0 + f32.const -0.6787636876106262 + f32.const 0.5072436928749084 + f32.const -0.3974292278289795 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1672 + i32.const 1458 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000152587890625 + f32.const 0 f32.const 1 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf + i32.const 0 + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1673 + i32.const 1461 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000152587890625 - f32.const -2 + f32.const -0 + f32.const 1 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf + i32.const 0 + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1674 + i32.const 1462 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.9999923706054688 - f32.const 0 - f32.const 0 + f32.const 1 + f32.const 2.7182817459106445 + f32.const -0.3462330996990204 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1675 + i32.const 1463 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.9999923706054688 f32.const -1 - f32.const 0 + f32.const 0.3678794503211975 + f32.const 0.3070148527622223 global.get $std/math/INEXACT - call $std/math/test_floorf + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1676 + i32.const 1464 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.888609052210118e-31 - f32.const 0 + f32.const inf + f32.const inf f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf + i32.const 0 + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1677 + i32.const 1465 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const -1 + f32.const inf + f32.neg f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_floorf + f32.const 0 + i32.const 0 + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1678 + i32.const 1466 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 9.25452742288464 - f64.const -0.31188681721687317 - global.get $std/math/INEXACT - call $std/math/test_hypot + 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 1692 + i32.const 1467 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 9.893305808328252 - f64.const 0.4593673348426819 + f32.const 88.72283172607422 + f32.const 340279851902147610656242e15 + f32.const -0.09067153930664062 global.get $std/math/INEXACT - call $std/math/test_hypot + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1693 + i32.const 1468 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const 8.825301797432132 - f64.const -0.1701754331588745 + f32.const 88.72283935546875 + f32.const inf + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_hypot + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1694 + i32.const 1469 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const 7.970265885519092 - f64.const -0.3176782727241516 + f32.const -103.97207641601562 + f32.const 1.401298464324817e-45 + f32.const 0.49999967217445374 global.get $std/math/INEXACT - call $std/math/test_hypot + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1695 + i32.const 1470 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 10.441639651824575 - f64.const -0.2693633437156677 + f32.const -103.97208404541016 + f32.const 0 + f32.const -0.49999651312828064 global.get $std/math/INEXACT - call $std/math/test_hypot + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1696 + i32.const 1471 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 6.483936052542593 - f64.const 0.35618898272514343 + f32.const 0.3465735614299774 + f32.const 1.4142135381698608 + f32.const 0.13922421634197235 global.get $std/math/INEXACT - call $std/math/test_hypot + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1697 + i32.const 1472 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 7.859063309581766 - f64.const 0.08044655621051788 + f32.const 0.3465735912322998 + f32.const 1.4142135381698608 + f32.const -0.21432916820049286 global.get $std/math/INEXACT - call $std/math/test_hypot + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1698 + i32.const 1473 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const 7.717156764899584 - f64.const 0.05178084969520569 + f32.const 0.3465736210346222 + f32.const 1.4142136573791504 + f32.const 0.43211743235588074 global.get $std/math/INEXACT - call $std/math/test_hypot + call $std/math/test_expf i32.eqz if i32.const 0 i32.const 32 - i32.const 1699 + i32.const 1474 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 2.104006123874314 - f64.const -0.0918039008975029 + f64.const -8.06684839057968 + f64.const -0.9996862293931839 + f64.const -0.2760058343410492 global.get $std/math/INEXACT - call $std/math/test_hypot + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1700 + i32.const 1486 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const 0.5596880129062913 - f64.const 0.1383407711982727 + f64.const 4.345239849338305 + f64.const 76.11053017112141 + f64.const -0.02792675793170929 global.get $std/math/INEXACT - call $std/math/test_hypot + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1701 + i32.const 1487 i32.const 1 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 + f64.const -8.38143342755525 + f64.const -0.9997709186615084 + f64.const 0.10052496194839478 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1704 + i32.const 1488 i32.const 1 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 + f64.const -6.531673581913484 + f64.const -0.9985434338739069 + f64.const -0.27437829971313477 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1705 + i32.const 1489 i32.const 1 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 + f64.const 9.267056966972586 + f64.const 10582.558245524993 + f64.const 0.17696762084960938 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1706 + i32.const 1490 i32.const 1 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 + f64.const 0.6619858980995045 + f64.const 0.9386384525571999 + f64.const 0.007150684483349323 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1707 + i32.const 1491 i32.const 1 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 + f64.const -0.4066039223853553 + f64.const -0.3340921107161975 + f64.const -0.21216636896133423 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1708 + i32.const 1492 i32.const 1 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 + f64.const 0.5617597462207241 + f64.const 0.7537559518626312 + f64.const 0.21675777435302734 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1709 + i32.const 1493 i32.const 1 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 + f64.const 0.7741522965913037 + f64.const 1.1687528885129248 + f64.const 0.4007748067378998 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1710 + i32.const 1494 i32.const 1 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 + f64.const -0.6787637026394024 + f64.const -0.4927562910597158 + f64.const -0.05476519837975502 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1711 + i32.const 1495 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5e-324 - f64.const -0 - f64.const 5e-324 + f64.const 0 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_hypot + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1712 + i32.const 1498 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 1 - f64.const inf + f64.const -0 + f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_hypot + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1713 + i32.const 1499 i32.const 1 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 + f64.const 1.7182818284590453 + f64.const 0.348938524723053 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1714 + i32.const 1500 i32.const 1 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 + f64.const -1 + f64.const -0.6321205588285577 + f64.const 0.11194825917482376 + global.get $std/math/INEXACT + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1715 + i32.const 1501 i32.const 1 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 + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1716 + i32.const 1502 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.neg - f64.const 1 - f64.const inf + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_hypot + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1717 + i32.const 1503 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf - f64.neg - f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_hypot + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1718 + i32.const 1504 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const inf + f64.const 2.225073858507201e-308 + f64.const 2.225073858507201e-308 f64.const 0 - i32.const 0 - call $std/math/test_hypot + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1719 + i32.const 1505 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const inf - f64.neg - f64.const inf + f64.const -2.225073858507201e-308 + f64.const -2.225073858507201e-308 f64.const 0 - i32.const 0 - call $std/math/test_hypot + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_expm1 i32.eqz if i32.const 0 i32.const 32 - i32.const 1720 + i32.const 1506 i32.const 1 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 + f32.const -8.066848754882812 + f32.const -0.9996862411499023 + f32.const -0.19532723724842072 + global.get $std/math/INEXACT + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1721 + i32.const 1515 i32.const 1 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 + f32.const 4.345239639282227 + f32.const 76.11051177978516 + f32.const -0.2875460684299469 + global.get $std/math/INEXACT + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1722 + i32.const 1516 i32.const 1 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 + f32.const -8.381433486938477 + f32.const -0.9997709393501282 + f32.const -0.34686920046806335 + global.get $std/math/INEXACT + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1723 + i32.const 1517 i32.const 1 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 + f32.const -6.531673431396484 + f32.const -0.9985434412956238 + f32.const -0.1281939446926117 + global.get $std/math/INEXACT + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1724 + i32.const 1518 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 9.254528045654297 - f32.const 0.2735958993434906 + f32.const 9.267057418823242 + f32.const 10582.5634765625 + f32.const 0.45962104201316833 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1733 + i32.const 1519 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 9.893305778503418 - f32.const 0.4530770778656006 + f32.const 0.6619858741760254 + f32.const 0.9386383891105652 + f32.const -0.28634780645370483 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1734 + i32.const 1520 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const 8.825302124023438 - f32.const 0.30755728483200073 + f32.const -0.40660393238067627 + f32.const -0.3340921103954315 + f32.const 0.23410017788410187 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1735 + i32.const 1521 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const 7.970265865325928 - f32.const 0.06785223633050919 + f32.const 0.5617597699165344 + f32.const 0.7537559866905212 + f32.const -0.11289017647504807 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1736 + i32.const 1522 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 10.44163990020752 - f32.const -0.26776307821273804 + f32.const 0.7741522789001465 + f32.const 1.168752908706665 + f32.const 0.4912493824958801 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1737 + i32.const 1523 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 6.483936309814453 - f32.const 0.48381292819976807 + f32.const -0.6787636876106262 + f32.const -0.49275627732276917 + f32.const 0.20514154434204102 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1738 + i32.const 1524 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 7.859063148498535 - f32.const 0.07413065433502197 - global.get $std/math/INEXACT - call $std/math/test_hypotf + 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 1739 + i32.const 1527 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const 7.717156887054443 - f32.const 0.4940592646598816 - global.get $std/math/INEXACT - call $std/math/test_hypotf + 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 1740 + i32.const 1528 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 2.104006052017212 - f32.const -0.287089467048645 + f32.const 1 + f32.const 1.718281865119934 + f32.const 0.3075338304042816 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1741 + i32.const 1529 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const 0.5596880316734314 - f32.const 0.4191940724849701 + f32.const -1 + f32.const -0.6321205496788025 + f32.const 0.15350742638111115 global.get $std/math/INEXACT - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1742 + i32.const 1530 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 3 - f32.const 4 - f32.const 5 + f32.const inf + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1745 + i32.const 1531 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -3 - f32.const 4 - f32.const 5 + f32.const inf + f32.neg + f32.const -1 f32.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1746 + i32.const 1532 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4 - f32.const 3 - f32.const 5 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_expm1f i32.eqz if i32.const 0 i32.const 32 - i32.const 1747 + i32.const 1533 i32.const 1 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 + i64.const -4602641186874283791 + f64.reinterpret_i64 + i64.const 4570745787852977234 + f64.reinterpret_i64 + i64.const 4593785391990964224 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1748 + i32.const 1545 i32.const 1 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 + i64.const 4616578323568966759 + f64.reinterpret_i64 + i64.const 4626414420249767698 + f64.reinterpret_i64 + i64.const 4584516730696499200 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1749 + i32.const 1546 i32.const 1 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 + i64.const -4602464091242371353 + f64.reinterpret_i64 + i64.const 4569061019426535842 + f64.reinterpret_i64 + i64.const -4624115860477313024 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1750 + i32.const 1547 i32.const 1 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 + i64.const -4604332007749985084 + f64.reinterpret_i64 + i64.const 4577384368165340865 + f64.reinterpret_i64 + i64.const -4624546881383432192 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1751 + i32.const 1548 i32.const 1 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 + i64.const 4621406507342668262 + f64.reinterpret_i64 + i64.const 4648630624867737726 + f64.reinterpret_i64 + i64.const -4632306693286395904 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1752 + i32.const 1549 i32.const 1 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 + i64.const 4604137858433287319 + f64.reinterpret_i64 + i64.const 4609804680828834897 + f64.reinterpret_i64 + i64.const -4629668059727003648 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1753 + i32.const 1550 i32.const 1 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 + i64.const -4622375691843501615 + f64.reinterpret_i64 + i64.const 4604970224741804156 + f64.reinterpret_i64 + i64.const -4625474567475822592 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1754 + i32.const 1551 i32.const 1 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 + i64.const 4603235101512779211 + f64.reinterpret_i64 + i64.const 4609326441051132446 + f64.reinterpret_i64 + i64.const 4598566683265728512 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1755 + i32.const 1552 i32.const 1 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 + i64.const 4605148163534189634 + f64.reinterpret_i64 + i64.const 4610380807161541490 + f64.reinterpret_i64 + i64.const -4641791869250961408 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1756 + i32.const 1553 i32.const 1 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 + i64.const -4619083057392940530 + f64.reinterpret_i64 + i64.const 4603802020283029177 + f64.reinterpret_i64 + i64.const -4624080701338157056 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1757 + i32.const 1554 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 1 - f32.const inf - f32.const 0 + f64.const 0 + i64.const 4607182418800017408 + f64.reinterpret_i64 + f64.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1758 + i32.const 1557 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - f32.neg - f32.const inf - f32.const 0 + f64.const 0 + i64.const 4607182418800017408 + f64.reinterpret_i64 + f64.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1759 + i32.const 1558 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const inf - f32.const 0 + f64.const 1 + i64.const 4611686018427387904 + f64.reinterpret_i64 + f64.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1760 + i32.const 1559 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const inf - f32.neg - f32.const inf - f32.const 0 + f64.const -1 + i64.const 4602678819172646912 + f64.reinterpret_i64 + f64.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1761 + i32.const 1560 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1762 + i32.const 1561 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_hypotf + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1763 + i32.const 1562 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + i32.const 0 + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1775 + i32.const 1563 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 1.4690809584224322 - f64.const -0.3412533402442932 + i64.const 4611677222334365696 + f64.reinterpret_i64 + i64.const 4616177432330998198 + f64.reinterpret_i64 + i64.const 4594487510695936000 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_log + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1776 + i32.const 1564 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 + i64.const -4571172093576400077 + f64.reinterpret_i64 + i64.const 4826838566504112 + f64.reinterpret_i64 + i64.const -4626215863798726656 + f64.reinterpret_i64 + global.get $std/math/INEXACT + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1565 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -4571171213967097856 + f64.reinterpret_i64 + i64.const 4503599627370496 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + i32.const 0 + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1777 + i32.const 1566 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 + i64.const -4571170334357795635 + f64.reinterpret_i64 + i64.const 4202007033009479 + f64.reinterpret_i64 + i64.const 4596318005893267456 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1567 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -4571162417874075648 + f64.reinterpret_i64 + i64.const 2251799813685248 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + i32.const 0 + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1778 + i32.const 1568 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 2.2264658498795615 - f64.const 0.3638114035129547 + i64.const 4652217535464420147 + f64.reinterpret_i64 + i64.const 9218265252038683278 + f64.reinterpret_i64 + i64.const 4600821605520637952 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_log + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1779 + i32.const 1569 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const -0.4125110252365137 - f64.const -0.29108747839927673 + i64.const 4652218415073722368 + f64.reinterpret_i64 + f64.const inf + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_log + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1780 + i32.const 1570 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 + i64.const 4652218854878373478 + f64.reinterpret_i64 + f64.const inf f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1781 + i32.const 1571 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const -0.5766810183195862 - f64.const -0.10983199626207352 + i64.const 4614253070214989087 + f64.reinterpret_i64 + i64.const 4621152157524017948 + f64.reinterpret_i64 + i64.const 4600753005229244416 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_log + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1782 + i32.const 1572 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const -0.2559866591263865 - f64.const -0.057990044355392456 + i64.const -4571166815920586752 + f64.reinterpret_i64 + i64.const 3184525836262886 + f64.reinterpret_i64 + i64.const -4624614737571741696 + f64.reinterpret_i64 global.get $std/math/INEXACT - call $std/math/test_log + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1783 + i32.const 1573 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 + i64.const -4571162417874075648 + f64.reinterpret_i64 + i64.const 2251799813685248 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + i32.const 0 + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1784 + i32.const 1574 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log + i64.const -4571158019827564544 + f64.reinterpret_i64 + i64.const 1592262918131443 + f64.reinterpret_i64 + i64.const -4629118337199112192 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1787 + i32.const 1575 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf - f64.neg + i64.const -4571153621781053440 + f64.reinterpret_i64 + i64.const 1125899906842624 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log + i32.const 0 + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1788 + i32.const 1576 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 + i64.const -4571149223734542336 + f64.reinterpret_i64 + i64.const 562949953421312 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + i32.const 0 + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1789 + i32.const 1577 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0 + i64.const -4570933719455498240 + f64.reinterpret_i64 + i64.const 1 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_log + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1790 + i32.const 1578 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + i64.const -4570931520432242688 + f64.reinterpret_i64 + i64.const 1 + f64.reinterpret_i64 + i64.const 4598947915300339712 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1791 + i32.const 1579 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf + i64.const -4570929321408987136 + f64.reinterpret_i64 f64.const 0 - i32.const 0 - call $std/math/test_log + i64.const -4620693217682128896 + f64.reinterpret_i64 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1792 + i32.const 1580 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 + i64.const -4566650022153682944 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log + f64.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_exp2 i32.eqz if i32.const 0 i32.const 32 - i32.const 1793 + i32.const 1581 i32.const 1 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 + i64.const -4602641186669199360 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4570745785645268992 + f64.reinterpret_i64 + f32.demote_f64 + i64.const -4633844389825740800 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1794 + i32.const 1592 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf + i64.const 4616578323332464640 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4626414419599949824 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4599818385449025536 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1803 + i32.const 1593 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf + i64.const -4602464091208941568 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4569061019225161728 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4594754148171251712 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1804 + i32.const 1594 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf + i64.const -4604332007919452160 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4577384368955195392 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4598362462939512832 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1805 + i32.const 1595 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_logf + i64.const 4621406507597037568 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4648630626491039744 + f64.reinterpret_i64 + f32.demote_f64 + i64.const -4629234484925956096 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1806 + i32.const 1596 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf + i64.const 4604137858217803776 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4609804680480948224 + f64.reinterpret_i64 + f32.demote_f64 + i64.const -4621992221413998592 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1807 + i32.const 1597 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_logf + i64.const -4622375691663441920 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4604970224490381312 + f64.reinterpret_i64 + f32.demote_f64 + i64.const -4622843720155267072 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1808 + i32.const 1598 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf + i64.const 4603235101726212096 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4609326441241247744 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4594599154612699136 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1809 + i32.const 1599 i32.const 1 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 + i64.const 4605148163374841856 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4610380806857162752 + f64.reinterpret_i64 + f32.demote_f64 + i64.const -4622656250201505792 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1810 + i32.const 1600 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf + i64.const -4619083057528307712 + f64.reinterpret_i64 + f32.demote_f64 + i64.const 4603802020229414912 + f64.reinterpret_i64 + f32.demote_f64 + i64.const -4626672421506646016 + f64.reinterpret_i64 + f32.demote_f64 + global.get $std/math/INEXACT + call $std/math/test_exp2f i32.eqz if i32.const 0 i32.const 32 - i32.const 1813 + i32.const 1601 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_logf + f64.const -8.06684839057968 + f64.const -9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1814 + i32.const 1613 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1815 + i32.const 1614 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_logf + f64.const -8.38143342755525 + f64.const -9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1816 + i32.const 1615 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf + f64.const -6.531673581913484 + f64.const -7 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1817 + i32.const 1616 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_logf + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1818 + i32.const 1617 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_logf + f64.const 0.6619858980995045 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1819 + i32.const 1618 i32.const 1 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 + f64.const -0.4066039223853553 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1820 + i32.const 1619 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 + f64.const 0.5617597462207241 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1832 + i32.const 1620 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 0.6380137537120029 - f64.const -0.2088824063539505 + f64.const 0.7741522965913037 + f64.const 0 + f64.const 0 global.get $std/math/INEXACT - call $std/math/test_log10 + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1833 + i32.const 1621 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 + f64.const -0.6787637026394024 + f64.const -1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1834 + i32.const 1622 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + i32.const 0 + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1835 + i32.const 1625 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 0.9669418327487274 - f64.const -0.06120431795716286 - global.get $std/math/INEXACT - call $std/math/test_log10 + 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 1836 + i32.const 1626 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const -0.17915126198447093 - f64.const 0.39090874791145325 - global.get $std/math/INEXACT - call $std/math/test_log10 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 + i32.const 0 + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1837 + i32.const 1627 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + 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 1838 + i32.const 1628 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const -0.25044938407454437 - f64.const -0.3046841621398926 - global.get $std/math/INEXACT - call $std/math/test_log10 + 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 1839 + i32.const 1629 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const -0.11117359349943837 - f64.const -0.31503361463546753 - global.get $std/math/INEXACT - call $std/math/test_log10 + 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 1840 + i32.const 1630 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 + f64.const -1 + f64.const -1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + i32.const 0 + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1841 + i32.const 1631 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const 0.5 f64.const 0 - f64.const inf - f64.neg f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1844 + i32.const 1632 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf - f64.neg + f64.const -0.5 + f64.const -1 f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1845 + i32.const 1633 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 + f64.const 1.0000152587890625 + f64.const 1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1846 + i32.const 1634 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0 + f64.const -1.0000152587890625 + f64.const -2 f64.const 0 - i32.const 0 - call $std/math/test_log10 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1847 + i32.const 1635 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const nan:0x8000000000000 + f64.const 0.9999923706054688 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1848 + i32.const 1636 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf + f64.const -0.9999923706054688 + f64.const -1 f64.const 0 - i32.const 0 - call $std/math/test_log10 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1849 + i32.const 1637 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 + f64.const 7.888609052210118e-31 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log10 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1850 + i32.const 1638 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + f64.const -7.888609052210118e-31 + f64.const -1 f64.const 0 - i32.const 0 - call $std/math/test_log10 + global.get $std/math/INEXACT + call $std/math/test_floor i32.eqz if i32.const 0 i32.const 32 - i32.const 1851 + i32.const 1639 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - f32.const nan:0x400000 + f32.const -9 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1860 + i32.const 1648 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - f32.const 0.6380137205123901 - f32.const -0.20476758480072021 + f32.const 4 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_log10f + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1861 + i32.const 1649 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - f32.const nan:0x400000 + f32.const -9 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1862 + i32.const 1650 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - f32.const nan:0x400000 + f32.const -7 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1863 + i32.const 1651 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - f32.const 0.9669418334960938 - f32.const -0.34273025393486023 + f32.const 9 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_log10f + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1864 + i32.const 1652 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - f32.const -0.1791512817144394 - f32.const -0.27078554034233093 + f32.const 0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_log10f + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1865 + i32.const 1653 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - f32.const nan:0x400000 + f32.const -1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1866 + i32.const 1654 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - f32.const -0.25044935941696167 - f32.const 0.2126826047897339 + f32.const 0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_log10f + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1867 + i32.const 1655 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - f32.const -0.1111735999584198 - f32.const 0.46515095233917236 + f32.const 0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_log10f + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1868 + i32.const 1656 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - f32.const nan:0x400000 + f32.const -1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1869 + i32.const 1657 i32.const 1 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 1660 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const inf f32.const inf - f32.neg f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10f + i32.const 0 + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1872 + i32.const 1661 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 + f32.const inf + f32.neg f32.const inf f32.neg f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log10f + i32.const 0 + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1873 + i32.const 1662 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + 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 1874 + i32.const 1663 i32.const 1 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_floorf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1664 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_log10f + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1875 + i32.const 1665 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - f32.const nan:0x400000 + f32.const -1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + i32.const 0 + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1876 + i32.const 1666 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf + f32.const 0.5 f32.const 0 - i32.const 0 - call $std/math/test_log10f + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1877 + i32.const 1667 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 + f32.const -0.5 + f32.const -1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log10f + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1878 + i32.const 1668 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const 1.0000152587890625 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_log10f + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1879 + i32.const 1669 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p + f32.const -1.0000152587890625 + f32.const -2 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1891 + i32.const 1670 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 1.6762064170601734 - f64.const 0.46188199520111084 + f32.const 0.9999923706054688 + f32.const 0 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1892 + i32.const 1671 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p + f32.const -0.9999923706054688 + f32.const -1 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1893 + i32.const 1672 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p + f32.const 7.888609052210118e-31 + f32.const 0 + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1894 + i32.const 1673 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 2.3289404168523826 - f64.const -0.411114901304245 + f32.const -7.888609052210118e-31 + f32.const -1 + f32.const 0 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_floorf i32.eqz if i32.const 0 i32.const 32 - i32.const 1895 + i32.const 1674 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 0.5080132114992477 - f64.const -0.29306045174598694 + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const 9.25452742288464 + f64.const -0.31188681721687317 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1896 + i32.const 1688 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const -0.5218931811663979 - f64.const -0.25825726985931396 + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 9.893305808328252 + f64.const 0.4593673348426819 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1897 + i32.const 1689 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 0.4458132279488102 - f64.const -0.13274887204170227 + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const 8.825301797432132 + f64.const -0.1701754331588745 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1898 + i32.const 1690 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 0.5733227294648414 - f64.const 0.02716583013534546 + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const 7.970265885519092 + f64.const -0.3176782727241516 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1899 + i32.const 1691 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const -1.1355782978128564 - f64.const 0.2713092863559723 + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 10.441639651824575 + f64.const -0.2693633437156677 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1900 + i32.const 1692 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_log1p + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const 6.483936052542593 + f64.const 0.35618898272514343 + global.get $std/math/INEXACT + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1903 + i32.const 1693 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_log1p + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 7.859063309581766 + f64.const 0.08044655621051788 + global.get $std/math/INEXACT + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1904 + i32.const 1694 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 - f64.const -7.888609052210118e-31 - f64.const 1.7763568394002505e-15 + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const 7.717156764899584 + f64.const 0.05178084969520569 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1905 + i32.const 1695 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0.6931471805599453 - f64.const -0.2088811695575714 + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 2.104006123874314 + f64.const -0.0918039008975029 global.get $std/math/INEXACT - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1906 + i32.const 1696 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log1p + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const 0.5596880129062913 + f64.const 0.1383407711982727 + global.get $std/math/INEXACT + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1907 + i32.const 1697 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf + f64.const 3 + f64.const 4 + f64.const 5 f64.const 0 i32.const 0 - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1908 + i32.const 1700 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 + f64.const -3 + f64.const 4 + f64.const 5 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log1p + i32.const 0 + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1909 + i32.const 1701 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + f64.const 4 + f64.const 3 + f64.const 5 f64.const 0 i32.const 0 - call $std/math/test_log1p + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1910 + i32.const 1702 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf + 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 1919 + i32.const 1703 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 1.676206350326538 - f32.const -0.23014859855175018 - global.get $std/math/INEXACT - call $std/math/test_log1pf + 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 1920 + i32.const 1704 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf + 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 1921 + i32.const 1705 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf + 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 1922 + i32.const 1706 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 2.3289403915405273 - f32.const -0.29075589776039124 - global.get $std/math/INEXACT - call $std/math/test_log1pf + 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 1923 + i32.const 1707 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const 0.5080131888389587 - f32.const -0.1386766880750656 - global.get $std/math/INEXACT - call $std/math/test_log1pf + 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 1924 + i32.const 1708 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -0.5218932032585144 - f32.const -0.08804433047771454 - global.get $std/math/INEXACT - call $std/math/test_log1pf + 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 1925 + i32.const 1709 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const 0.44581323862075806 - f32.const -0.15101368725299835 - global.get $std/math/INEXACT - call $std/math/test_log1pf + 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 1926 + i32.const 1710 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const 0.5733227133750916 - f32.const -0.10264533013105392 - global.get $std/math/INEXACT - call $std/math/test_log1pf + 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 1927 + i32.const 1711 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -1.1355782747268677 - f32.const -0.19879481196403503 - global.get $std/math/INEXACT - call $std/math/test_log1pf + 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 1928 + i32.const 1712 i32.const 1 call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 + unreachable + end + f64.const inf + f64.neg + f64.const 1 + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_log1pf + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1931 + i32.const 1713 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const 0 + f64.const 1 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_log1pf + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1932 + i32.const 1714 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const -7.888609052210118e-31 - f32.const 3.308722450212111e-24 - global.get $std/math/INEXACT - call $std/math/test_log1pf + f64.const inf + f64.neg + 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 1933 + i32.const 1715 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0.6931471824645996 - f32.const 0.031954795122146606 - global.get $std/math/INEXACT - call $std/math/test_log1pf + f64.const nan:0x8000000000000 + f64.const inf + f64.neg + 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 1934 + i32.const 1716 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log1pf + 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 1935 + i32.const 1717 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_log1pf + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1936 + i32.const 1718 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log1pf + 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 1937 + i32.const 1719 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_log1pf + call $std/math/test_hypot i32.eqz if i32.const 0 i32.const 32 - i32.const 1938 + i32.const 1720 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.1754942106924411e-38 - f32.const -1.1754942106924411e-38 - f32.const 4.930380657631324e-32 + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const 9.254528045654297 + f32.const 0.2735958993434906 global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or - call $std/math/test_log1pf + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1939 + i32.const 1729 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 9.893305778503418 + f32.const 0.4530770778656006 + global.get $std/math/INEXACT + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1951 + i32.const 1730 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 2.1194358133804485 - f64.const -0.10164877772331238 + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const 8.825302124023438 + f32.const 0.30755728483200073 global.get $std/math/INEXACT - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1952 + i32.const 1731 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const 7.970265865325928 + f32.const 0.06785223633050919 + global.get $std/math/INEXACT + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1953 + i32.const 1732 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 10.44163990020752 + f32.const -0.26776307821273804 + global.get $std/math/INEXACT + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1954 + i32.const 1733 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 3.2121112403298744 - f64.const -0.15739446878433228 + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const 6.483936309814453 + f32.const 0.48381292819976807 global.get $std/math/INEXACT - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1955 + i32.const 1734 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const -0.5951276104207402 - f64.const 0.3321485221385956 + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 7.859063148498535 + f32.const 0.07413065433502197 global.get $std/math/INEXACT - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1956 + i32.const 1735 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const 7.717156887054443 + f32.const 0.4940592646598816 + global.get $std/math/INEXACT + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1957 + i32.const 1736 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const -0.8319748453044644 - f64.const 0.057555437088012695 + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 2.104006052017212 + f32.const -0.287089467048645 global.get $std/math/INEXACT - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1958 + i32.const 1737 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const -0.36931068365537134 - f64.const -0.19838279485702515 + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const 0.5596880316734314 + f32.const 0.4191940724849701 global.get $std/math/INEXACT - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1959 + i32.const 1738 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + 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 1960 + i32.const 1741 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2 + 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 1963 + i32.const 1742 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf - f64.neg - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2 + 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 1964 + i32.const 1743 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + 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 1965 + i32.const 1744 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0 - f64.const 0 + f32.const -3 + f32.const -4 + f32.const 5 + f32.const 0 i32.const 0 - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1966 + i32.const 1745 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + 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 1967 + i32.const 1746 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0 + f32.const 3402823466385288598117041e14 + f32.const -0 + f32.const 3402823466385288598117041e14 + f32.const 0 i32.const 0 - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1968 + i32.const 1747 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_log2 + 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 1969 + i32.const 1748 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const 1.401298464324817e-45 + f32.const -0 + f32.const 1.401298464324817e-45 + f32.const 0 i32.const 0 - call $std/math/test_log2 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1970 + i32.const 1749 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const nan:0x400000 + f32.const inf + f32.const 1 + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f + i32.const 0 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1979 + i32.const 1750 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 2.1194357872009277 - f32.const 0.18271538615226746 - global.get $std/math/INEXACT - call $std/math/test_log2f + 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 1980 + i32.const 1751 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 + f32.const inf f32.const nan:0x400000 + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f + i32.const 0 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1981 + i32.const 1752 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 f32.const nan:0x400000 + f32.const inf + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f + i32.const 0 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1982 + i32.const 1753 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 3.212111234664917 - f32.const -0.3188050389289856 - global.get $std/math/INEXACT - call $std/math/test_log2f + f32.const inf + f32.neg + 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 1983 + i32.const 1754 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 - f32.const -0.5951276421546936 - f32.const 0.34231460094451904 - global.get $std/math/INEXACT - call $std/math/test_log2f + f32.const 1 + f32.const inf + f32.neg + 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 1984 + i32.const 1755 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 + f32.const inf + f32.neg f32.const nan:0x400000 + f32.const inf f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f + i32.const 0 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1985 + i32.const 1756 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 - f32.const -0.8319748044013977 - f32.const -0.33473604917526245 - global.get $std/math/INEXACT - call $std/math/test_log2f + f32.const nan:0x400000 + f32.const inf + f32.neg + 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 1986 + i32.const 1757 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 - f32.const -0.3693107068538666 - f32.const 0.3278401792049408 - global.get $std/math/INEXACT - call $std/math/test_log2f + 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 1987 + i32.const 1758 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 + f32.const 1 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f + i32.const 0 + call $std/math/test_hypotf i32.eqz if i32.const 0 i32.const 32 - i32.const 1988 + i32.const 1759 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2f + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1991 + i32.const 1771 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_log2f + f64.const 4.345239849338305 + f64.const 1.4690809584224322 + f64.const -0.3412533402442932 + global.get $std/math/INEXACT + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1992 + i32.const 1772 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const nan:0x400000 - f32.const 0 + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_log2f + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1993 + i32.const 1773 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_log2f + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1994 + i32.const 1774 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_log2f + f64.const 9.267056966972586 + f64.const 2.2264658498795615 + f64.const 0.3638114035129547 + global.get $std/math/INEXACT + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1995 + i32.const 1775 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_log2f + f64.const 0.6619858980995045 + f64.const -0.4125110252365137 + f64.const -0.29108747839927673 + global.get $std/math/INEXACT + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1996 + i32.const 1776 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_log2f + call $std/math/test_log + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1777 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0.5617597462207241 + f64.const -0.5766810183195862 + f64.const -0.10983199626207352 + global.get $std/math/INEXACT + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1997 + i32.const 1778 i32.const 1 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 + f64.const 0.7741522965913037 + f64.const -0.2559866591263865 + f64.const -0.057990044355392456 + global.get $std/math/INEXACT + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 1998 + i32.const 1779 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 4.535662560676869 + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2010 + i32.const 1780 i32.const 1 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 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2011 + i32.const 1783 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -2.763607337379588 + f64.const -0 + f64.const inf + f64.neg f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/DIVBYZERO + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2012 + i32.const 1784 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const 4.567535276842744 + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2013 + i32.const 1785 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 9.267056966972586 + f64.const 1 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2014 + i32.const 1786 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 0.6620717923376739 + f64.const -1 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2015 + i32.const 1787 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 7.858890253041697 + f64.const inf + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2016 + i32.const 1788 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const 7.67640268511754 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2017 + i32.const 1789 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 2.0119025790324803 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_log i32.eqz if i32.const 0 i32.const 32 - i32.const 2018 + i32.const 1790 i32.const 1 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 + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2019 + i32.const 1799 i32.const 1 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 + f32.const -0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2022 + i32.const 1800 i32.const 1 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 + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2023 + i32.const 1801 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 1 - f64.const 1 - f64.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2024 + i32.const 1802 i32.const 1 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 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2025 + i32.const 1803 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 1 - f64.const 1 - f64.const 0 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2026 + i32.const 1804 i32.const 1 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 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2027 + i32.const 1805 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2028 + i32.const 1806 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 1 - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_max + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2029 + i32.const 1809 i32.const 1 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 + f32.const -0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2030 + i32.const 1810 i32.const 1 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 + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2031 + i32.const 1811 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2032 + i32.const 1812 i32.const 1 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 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2033 + i32.const 1813 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2034 + i32.const 1814 i32.const 1 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 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2035 + i32.const 1815 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - f64.const -1 - f64.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_logf i32.eqz if i32.const 0 i32.const 32 - i32.const 2036 + i32.const 1816 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -1 - f64.const inf + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2037 + i32.const 1828 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -1 - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max + f64.const 4.345239849338305 + f64.const 0.6380137537120029 + f64.const -0.2088824063539505 + global.get $std/math/INEXACT + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2038 + i32.const 1829 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const -1 + f64.const -8.38143342755525 f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2039 + i32.const 1830 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2040 + i32.const 1831 i32.const 1 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 + f64.const 9.267056966972586 + f64.const 0.9669418327487274 + f64.const -0.06120431795716286 + global.get $std/math/INEXACT + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2041 + i32.const 1832 i32.const 1 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 + f64.const 0.6619858980995045 + f64.const -0.17915126198447093 + f64.const 0.39090874791145325 + global.get $std/math/INEXACT + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2042 + i32.const 1833 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 f64.const 0 - f64.const inf - f64.neg - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2043 + i32.const 1834 i32.const 1 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 + f64.const 0.5617597462207241 + f64.const -0.25044938407454437 + f64.const -0.3046841621398926 + global.get $std/math/INEXACT + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2044 + i32.const 1835 i32.const 1 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 + f64.const 0.7741522965913037 + f64.const -0.11117359349943837 + f64.const -0.31503361463546753 + global.get $std/math/INEXACT + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2045 + i32.const 1836 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const -0 + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2046 + i32.const 1837 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf + f64.const 0 f64.const inf + f64.neg f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/DIVBYZERO + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2047 + i32.const 1840 i32.const 1 call $~lib/builtins/abort unreachable @@ -34401,1738 +32717,1598 @@ f64.const -0 f64.const inf f64.neg - f64.const -0 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/DIVBYZERO + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2048 + i32.const 1841 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const nan:0x8000000000000 + f64.const -7.888609052210118e-31 f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2049 + i32.const 1842 i32.const 1 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 + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2050 + i32.const 1843 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 + f64.const nan:0x8000000000000 f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2051 + i32.const 1844 i32.const 1 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 + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2052 + i32.const 1845 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.neg + f64.const nan:0x8000000000000 f64.const 0 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2053 + i32.const 1846 i32.const 1 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 2054 - i32.const 1 - 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 2055 - i32.const 1 - 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 + call $std/math/test_log10 i32.eqz if i32.const 0 i32.const 32 - i32.const 2056 + i32.const 1847 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -0 - f64.const -0 - f64.const 0 - i32.const 0 - call $std/math/test_max + f32.const -8.066848754882812 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2057 + i32.const 1856 i32.const 1 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 + f32.const 4.345239639282227 + f32.const 0.6380137205123901 + f32.const -0.20476758480072021 + global.get $std/math/INEXACT + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2058 + i32.const 1857 i32.const 1 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 + f32.const -8.381433486938477 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2059 + i32.const 1858 i32.const 1 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 + f32.const -6.531673431396484 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2060 + i32.const 1859 i32.const 1 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 + f32.const 9.267057418823242 + f32.const 0.9669418334960938 + f32.const -0.34273025393486023 + global.get $std/math/INEXACT + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2061 + i32.const 1860 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 2 - f64.const 2 - f64.const 0 - i32.const 0 - call $std/math/test_max + f32.const 0.6619858741760254 + f32.const -0.1791512817144394 + f32.const -0.27078554034233093 + global.get $std/math/INEXACT + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2062 + i32.const 1861 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -0.5 - f64.const -0.5 - f64.const 0 - i32.const 0 - call $std/math/test_max + f32.const -0.40660393238067627 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2063 + i32.const 1862 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 - i32.const 0 - call $std/math/test_max + f32.const 0.5617597699165344 + f32.const -0.25044935941696167 + f32.const 0.2126826047897339 + global.get $std/math/INEXACT + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2064 + i32.const 1863 i32.const 1 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 + f32.const 0.7741522789001465 + f32.const -0.1111735999584198 + f32.const 0.46515095233917236 + global.get $std/math/INEXACT + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2065 + i32.const 1864 i32.const 1 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 + f32.const -0.6787636876106262 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2066 + i32.const 1865 i32.const 1 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 + f32.const 0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2067 + i32.const 1868 i32.const 1 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 + f32.const -0 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2068 + i32.const 1869 i32.const 1 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 + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2069 + i32.const 1870 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2070 + i32.const 1871 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.const inf - f64.const 0 - i32.const 0 - call $std/math/test_max + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2071 + i32.const 1872 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf - f64.neg - f64.const 1 - f64.const 0 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2072 + i32.const 1873 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_max + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2073 + i32.const 1874 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.neg - f64.const inf - f64.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_max + call $std/math/test_log10f i32.eqz if i32.const 0 i32.const 32 - i32.const 2074 + i32.const 1875 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const inf - f64.neg + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2075 + i32.const 1887 i32.const 1 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 + f64.const 4.345239849338305 + f64.const 1.6762064170601734 + f64.const 0.46188199520111084 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2076 + i32.const 1888 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.75 - f64.const 0.5 - f64.const 0.5 + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2077 + i32.const 1889 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.75 - f64.const -0.5 - f64.const 1.75 + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 f64.const 0 - i32.const 0 - call $std/math/test_max + global.get $std/math/INVALID + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2078 + i32.const 1890 i32.const 1 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 + f64.const 9.267056966972586 + f64.const 2.3289404168523826 + f64.const -0.411114901304245 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2079 + i32.const 1891 i32.const 1 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 + f64.const 0.6619858980995045 + f64.const 0.5080132114992477 + f64.const -0.29306045174598694 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2088 + i32.const 1892 i32.const 1 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 + f64.const -0.4066039223853553 + f64.const -0.5218931811663979 + f64.const -0.25825726985931396 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2089 + i32.const 1893 i32.const 1 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 + f64.const 0.5617597462207241 + f64.const 0.4458132279488102 + f64.const -0.13274887204170227 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2090 + i32.const 1894 i32.const 1 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 + f64.const 0.7741522965913037 + f64.const 0.5733227294648414 + f64.const 0.02716583013534546 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2091 + i32.const 1895 i32.const 1 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 + f64.const -0.6787637026394024 + f64.const -1.1355782978128564 + f64.const 0.2713092863559723 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2092 + i32.const 1896 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const 0.6620717644691467 - f32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2093 + i32.const 1899 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 7.858890056610107 - f32.const 0 + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2094 + i32.const 1900 i32.const 1 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 + f64.const -7.888609052210118e-31 + f64.const -7.888609052210118e-31 + f64.const 1.7763568394002505e-15 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2095 + i32.const 1901 i32.const 1 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 + f64.const 1 + f64.const 0.6931471805599453 + f64.const -0.2088811695575714 + global.get $std/math/INEXACT + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2096 + i32.const 1902 i32.const 1 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 + f64.const -1 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2097 + i32.const 1903 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1 - f32.const 1 - f32.const 0 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2100 + i32.const 1904 i32.const 1 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 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2101 + i32.const 1905 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 1 - f32.const 1 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1p i32.eqz if i32.const 0 i32.const 32 - i32.const 2102 + i32.const 1906 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 1 - f32.const 1 + f32.const -8.066848754882812 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2103 + i32.const 1915 i32.const 1 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 + f32.const 4.345239639282227 + f32.const 1.676206350326538 + f32.const -0.23014859855175018 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2104 + i32.const 1916 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 1 - f32.const 1 + f32.const -8.381433486938477 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2105 + i32.const 1917 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 1 - f32.const inf + f32.const -6.531673431396484 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2106 + i32.const 1918 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 1 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf + f32.const 9.267057418823242 + f32.const 2.3289403915405273 + f32.const -0.29075589776039124 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2107 + i32.const 1919 i32.const 1 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 + unreachable + end + f32.const 0.6619858741760254 + f32.const 0.5080131888389587 + f32.const -0.1386766880750656 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2108 + i32.const 1920 i32.const 1 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 + f32.const -0.40660393238067627 + f32.const -0.5218932032585144 + f32.const -0.08804433047771454 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2109 + i32.const 1921 i32.const 1 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 + f32.const 0.5617597699165344 + f32.const 0.44581323862075806 + f32.const -0.15101368725299835 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2110 + i32.const 1922 i32.const 1 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 + f32.const 0.7741522789001465 + f32.const 0.5733227133750916 + f32.const -0.10264533013105392 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2111 + i32.const 1923 i32.const 1 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 + f32.const -0.6787636876106262 + f32.const -1.1355782747268677 + f32.const -0.19879481196403503 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2112 + i32.const 1924 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const -1 - f32.const 1 + f32.const 0 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2113 + i32.const 1927 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 - f32.const -1 + f32.const -0 + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2114 + i32.const 1928 i32.const 1 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 + f32.const -7.888609052210118e-31 + f32.const -7.888609052210118e-31 + f32.const 3.308722450212111e-24 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2115 + i32.const 1929 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -1 - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_maxf + f32.const 1 + f32.const 0.6931471824645996 + f32.const 0.031954795122146606 + global.get $std/math/INEXACT + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2116 + i32.const 1930 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 f32.const -1 - f32.const nan:0x400000 + f32.const inf + f32.neg f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/DIVBYZERO + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2117 + i32.const 1931 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - f32.const 0 + f32.const inf + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2118 + i32.const 1932 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const inf + f32.neg + f32.const nan:0x400000 f32.const 0 - f32.const -0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2119 + i32.const 1933 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2120 + i32.const 1934 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf + f32.const -1.1754942106924411e-38 + f32.const -1.1754942106924411e-38 + f32.const 4.930380657631324e-32 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_log1pf i32.eqz if i32.const 0 i32.const 32 - i32.const 2121 + i32.const 1935 i32.const 1 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 + f64.const -8.06684839057968 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2122 + i32.const 1947 i32.const 1 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 + f64.const 4.345239849338305 + f64.const 2.1194358133804485 + f64.const -0.10164877772331238 + global.get $std/math/INEXACT + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2123 + i32.const 1948 i32.const 1 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 + f64.const -8.38143342755525 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2124 + i32.const 1949 i32.const 1 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 + f64.const -6.531673581913484 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2125 + i32.const 1950 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const -0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf + f64.const 9.267056966972586 + f64.const 3.2121112403298744 + f64.const -0.15739446878433228 + global.get $std/math/INEXACT + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2126 + i32.const 1951 i32.const 1 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 + f64.const 0.6619858980995045 + f64.const -0.5951276104207402 + f64.const 0.3321485221385956 + global.get $std/math/INEXACT + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2127 + i32.const 1952 i32.const 1 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 + f64.const -0.4066039223853553 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2128 + i32.const 1953 i32.const 1 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 + f64.const 0.5617597462207241 + f64.const -0.8319748453044644 + f64.const 0.057555437088012695 + global.get $std/math/INEXACT + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2129 + i32.const 1954 i32.const 1 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 + f64.const 0.7741522965913037 + f64.const -0.36931068365537134 + f64.const -0.19838279485702515 + global.get $std/math/INEXACT + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2130 + i32.const 1955 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_maxf + f64.const -0.6787637026394024 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2131 + i32.const 1956 i32.const 1 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 + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2132 + i32.const 1959 i32.const 1 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 + f64.const -0 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2133 + i32.const 1960 i32.const 1 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 + f64.const -7.888609052210118e-31 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2134 + i32.const 1961 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -0 - f32.const -0 - f32.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2135 + i32.const 1962 i32.const 1 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 + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2136 + i32.const 1963 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 2 - f32.const inf - f32.const 0 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2137 + i32.const 1964 i32.const 1 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 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2138 + i32.const 1965 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log2 i32.eqz if i32.const 0 i32.const 32 - i32.const 2139 + i32.const 1966 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 2 - f32.const 2 + f32.const -8.066848754882812 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2140 + i32.const 1975 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -0.5 - f32.const -0.5 - f32.const 0 - i32.const 0 - call $std/math/test_maxf + f32.const 4.345239639282227 + f32.const 2.1194357872009277 + f32.const 0.18271538615226746 + global.get $std/math/INEXACT + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2141 + i32.const 1976 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 + f32.const -8.381433486938477 f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2142 + i32.const 1977 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const -6.531673431396484 f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2143 + i32.const 1978 i32.const 1 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 + f32.const 9.267057418823242 + f32.const 3.212111234664917 + f32.const -0.3188050389289856 + global.get $std/math/INEXACT + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2144 + i32.const 1979 i32.const 1 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 + f32.const 0.6619858741760254 + f32.const -0.5951276421546936 + f32.const 0.34231460094451904 + global.get $std/math/INEXACT + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2145 + i32.const 1980 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - f32.const inf + f32.const -0.40660393238067627 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2146 + i32.const 1981 i32.const 1 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 + f32.const 0.5617597699165344 + f32.const -0.8319748044013977 + f32.const -0.33473604917526245 + global.get $std/math/INEXACT + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2147 + i32.const 1982 i32.const 1 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 + f32.const 0.7741522789001465 + f32.const -0.3693107068538666 + f32.const 0.3278401792049408 + global.get $std/math/INEXACT + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2148 + i32.const 1983 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.const inf + f32.const -0.6787636876106262 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2149 + i32.const 1984 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 + f32.const 0 f32.const inf f32.neg - f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/DIVBYZERO + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2150 + i32.const 1987 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 + f32.const -0 f32.const inf f32.neg - f32.const -1 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/DIVBYZERO + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2151 + i32.const 1988 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.neg - f32.const inf + f32.const -7.888609052210118e-31 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2152 + i32.const 1989 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const inf - f32.neg + f32.const 1 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2153 + i32.const 1990 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.75 - f32.const 0.5 - f32.const 1.75 + f32.const -1 + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2154 + i32.const 1991 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.75 - f32.const 0.5 - f32.const 0.5 + f32.const inf + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2155 + i32.const 1992 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.75 - f32.const -0.5 - f32.const 1.75 + f32.const inf + f32.neg + f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_maxf + global.get $std/math/INVALID + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2156 + i32.const 1993 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.75 - f32.const -0.5 - f32.const -0.5 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_maxf + call $std/math/test_log2f i32.eqz if i32.const 0 i32.const 32 - i32.const 2157 + i32.const 1994 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 f64.const 4.535662560676869 - f64.const -8.06684839057968 + f64.const 4.535662560676869 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2169 + i32.const 2006 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 f64.const -8.88799136300345 - f64.const -8.88799136300345 + f64.const 4.345239849338305 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2170 + i32.const 2007 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 f64.const -2.763607337379588 - f64.const -8.38143342755525 + f64.const -2.763607337379588 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2171 + i32.const 2008 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 f64.const 4.567535276842744 - f64.const -6.531673581913484 + f64.const 4.567535276842744 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2172 + i32.const 2009 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 f64.const 4.811392084359796 - f64.const 4.811392084359796 + f64.const 9.267056966972586 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2173 + i32.const 2010 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 f64.const 0.6620717923376739 - f64.const -6.450045556060236 + f64.const 0.6620717923376739 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2174 + i32.const 2011 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 f64.const 0.05215452675006225 - f64.const 0.05215452675006225 + f64.const 7.858890253041697 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2175 + i32.const 2012 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.792054511984896 f64.const 7.67640268511754 - f64.const -0.792054511984896 + f64.const 7.67640268511754 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2176 + i32.const 2013 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.615702673197924 f64.const 2.0119025790324803 - f64.const 0.615702673197924 + f64.const 2.0119025790324803 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2177 + i32.const 2014 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 f64.const 0.03223983060263804 - f64.const -0.5587586823609152 + f64.const 0.03223983060263804 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2178 + i32.const 2015 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 1 - f64.const 0 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2181 + i32.const 2018 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const 1 - f64.const -0 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2182 + i32.const 2019 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 f64.const 1 - f64.const 0.5 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2183 + i32.const 2020 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.5 f64.const 1 - f64.const -0.5 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2184 + i32.const 2021 i32.const 1 call $~lib/builtins/abort unreachable @@ -36142,42 +34318,42 @@ f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2185 + i32.const 2022 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 1 - f64.const -1 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2186 + i32.const 2023 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 1 - f64.const 1 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2187 + i32.const 2024 i32.const 1 call $~lib/builtins/abort unreachable @@ -36185,16 +34361,15 @@ f64.const inf f64.neg f64.const 1 - f64.const inf - f64.neg + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2188 + i32.const 2025 i32.const 1 call $~lib/builtins/abort unreachable @@ -36204,87 +34379,87 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2189 + i32.const 2026 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const -1 - f64.const -1 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2190 + i32.const 2027 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const -1 - f64.const -1 + f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2191 + i32.const 2028 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 f64.const -1 - f64.const -1 + f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2192 + i32.const 2029 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.5 f64.const -1 - f64.const -1 + f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2193 + i32.const 2030 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const -1 - f64.const -1 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2194 + i32.const 2031 i32.const 1 call $~lib/builtins/abort unreachable @@ -36294,27 +34469,27 @@ f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2195 + i32.const 2032 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const -1 - f64.const -1 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2196 + i32.const 2033 i32.const 1 call $~lib/builtins/abort unreachable @@ -36322,16 +34497,15 @@ f64.const inf f64.neg f64.const -1 - f64.const inf - f64.neg + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2197 + i32.const 2034 i32.const 1 call $~lib/builtins/abort unreachable @@ -36341,12 +34515,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2198 + i32.const 2035 i32.const 1 call $~lib/builtins/abort unreachable @@ -36356,42 +34530,42 @@ f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2199 + i32.const 2036 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const -0 - f64.const -0 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2200 + i32.const 2037 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const inf - f64.const 0 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2201 + i32.const 2038 i32.const 1 call $~lib/builtins/abort unreachable @@ -36399,16 +34573,15 @@ f64.const 0 f64.const inf f64.neg - f64.const inf - f64.neg + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2202 + i32.const 2039 i32.const 1 call $~lib/builtins/abort unreachable @@ -36418,27 +34591,27 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2203 + i32.const 2040 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const 0 - f64.const -0 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2204 + i32.const 2041 i32.const 1 call $~lib/builtins/abort unreachable @@ -36448,27 +34621,27 @@ f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2205 + i32.const 2042 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const inf - f64.const -0 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2206 + i32.const 2043 i32.const 1 call $~lib/builtins/abort unreachable @@ -36476,16 +34649,15 @@ f64.const -0 f64.const inf f64.neg - f64.const inf - f64.neg + f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2207 + i32.const 2044 i32.const 1 call $~lib/builtins/abort unreachable @@ -36495,57 +34667,57 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2208 + i32.const 2045 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const 0 - f64.const 0 + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2209 + i32.const 2046 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 0 - f64.const -1 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2210 + i32.const 2047 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 0 - f64.const 0 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2211 + i32.const 2048 i32.const 1 call $~lib/builtins/abort unreachable @@ -36553,16 +34725,15 @@ f64.const inf f64.neg f64.const 0 - f64.const inf - f64.neg + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2212 + i32.const 2049 i32.const 1 call $~lib/builtins/abort unreachable @@ -36572,42 +34743,42 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2213 + i32.const 2050 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const -0 - f64.const -1 + f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2214 + i32.const 2051 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const -0 - f64.const -0 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2215 + i32.const 2052 i32.const 1 call $~lib/builtins/abort unreachable @@ -36615,16 +34786,15 @@ f64.const inf f64.neg f64.const -0 - f64.const inf - f64.neg + f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2216 + i32.const 2053 i32.const 1 call $~lib/builtins/abort unreachable @@ -36634,42 +34804,42 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2217 + i32.const 2054 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 2 - f64.const 2 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2218 + i32.const 2055 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const -0.5 - f64.const -0.5 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2219 + i32.const 2056 i32.const 1 call $~lib/builtins/abort unreachable @@ -36679,12 +34849,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2220 + i32.const 2057 i32.const 1 call $~lib/builtins/abort unreachable @@ -36692,16 +34862,15 @@ f64.const inf f64.neg f64.const 2 - f64.const inf - f64.neg + f64.const 2 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2221 + i32.const 2058 i32.const 1 call $~lib/builtins/abort unreachable @@ -36709,16 +34878,15 @@ f64.const inf f64.neg f64.const -0.5 - f64.const inf - f64.neg + f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2222 + i32.const 2059 i32.const 1 call $~lib/builtins/abort unreachable @@ -36729,12 +34897,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2223 + i32.const 2060 i32.const 1 call $~lib/builtins/abort unreachable @@ -36744,12 +34912,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2224 + i32.const 2061 i32.const 1 call $~lib/builtins/abort unreachable @@ -36759,12 +34927,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2225 + i32.const 2062 i32.const 1 call $~lib/builtins/abort unreachable @@ -36774,42 +34942,42 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2226 + i32.const 2063 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const inf - f64.const 1 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2227 + i32.const 2064 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const inf - f64.const -1 + f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2228 + i32.const 2065 i32.const 1 call $~lib/builtins/abort unreachable @@ -36819,12 +34987,12 @@ f64.const inf f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2229 + i32.const 2066 i32.const 1 call $~lib/builtins/abort unreachable @@ -36833,15 +35001,14 @@ f64.neg f64.const inf f64.const inf - f64.neg f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2230 + i32.const 2067 i32.const 1 call $~lib/builtins/abort unreachable @@ -36849,16 +35016,15 @@ f64.const 1 f64.const inf f64.neg - f64.const inf - f64.neg + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2231 + i32.const 2068 i32.const 1 call $~lib/builtins/abort unreachable @@ -36866,16 +35032,15 @@ f64.const -1 f64.const inf f64.neg - f64.const inf - f64.neg + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2232 + i32.const 2069 i32.const 1 call $~lib/builtins/abort unreachable @@ -36884,15 +35049,14 @@ f64.const inf f64.neg f64.const inf - f64.neg f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2233 + i32.const 2070 i32.const 1 call $~lib/builtins/abort unreachable @@ -36905,282 +35069,282 @@ f64.neg f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2234 + i32.const 2071 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.75 f64.const 0.5 - f64.const 0.5 + f64.const 1.75 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2235 + i32.const 2072 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.75 f64.const 0.5 - f64.const -1.75 + f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2236 + i32.const 2073 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.75 f64.const -0.5 - f64.const -0.5 + f64.const 1.75 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2237 + i32.const 2074 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.75 f64.const -0.5 - f64.const -1.75 + f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_min + call $std/math/test_max i32.eqz if i32.const 0 i32.const 32 - i32.const 2238 + i32.const 2075 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 f32.const 4.535662651062012 - f32.const -8.066848754882812 + f32.const 4.535662651062012 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2247 + i32.const 2084 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 f32.const -8.887990951538086 - f32.const -8.887990951538086 + f32.const 4.345239639282227 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2248 + i32.const 2085 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 f32.const -2.7636072635650635 - f32.const -8.381433486938477 + f32.const -2.7636072635650635 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2249 + i32.const 2086 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 f32.const 4.567535400390625 - f32.const -6.531673431396484 + f32.const 4.567535400390625 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2250 + i32.const 2087 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 f32.const 4.811392307281494 - f32.const 4.811392307281494 + f32.const 9.267057418823242 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2251 + i32.const 2088 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 f32.const 0.6620717644691467 - f32.const -6.450045585632324 + f32.const 0.6620717644691467 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2252 + i32.const 2089 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 f32.const 0.052154526114463806 - f32.const 0.052154526114463806 + f32.const 7.858890056610107 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2253 + i32.const 2090 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 f32.const 7.676402568817139 - f32.const -0.7920545339584351 + f32.const 7.676402568817139 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2254 + i32.const 2091 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 f32.const 2.0119025707244873 - f32.const 0.6157026886940002 + f32.const 2.0119025707244873 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2255 + i32.const 2092 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 f32.const 0.03223983198404312 - f32.const -0.5587586760520935 + f32.const 0.03223983198404312 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2256 + i32.const 2093 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 1 - f32.const 0 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2259 + i32.const 2096 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 1 - f32.const -0 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2260 + i32.const 2097 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5 f32.const 1 - f32.const 0.5 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2261 + i32.const 2098 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const 1 - f32.const -0.5 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2262 + i32.const 2099 i32.const 1 call $~lib/builtins/abort unreachable @@ -37190,42 +35354,42 @@ f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2263 + i32.const 2100 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 1 - f32.const -1 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2264 + i32.const 2101 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 1 - f32.const 1 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2265 + i32.const 2102 i32.const 1 call $~lib/builtins/abort unreachable @@ -37233,16 +35397,15 @@ f32.const inf f32.neg f32.const 1 - f32.const inf - f32.neg + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2266 + i32.const 2103 i32.const 1 call $~lib/builtins/abort unreachable @@ -37252,87 +35415,87 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2267 + i32.const 2104 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -1 - f32.const -1 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2268 + i32.const 2105 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -1 - f32.const -1 + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2269 + i32.const 2106 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5 f32.const -1 - f32.const -1 + f32.const 0.5 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2270 + i32.const 2107 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const -1 - f32.const -1 + f32.const -0.5 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2271 + i32.const 2108 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -1 - f32.const -1 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2272 + i32.const 2109 i32.const 1 call $~lib/builtins/abort unreachable @@ -37342,27 +35505,27 @@ f32.const -1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2273 + i32.const 2110 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -1 - f32.const -1 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2274 + i32.const 2111 i32.const 1 call $~lib/builtins/abort unreachable @@ -37370,16 +35533,15 @@ f32.const inf f32.neg f32.const -1 - f32.const inf - f32.neg + f32.const -1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2275 + i32.const 2112 i32.const 1 call $~lib/builtins/abort unreachable @@ -37389,12 +35551,12 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2276 + i32.const 2113 i32.const 1 call $~lib/builtins/abort unreachable @@ -37404,42 +35566,42 @@ f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2277 + i32.const 2114 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -0 - f32.const -0 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2278 + i32.const 2115 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const inf - f32.const 0 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2279 + i32.const 2116 i32.const 1 call $~lib/builtins/abort unreachable @@ -37447,16 +35609,15 @@ f32.const 0 f32.const inf f32.neg - f32.const inf - f32.neg + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2280 + i32.const 2117 i32.const 1 call $~lib/builtins/abort unreachable @@ -37466,27 +35627,27 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2281 + i32.const 2118 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 0 - f32.const -0 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2282 + i32.const 2119 i32.const 1 call $~lib/builtins/abort unreachable @@ -37496,27 +35657,27 @@ f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2283 + i32.const 2120 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const inf - f32.const -0 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2284 + i32.const 2121 i32.const 1 call $~lib/builtins/abort unreachable @@ -37524,16 +35685,15 @@ f32.const -0 f32.const inf f32.neg - f32.const inf - f32.neg + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2285 + i32.const 2122 i32.const 1 call $~lib/builtins/abort unreachable @@ -37543,57 +35703,57 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2286 + i32.const 2123 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 0 - f32.const 0 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2287 + i32.const 2124 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 0 - f32.const -1 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2288 + i32.const 2125 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 0 - f32.const 0 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2289 + i32.const 2126 i32.const 1 call $~lib/builtins/abort unreachable @@ -37601,16 +35761,15 @@ f32.const inf f32.neg f32.const 0 - f32.const inf - f32.neg + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2290 + i32.const 2127 i32.const 1 call $~lib/builtins/abort unreachable @@ -37620,42 +35779,42 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2291 + i32.const 2128 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -0 - f32.const -1 + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2292 + i32.const 2129 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -0 - f32.const -0 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2293 + i32.const 2130 i32.const 1 call $~lib/builtins/abort unreachable @@ -37663,16 +35822,15 @@ f32.const inf f32.neg f32.const -0 - f32.const inf - f32.neg + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2294 + i32.const 2131 i32.const 1 call $~lib/builtins/abort unreachable @@ -37682,42 +35840,42 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2295 + i32.const 2132 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 2 - f32.const 2 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2296 + i32.const 2133 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -0.5 - f32.const -0.5 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2297 + i32.const 2134 i32.const 1 call $~lib/builtins/abort unreachable @@ -37727,12 +35885,12 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2298 + i32.const 2135 i32.const 1 call $~lib/builtins/abort unreachable @@ -37740,16 +35898,15 @@ f32.const inf f32.neg f32.const 2 - f32.const inf - f32.neg + f32.const 2 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2299 + i32.const 2136 i32.const 1 call $~lib/builtins/abort unreachable @@ -37757,16 +35914,15 @@ f32.const inf f32.neg f32.const -0.5 - f32.const inf - f32.neg + f32.const -0.5 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2300 + i32.const 2137 i32.const 1 call $~lib/builtins/abort unreachable @@ -37777,12 +35933,12 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2301 + i32.const 2138 i32.const 1 call $~lib/builtins/abort unreachable @@ -37792,12 +35948,12 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2302 + i32.const 2139 i32.const 1 call $~lib/builtins/abort unreachable @@ -37807,12 +35963,12 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2303 + i32.const 2140 i32.const 1 call $~lib/builtins/abort unreachable @@ -37822,42 +35978,42 @@ f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2304 + i32.const 2141 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const inf - f32.const 1 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2305 + i32.const 2142 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const inf - f32.const -1 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2306 + i32.const 2143 i32.const 1 call $~lib/builtins/abort unreachable @@ -37867,12 +36023,12 @@ f32.const inf f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2307 + i32.const 2144 i32.const 1 call $~lib/builtins/abort unreachable @@ -37881,15 +36037,14 @@ f32.neg f32.const inf f32.const inf - f32.neg f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2308 + i32.const 2145 i32.const 1 call $~lib/builtins/abort unreachable @@ -37897,16 +36052,15 @@ f32.const 1 f32.const inf f32.neg - f32.const inf - f32.neg + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2309 + i32.const 2146 i32.const 1 call $~lib/builtins/abort unreachable @@ -37914,16 +36068,15 @@ f32.const -1 f32.const inf f32.neg - f32.const inf - f32.neg + f32.const -1 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2310 + i32.const 2147 i32.const 1 call $~lib/builtins/abort unreachable @@ -37932,15 +36085,14 @@ f32.const inf f32.neg f32.const inf - f32.neg f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2311 + i32.const 2148 i32.const 1 call $~lib/builtins/abort unreachable @@ -37953,177 +36105,177 @@ f32.neg f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2312 + i32.const 2149 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.75 f32.const 0.5 - f32.const 0.5 + f32.const 1.75 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2313 + i32.const 2150 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.75 f32.const 0.5 - f32.const -1.75 + f32.const 0.5 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2314 + i32.const 2151 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.75 f32.const -0.5 - f32.const -0.5 + f32.const 1.75 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2315 + i32.const 2152 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.75 f32.const -0.5 - f32.const -1.75 + f32.const -0.5 f32.const 0 i32.const 0 - call $std/math/test_minf + call $std/math/test_maxf i32.eqz if i32.const 0 i32.const 32 - i32.const 2316 + i32.const 2153 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 f64.const 4.535662560676869 - f64.const -3.531185829902812 + f64.const -8.06684839057968 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2330 + i32.const 2165 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 f64.const -8.88799136300345 - f64.const 4.345239849338305 + f64.const -8.88799136300345 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2331 + i32.const 2166 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 f64.const -2.763607337379588 - f64.const -0.09061141541648476 + f64.const -8.38143342755525 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2332 + i32.const 2167 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 f64.const 4.567535276842744 - f64.const -1.9641383050707404 + f64.const -6.531673581913484 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2333 + i32.const 2168 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 f64.const 4.811392084359796 - f64.const 4.45566488261279 + f64.const 4.811392084359796 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2334 + i32.const 2169 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.450045556060236 f64.const 0.6620717923376739 - f64.const -0.4913994250211714 + f64.const -6.450045556060236 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2335 + i32.const 2170 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.858890253041697 f64.const 0.05215452675006225 - f64.const 0.035711240532359426 + f64.const 0.05215452675006225 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2336 + i32.const 2171 i32.const 1 call $~lib/builtins/abort unreachable @@ -38133,12 +36285,12 @@ f64.const -0.792054511984896 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2337 + i32.const 2172 i32.const 1 call $~lib/builtins/abort unreachable @@ -38148,27 +36300,27 @@ f64.const 0.615702673197924 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2338 + i32.const 2173 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.5587586823609152 f64.const 0.03223983060263804 - f64.const -0.0106815621160685 + f64.const -0.5587586823609152 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2339 + i32.const 2174 i32.const 1 call $~lib/builtins/abort unreachable @@ -38178,12 +36330,12 @@ f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2342 + i32.const 2177 i32.const 1 call $~lib/builtins/abort unreachable @@ -38193,12 +36345,12 @@ f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2343 + i32.const 2178 i32.const 1 call $~lib/builtins/abort unreachable @@ -38208,12 +36360,12 @@ f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2344 + i32.const 2179 i32.const 1 call $~lib/builtins/abort unreachable @@ -38223,133 +36375,74 @@ f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2345 + i32.const 2180 i32.const 1 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 1 - 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 2347 - i32.const 1 - 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 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2348 + i32.const 2181 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.5 + f64.const -1 f64.const 1 - f64.const -0.5 + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2349 + i32.const 2182 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2 + f64.const inf 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 1 - 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 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2351 + i32.const 2183 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf + f64.neg f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2352 - i32.const 1 - call $~lib/builtins/abort - unreachable - end f64.const inf f64.neg - f64.const 1 - f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2353 + i32.const 2184 i32.const 1 call $~lib/builtins/abort unreachable @@ -38359,177 +36452,117 @@ 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 2354 - i32.const 1 - 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 1 - 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 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2356 + i32.const 2185 i32.const 1 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 1 - 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 2358 - i32.const 1 - 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 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2359 + i32.const 2186 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const -0 f64.const -1 f64.const -1 - f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2360 + i32.const 2187 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const -1 f64.const 0.5 + f64.const -1 + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2361 + i32.const 2188 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.5 - f64.const -1 f64.const -0.5 + f64.const -1 + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2362 + i32.const 2189 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2 + f64.const 1 + f64.const -1 f64.const -1 - f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2363 + i32.const 2190 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2 f64.const -1 - f64.const -0 + f64.const -1 + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2364 + i32.const 2191 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const -1 - f64.const nan:0x8000000000000 + f64.const -1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2365 + i32.const 2192 i32.const 1 call $~lib/builtins/abort unreachable @@ -38537,15 +36570,16 @@ f64.const inf f64.neg f64.const -1 - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2366 + i32.const 2193 i32.const 1 call $~lib/builtins/abort unreachable @@ -38555,42 +36589,42 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2367 + i32.const 2194 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 0 - f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + f64.const 0 + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2368 + i32.const 2195 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const -0 - f64.const nan:0x8000000000000 + f64.const -0 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2369 + i32.const 2196 i32.const 1 call $~lib/builtins/abort unreachable @@ -38600,12 +36634,12 @@ f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2370 + i32.const 2197 i32.const 1 call $~lib/builtins/abort unreachable @@ -38613,15 +36647,16 @@ f64.const 0 f64.const inf f64.neg - f64.const 0 + f64.const inf + f64.neg f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2371 + i32.const 2198 i32.const 1 call $~lib/builtins/abort unreachable @@ -38631,42 +36666,42 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2372 + i32.const 2199 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const 0 - f64.const nan:0x8000000000000 + f64.const -0 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2373 + i32.const 2200 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const -0 - f64.const nan:0x8000000000000 + f64.const -0 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2374 + i32.const 2201 i32.const 1 call $~lib/builtins/abort unreachable @@ -38676,12 +36711,12 @@ f64.const -0 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2375 + i32.const 2202 i32.const 1 call $~lib/builtins/abort unreachable @@ -38689,15 +36724,16 @@ f64.const -0 f64.const inf f64.neg - f64.const -0 + f64.const inf + f64.neg f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2376 + i32.const 2203 i32.const 1 call $~lib/builtins/abort unreachable @@ -38707,57 +36743,57 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2377 + i32.const 2204 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const 0 - f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + f64.const 0 + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2378 + i32.const 2205 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 0 - f64.const nan:0x8000000000000 + f64.const -1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2379 + i32.const 2206 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 0 - f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + f64.const 0 + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2380 + i32.const 2207 i32.const 1 call $~lib/builtins/abort unreachable @@ -38765,15 +36801,16 @@ f64.const inf f64.neg f64.const 0 - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2381 + i32.const 2208 i32.const 1 call $~lib/builtins/abort unreachable @@ -38783,42 +36820,42 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2382 + i32.const 2209 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const -0 - f64.const nan:0x8000000000000 + f64.const -1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2383 + i32.const 2210 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const -0 - f64.const nan:0x8000000000000 + f64.const -0 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2384 + i32.const 2211 i32.const 1 call $~lib/builtins/abort unreachable @@ -38826,15 +36863,16 @@ f64.const inf f64.neg f64.const -0 - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2385 + i32.const 2212 i32.const 1 call $~lib/builtins/abort unreachable @@ -38844,42 +36882,42 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2386 + i32.const 2213 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 2 - f64.const nan:0x8000000000000 + f64.const 2 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2387 + i32.const 2214 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const -0.5 - f64.const nan:0x8000000000000 + f64.const -0.5 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2388 + i32.const 2215 i32.const 1 call $~lib/builtins/abort unreachable @@ -38889,12 +36927,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2389 + i32.const 2216 i32.const 1 call $~lib/builtins/abort unreachable @@ -38902,15 +36940,16 @@ f64.const inf f64.neg f64.const 2 - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2390 + i32.const 2217 i32.const 1 call $~lib/builtins/abort unreachable @@ -38918,15 +36957,16 @@ f64.const inf f64.neg f64.const -0.5 - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2391 + i32.const 2218 i32.const 1 call $~lib/builtins/abort unreachable @@ -38937,12 +36977,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2392 + i32.const 2219 i32.const 1 call $~lib/builtins/abort unreachable @@ -38952,12 +36992,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2393 + i32.const 2220 i32.const 1 call $~lib/builtins/abort unreachable @@ -38967,12 +37007,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2394 + i32.const 2221 i32.const 1 call $~lib/builtins/abort unreachable @@ -38982,12 +37022,12 @@ f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2395 + i32.const 2222 i32.const 1 call $~lib/builtins/abort unreachable @@ -38997,12 +37037,12 @@ f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2396 + i32.const 2223 i32.const 1 call $~lib/builtins/abort unreachable @@ -39012,27 +37052,27 @@ f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2397 + i32.const 2224 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const inf - f64.const nan:0x8000000000000 + f64.const inf f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2398 + i32.const 2225 i32.const 1 call $~lib/builtins/abort unreachable @@ -39040,15 +37080,16 @@ f64.const inf f64.neg f64.const inf - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2399 + i32.const 2226 i32.const 1 call $~lib/builtins/abort unreachable @@ -39056,15 +37097,16 @@ f64.const 1 f64.const inf f64.neg - f64.const 1 + f64.const inf + f64.neg f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2400 + i32.const 2227 i32.const 1 call $~lib/builtins/abort unreachable @@ -39072,15 +37114,16 @@ f64.const -1 f64.const inf f64.neg - f64.const -1 + f64.const inf + f64.neg f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2401 + i32.const 2228 i32.const 1 call $~lib/builtins/abort unreachable @@ -39088,15 +37131,16 @@ f64.const inf f64.const inf f64.neg - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2402 + i32.const 2229 i32.const 1 call $~lib/builtins/abort unreachable @@ -39105,7079 +37149,7465 @@ f64.neg f64.const inf f64.neg - f64.const nan:0x8000000000000 + f64.const inf + f64.neg f64.const 0 - global.get $std/math/INVALID - call $std/math/test_mod + i32.const 0 + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2403 + i32.const 2230 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.75 f64.const 0.5 - f64.const 0.25 + f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2404 + i32.const 2231 i32.const 1 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 1 - 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 1 - 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 2407 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 4503599627370496 - f64.reinterpret_i64 - i64.const 4503599627370496 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const 4503599627370496 - f64.reinterpret_i64 - i64.const -9218868437227405312 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const -9218868437227405312 - f64.reinterpret_i64 - i64.const 4503599627370496 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const -9218868437227405312 - f64.reinterpret_i64 - i64.const -9218868437227405312 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - 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 2417 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - f64.reinterpret_i64 - i64.const 4503599627370496 - f64.reinterpret_i64 - 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 1 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2421 + i32.const 2232 i32.const 1 call $~lib/builtins/abort unreachable - end - i64.const 0 - f64.reinterpret_i64 - i64.const -9218868437227405312 - f64.reinterpret_i64 - f64.const 0 + end + f64.const 1.75 + f64.const -0.5 + f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2422 + i32.const 2233 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - f64.const 0 + f64.const -1.75 + f64.const -0.5 + f64.const -1.75 f64.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_min i32.eqz if i32.const 0 i32.const 32 - i32.const 2423 + i32.const 2234 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - f64.reinterpret_i64 - i64.const 4503599627370496 - f64.reinterpret_i64 - f64.const -0 - f64.const 0 + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -8.066848754882812 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2424 + i32.const 2243 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - f64.const -0 - f64.const 0 + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const -8.887990951538086 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2425 + i32.const 2244 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - f64.reinterpret_i64 - i64.const -9218868437227405312 - f64.reinterpret_i64 - f64.const -0 - f64.const 0 + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -8.381433486938477 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2426 + i32.const 2245 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - f64.const -0 - f64.const 0 + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -6.531673431396484 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2427 + i32.const 2246 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const 9218868437227405310 - f64.reinterpret_i64 - i64.const 8980177656976769024 - f64.reinterpret_i64 - f64.const 0 + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 4.811392307281494 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2430 + i32.const 2247 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const 9218868437227405310 - f64.reinterpret_i64 - i64.const -243194379878006784 - f64.reinterpret_i64 - f64.const 0 + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -6.450045585632324 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2431 + i32.const 2248 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const -9007199254740992 - f64.reinterpret_i64 - i64.const 9214364837600034814 - f64.reinterpret_i64 - f64.const 0 + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 0.052154526114463806 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2433 + i32.const 2249 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const -9007199254740992 - f64.reinterpret_i64 - i64.const -9007199254740994 - f64.reinterpret_i64 - f64.const 0 + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2434 + i32.const 2250 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const 9214364837600034815 - f64.reinterpret_i64 - i64.const 0 - f64.reinterpret_i64 - f64.const 0 + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2436 + i32.const 2251 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const 9214364837600034815 - f64.reinterpret_i64 - i64.const -9223372036854775808 - f64.reinterpret_i64 - f64.const 0 + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.5587586760520935 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2437 + i32.const 2252 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const -9007199254740994 - f64.reinterpret_i64 - i64.const 8980177656976769024 - f64.reinterpret_i64 - f64.const 0 + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2439 + i32.const 2255 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const -9007199254740994 - f64.reinterpret_i64 - i64.const -243194379878006784 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2440 + i32.const 2256 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9214364837600034816 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const 9214364837600034816 - f64.reinterpret_i64 - f64.const 0 + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2442 + i32.const 2257 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9007199254740992 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const -9007199254740992 - f64.reinterpret_i64 - f64.const 0 + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2443 + i32.const 2258 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9214364837600034815 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const 9214364837600034815 - f64.reinterpret_i64 - f64.const 0 + f32.const 1 + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2445 + i32.const 2259 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9007199254740993 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const -9007199254740993 - f64.reinterpret_i64 - f64.const 0 + f32.const -1 + f32.const 1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2446 + i32.const 2260 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9214364837600034814 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const 9214364837600034814 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.const 1 + f32.const 1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2448 + i32.const 2261 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9007199254740994 - f64.reinterpret_i64 - i64.const 9218868437227405311 - f64.reinterpret_i64 - i64.const -9007199254740994 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.neg + f32.const 1 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2449 + i32.const 2262 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9218868437227405310 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const 9218868437227405310 - f64.reinterpret_i64 - f64.const 0 + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2451 + i32.const 2263 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4503599627370498 - f64.reinterpret_i64 - i64.const -4503599627370497 - f64.reinterpret_i64 - i64.const -4503599627370498 - f64.reinterpret_i64 - f64.const 0 + f32.const 0 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2452 + i32.const 2264 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9218868437227405310 - f64.reinterpret_i64 - i64.const 9214364837600034815 - f64.reinterpret_i64 - i64.const 9214364837600034813 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2454 + i32.const 2265 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4503599627370498 - f64.reinterpret_i64 - i64.const 9214364837600034815 - f64.reinterpret_i64 - i64.const -9007199254740995 - f64.reinterpret_i64 - f64.const 0 + f32.const 0.5 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2455 + i32.const 2266 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4620130267728707584 - f64.reinterpret_i64 - f64.const 1 - f64.const 0.5 - f64.const 0 + f32.const -0.5 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2457 + i32.const 2267 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4619004367821864960 - f64.reinterpret_i64 - f64.const 1 - f64.const 0.5 - f64.const 0 + f32.const 1 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2458 + i32.const 2268 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4617878467915022336 - f64.reinterpret_i64 - f64.const 1 - f64.const 0.5 - f64.const 0 + f32.const -1 + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2459 + i32.const 2269 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4616752568008179712 - f64.reinterpret_i64 - f64.const 1 - f64.const 0.5 - f64.const 0 + f32.const inf + f32.const -1 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2460 + i32.const 2270 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4603241769126068224 - f64.reinterpret_i64 - f64.const 1 - f64.const -0.5 - f64.const 0 + f32.const inf + f32.neg + f32.const -1 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2461 + i32.const 2271 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4604367669032910848 - f64.reinterpret_i64 - f64.const 1 - f64.const -0.5 - f64.const 0 + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2462 + i32.const 2272 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4605493568939753472 - f64.reinterpret_i64 - f64.const 1 - f64.const -0.5 - f64.const 0 + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2463 + i32.const 2273 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4606619468846596096 - f64.reinterpret_i64 - f64.const 1 - f64.const -0.5 - f64.const 0 + f32.const 0 + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2464 + i32.const 2274 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370492 - f64.reinterpret_i64 - i64.const 4503599627370494 - f64.reinterpret_i64 - i64.const 4503599627370492 - f64.reinterpret_i64 - f64.const 0 + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2466 + i32.const 2275 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370492 - f64.reinterpret_i64 - i64.const -9218868437227405314 - f64.reinterpret_i64 - i64.const 4503599627370492 - f64.reinterpret_i64 - f64.const 0 + f32.const 0 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2467 + i32.const 2276 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370495 - f64.reinterpret_i64 - i64.const 3 - f64.reinterpret_i64 - i64.const 0 - f64.reinterpret_i64 - f64.const 0 + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2468 + i32.const 2277 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370495 - f64.reinterpret_i64 - i64.const 9007199254740991 - f64.reinterpret_i64 - i64.const 4503599627370495 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const 0 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2469 + i32.const 2278 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370495 - f64.reinterpret_i64 - i64.const 9218868437227405312 - f64.reinterpret_i64 - i64.const 4503599627370495 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2470 + i32.const 2279 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370495 - f64.reinterpret_i64 - i64.const -9223372036854775805 - f64.reinterpret_i64 - i64.const 0 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const inf + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2471 + i32.const 2280 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370496 - f64.reinterpret_i64 - i64.const 3 - f64.reinterpret_i64 - i64.const 1 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2472 + i32.const 2281 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370496 - f64.reinterpret_i64 - i64.const 4503599627370494 - f64.reinterpret_i64 - i64.const 2 - f64.reinterpret_i64 - f64.const 0 + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2473 + i32.const 2282 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370496 - f64.reinterpret_i64 - i64.const 9007199254740991 - f64.reinterpret_i64 - i64.const 4503599627370496 - f64.reinterpret_i64 - f64.const 0 + f32.const 1 + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2474 + i32.const 2283 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370496 - f64.reinterpret_i64 - i64.const -9223372036854775805 - f64.reinterpret_i64 - i64.const 1 - f64.reinterpret_i64 - f64.const 0 + f32.const -1 + f32.const 0 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2475 + i32.const 2284 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370497 - f64.reinterpret_i64 - i64.const 4503599627370494 - f64.reinterpret_i64 - i64.const 3 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2476 + i32.const 2285 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370498 - f64.reinterpret_i64 - i64.const 3 - f64.reinterpret_i64 - i64.const 0 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.neg + f32.const 0 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2477 + i32.const 2286 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370498 - f64.reinterpret_i64 - i64.const -9223372036854775805 - f64.reinterpret_i64 - i64.const 0 - f64.reinterpret_i64 - f64.const 0 + f32.const nan:0x400000 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2478 + i32.const 2287 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370499 - f64.reinterpret_i64 - i64.const 3 - f64.reinterpret_i64 - i64.const 1 - f64.reinterpret_i64 - f64.const 0 + f32.const -1 + f32.const -0 + f32.const -1 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2479 + i32.const 2288 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370499 - f64.reinterpret_i64 - i64.const 4503599627370501 - f64.reinterpret_i64 - i64.const 4503599627370499 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.const -0 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2480 + i32.const 2289 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370499 - f64.reinterpret_i64 - i64.const -9223372036854775805 - f64.reinterpret_i64 - i64.const 1 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.neg + f32.const -0 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2481 + i32.const 2290 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370500 - f64.reinterpret_i64 - i64.const 4503599627370501 - f64.reinterpret_i64 - i64.const 4503599627370500 - f64.reinterpret_i64 - f64.const 0 + f32.const nan:0x400000 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2482 + i32.const 2291 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4503599627370502 - f64.reinterpret_i64 - i64.const 4503599627370501 - f64.reinterpret_i64 - i64.const 1 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.const 2 + f32.const 2 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2483 + i32.const 2292 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9007199254740991 - f64.reinterpret_i64 - i64.const 9007199254740992 - f64.reinterpret_i64 - i64.const 9007199254740991 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.const -0.5 + f32.const -0.5 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2484 + i32.const 2293 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 45035996273704959 - f64.reinterpret_i64 - i64.const 40532396646334464 - f64.reinterpret_i64 - i64.const 40532396646334462 - f64.reinterpret_i64 - f64.const 0 + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_mod + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2485 + i32.const 2294 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const -3.531186103820801 + f32.const inf + f32.neg + f32.const 2 + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2494 + i32.const 2295 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 4.345239639282227 + f32.const inf + f32.neg + f32.const -0.5 + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2495 + i32.const 2296 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - f32.const -0.09061169624328613 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2496 + i32.const 2297 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const -1.9641380310058594 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2497 + i32.const 2298 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 4.455665111541748 + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2498 + i32.const 2299 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - f32.const -0.49139970541000366 + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2499 + i32.const 2300 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 0.0357111394405365 + f32.const 1 + f32.const inf + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2500 + i32.const 2301 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const -0.7920545339584351 + f32.const -1 + f32.const inf + f32.const -1 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2501 + i32.const 2302 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.6157026886940002 + f32.const inf + f32.const inf + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2502 + i32.const 2303 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - f32.const -0.010681532323360443 + f32.const inf + f32.neg + f32.const inf + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2503 + i32.const 2304 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 f32.const 1 - f32.const 0 + f32.const inf + f32.neg + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2506 + i32.const 2305 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 1 - f32.const -0 + f32.const -1 + f32.const inf + f32.neg + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2507 + i32.const 2306 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 1 - f32.const 0.5 + f32.const inf + f32.const inf + f32.neg + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2508 + i32.const 2307 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 1 - f32.const -0.5 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2509 + i32.const 2308 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 - f32.const 0 + f32.const 1.75 + f32.const 0.5 + f32.const 0.5 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2510 + i32.const 2309 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 1 - f32.const -0 + f32.const -1.75 + f32.const 0.5 + f32.const -1.75 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2511 + i32.const 2310 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const 1 - f32.const 0.5 + f32.const 1.75 + f32.const -0.5 + f32.const -0.5 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2512 + i32.const 2311 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.5 - f32.const 1 + f32.const -1.75 f32.const -0.5 + f32.const -1.75 f32.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_minf i32.eqz if i32.const 0 i32.const 32 - i32.const 2513 + i32.const 2312 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2 - f32.const 1 - f32.const 0 - f32.const 0 + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const -3.531185829902812 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2514 + i32.const 2326 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2 - f32.const 1 - f32.const -0 - f32.const 0 + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 4.345239849338305 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2515 + i32.const 2327 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2516 + i32.const 2328 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2517 + i32.const 2329 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 4.45566488261279 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2518 + i32.const 2330 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -1 - f32.const 0 - f32.const 0 + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const -0.4913994250211714 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2519 + i32.const 2331 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -1 - f32.const -0 - f32.const 0 + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 0.035711240532359426 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2520 + i32.const 2332 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const -1 - f32.const 0.5 - f32.const 0 + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const -0.792054511984896 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2521 + i32.const 2333 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const -1 - f32.const -0.5 - f32.const 0 + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.615702673197924 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2522 + i32.const 2334 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const -1 - f32.const 0 - f32.const 0 + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const -0.0106815621160685 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2523 + i32.const 2335 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 - f32.const -0 - f32.const 0 + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2524 + i32.const 2338 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const -1 - f32.const 0.5 - f32.const 0 + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2525 + i32.const 2339 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.5 - f32.const -1 - f32.const -0.5 - f32.const 0 + f64.const 0.5 + f64.const 1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2526 + i32.const 2340 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2 - f32.const -1 - f32.const 0 - f32.const 0 + f64.const -0.5 + f64.const 1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2527 + i32.const 2341 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2 - f32.const -1 - f32.const -0 - f32.const 0 + f64.const 1 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2528 + i32.const 2342 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2529 + i32.const 2343 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2530 + i32.const 2344 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 + f64.const -1.5 + f64.const 1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2531 + i32.const 2345 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2532 + i32.const 2346 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2533 + i32.const 2347 i32.const 1 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 + f64.const inf + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2534 + i32.const 2348 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_modf + f64.const inf + f64.neg + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2535 + i32.const 2349 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2536 + i32.const 2350 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2537 + i32.const 2351 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2538 + i32.const 2352 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.const -0 - f32.const 0 + f64.const 0.5 + f64.const -1 + f64.const 0.5 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2539 + i32.const 2353 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const -0 - f32.const 0 + f64.const -0.5 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2540 + i32.const 2354 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 1 + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2541 + i32.const 2355 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2542 + i32.const 2356 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2543 + i32.const 2357 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2544 + i32.const 2358 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2545 + i32.const 2359 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 + f64.const -2 + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2546 + i32.const 2360 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2547 + i32.const 2361 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0 - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.neg + f64.const -1 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2548 + i32.const 2362 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2549 + i32.const 2363 i32.const 1 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 + f64.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2550 + i32.const 2364 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 + f64.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2551 + i32.const 2365 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2552 + i32.const 2366 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 0 + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2553 + i32.const 2367 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_modf + 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 2554 + i32.const 2368 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 + f64.const -0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2555 + i32.const 2369 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_modf + f64.const -0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2556 + i32.const 2370 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const -0 + f64.const inf + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2557 + i32.const 2371 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const -0 + f64.const inf + f64.neg + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2558 + i32.const 2372 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2559 + i32.const 2373 i32.const 1 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 + f64.const 1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2560 + i32.const 2374 i32.const 1 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 + f64.const -1 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2561 + i32.const 2375 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2562 + i32.const 2376 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.neg + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2563 + i32.const 2377 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - f32.neg - f32.const 1 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2564 + i32.const 2378 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const inf - f32.neg - f32.const -1 - f32.const 0 - i32.const 0 - call $std/math/test_modf + f64.const -1 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2565 + i32.const 2379 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2566 + i32.const 2380 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.neg + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 global.get $std/math/INVALID - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2567 + i32.const 2381 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.75 - f32.const 0.5 - f32.const 0.25 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2568 + i32.const 2382 i32.const 1 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 + f64.const inf + f64.const 2 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2569 + i32.const 2383 i32.const 1 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 + f64.const inf + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2570 + i32.const 2384 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.75 - f32.const -0.5 - f32.const -0.25 - f32.const 0 + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_modf + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2571 + i32.const 2385 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.06684839057968 - f64.const 4.535662560676869 + f64.const inf + f64.neg + f64.const 2 f64.const nan:0x8000000000000 f64.const 0 global.get $std/math/INVALID - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2583 + i32.const 2386 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 2.1347118825587285e-06 - f64.const 0.3250160217285156 - global.get $std/math/INEXACT - call $std/math/test_pow + f64.const inf + f64.neg + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2584 + i32.const 2387 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -2.763607337379588 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2585 + i32.const 2388 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 4.567535276842744 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2586 + i32.const 2389 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const 44909.29941512966 - f64.const -0.26659080386161804 - global.get $std/math/INEXACT - call $std/math/test_pow + 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 2587 + i32.const 2390 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 + f64.const -1 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2588 + i32.const 2391 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const 1.1135177413458652 - f64.const -0.37168607115745544 - global.get $std/math/INEXACT - call $std/math/test_pow + 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 2589 + i32.const 2392 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const nan:0x8000000000000 + f64.const -1 + f64.const inf + f64.const -1 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2590 + i32.const 2393 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.37690773521380183 - f64.const 0.32473301887512207 - global.get $std/math/INEXACT - call $std/math/test_pow + f64.const inf + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2591 + i32.const 2394 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 + f64.const inf + f64.neg + f64.const inf f64.const nan:0x8000000000000 f64.const 0 global.get $std/math/INVALID - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2592 + i32.const 2395 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + f64.const 1 + f64.const inf + f64.neg + f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2595 + i32.const 2396 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const -1 f64.const inf - f64.const 0 + f64.neg + f64.const -1 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2596 + i32.const 2397 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const inf + f64.const inf + f64.neg + f64.const nan:0x8000000000000 f64.const 0 - f64.const 3 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2597 + i32.const 2398 i32.const 1 call $~lib/builtins/abort unreachable end + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const nan:0x8000000000000 f64.const 0 - f64.const 2 - f64.const 0 - f64.const 0 - i32.const 0 - call $std/math/test_pow + global.get $std/math/INVALID + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2598 + i32.const 2399 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 1 - f64.const 0 + f64.const 1.75 + f64.const 0.5 + f64.const 0.25 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2599 + i32.const 2400 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const -1.75 f64.const 0.5 - f64.const 0 + f64.const -0.25 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2600 + i32.const 2401 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 1 + f64.const 1.75 + f64.const -0.5 + f64.const 0.25 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2601 + i32.const 2402 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const -0 - f64.const 1 + f64.const -1.75 + f64.const -0.5 + f64.const -0.25 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2602 + i32.const 2403 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const 4503599627370496 + f64.reinterpret_i64 + i64.const 4503599627370496 + f64.reinterpret_i64 f64.const 0 - f64.const -0.5 - f64.const inf f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2603 + i32.const 2406 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const 4503599627370496 + f64.reinterpret_i64 + i64.const -9218868437227405312 + f64.reinterpret_i64 f64.const 0 - f64.const -1 - f64.const inf f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2604 + i32.const 2407 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -9218868437227405312 + f64.reinterpret_i64 + i64.const 4503599627370496 + f64.reinterpret_i64 + f64.const -0 f64.const 0 - f64.const -2 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2605 + i32.const 2408 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -9218868437227405312 + f64.reinterpret_i64 + i64.const -9218868437227405312 + f64.reinterpret_i64 + f64.const -0 f64.const 0 - f64.const -3 - f64.const inf - f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2606 + i32.const 2409 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 f64.const 0 - f64.const -4 - f64.const inf f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2607 + i32.const 2410 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 f64.const 0 - f64.const inf - f64.neg - f64.const inf f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2608 + i32.const 2411 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2609 + i32.const 2412 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 f64.const -0 - f64.const inf - f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2610 + i32.const 2413 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 3 - f64.const -0 + i64.const 0 + f64.reinterpret_i64 + i64.const 4503599627370496 + f64.reinterpret_i64 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2611 + i32.const 2416 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 2 + i64.const 0 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2612 + i32.const 2417 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 1 - f64.const -0 + i64.const 0 + f64.reinterpret_i64 + i64.const -9218868437227405312 + f64.reinterpret_i64 + f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2613 + i32.const 2418 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 0.5 + i64.const 0 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 f64.const 0 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2614 + i32.const 2419 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -9223372036854775808 + f64.reinterpret_i64 + i64.const 4503599627370496 + f64.reinterpret_i64 f64.const -0 f64.const 0 - f64.const 1 - f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2615 + i32.const 2420 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -9223372036854775808 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 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 1 + call $~lib/builtins/abort + unreachable + end + i64.const -9223372036854775808 + f64.reinterpret_i64 + i64.const -9218868437227405312 + f64.reinterpret_i64 f64.const -0 - f64.const 1 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2616 + i32.const 2422 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -9223372036854775808 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 f64.const -0 - f64.const -0.5 - f64.const inf f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2617 + i32.const 2423 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -1 - f64.const inf - f64.neg + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const 9218868437227405310 + f64.reinterpret_i64 + i64.const 8980177656976769024 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2618 + i32.const 2426 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -2 - f64.const inf + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const 9218868437227405310 + f64.reinterpret_i64 + i64.const -243194379878006784 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2619 + i32.const 2427 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -3 - f64.const inf - f64.neg + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const -9007199254740992 + f64.reinterpret_i64 + i64.const 9214364837600034814 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2620 + i32.const 2429 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -4 - f64.const inf + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const -9007199254740992 + f64.reinterpret_i64 + i64.const -9007199254740994 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2621 + i32.const 2430 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf - f64.neg - f64.const inf + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const 9214364837600034815 + f64.reinterpret_i64 + i64.const 0 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2622 + i32.const 2432 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const 1 + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const 9214364837600034815 + f64.reinterpret_i64 + i64.const -9223372036854775808 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2623 + i32.const 2433 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 0 - f64.const 1 + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const -9007199254740994 + f64.reinterpret_i64 + i64.const 8980177656976769024 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2624 + i32.const 2435 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 0 - f64.const 1 + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const -9007199254740994 + f64.reinterpret_i64 + i64.const -243194379878006784 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2625 + i32.const 2436 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0 - f64.const 1 + i64.const 9214364837600034816 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const 9214364837600034816 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2626 + i32.const 2438 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 0 - f64.const 1 + i64.const -9007199254740992 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const -9007199254740992 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2627 + i32.const 2439 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const 0 - f64.const 1 + i64.const 9214364837600034815 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const 9214364837600034815 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2628 + i32.const 2441 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const 1 + i64.const -9007199254740993 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const -9007199254740993 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2629 + i32.const 2442 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -0 - f64.const 1 + i64.const 9214364837600034814 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const 9214364837600034814 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2630 + i32.const 2444 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -0 - f64.const 1 + i64.const -9007199254740994 + f64.reinterpret_i64 + i64.const 9218868437227405311 + f64.reinterpret_i64 + i64.const -9007199254740994 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2631 + i32.const 2445 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const -0 - f64.const 1 + i64.const 9218868437227405310 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const 9218868437227405310 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2632 + i32.const 2447 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -0 - f64.const 1 + i64.const -4503599627370498 + f64.reinterpret_i64 + i64.const -4503599627370497 + f64.reinterpret_i64 + i64.const -4503599627370498 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2633 + i32.const 2448 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const -0 - f64.const 1 + i64.const 9218868437227405310 + f64.reinterpret_i64 + i64.const 9214364837600034815 + f64.reinterpret_i64 + i64.const 9214364837600034813 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2634 + i32.const 2450 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + i64.const -4503599627370498 + f64.reinterpret_i64 + i64.const 9214364837600034815 + f64.reinterpret_i64 + i64.const -9007199254740995 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2635 + i32.const 2451 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const inf - f64.const nan:0x8000000000000 + i64.const 4620130267728707584 + f64.reinterpret_i64 + f64.const 1 + f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2636 + i32.const 2453 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const inf - f64.neg - f64.const nan:0x8000000000000 + i64.const 4619004367821864960 + f64.reinterpret_i64 + f64.const 1 + f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2637 + i32.const 2454 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 2 + i64.const 4617878467915022336 + f64.reinterpret_i64 f64.const 1 + f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2638 + i32.const 2455 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - f64.const -1 + i64.const 4616752568008179712 + f64.reinterpret_i64 + f64.const 1 + f64.const 0.5 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2639 + i32.const 2456 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -2 + i64.const -4603241769126068224 + f64.reinterpret_i64 f64.const 1 + f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2640 + i32.const 2457 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -3 - f64.const -1 + i64.const -4604367669032910848 + f64.reinterpret_i64 + f64.const 1 + f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2641 + i32.const 2458 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 0.5 - f64.const nan:0x8000000000000 + i64.const -4605493568939753472 + f64.reinterpret_i64 + f64.const 1 + f64.const -0.5 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2642 + i32.const 2459 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const -4606619468846596096 + f64.reinterpret_i64 f64.const 1 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + f64.const -0.5 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2643 + i32.const 2460 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf - f64.const nan:0x8000000000000 + i64.const 4503599627370492 + f64.reinterpret_i64 + i64.const 4503599627370494 + f64.reinterpret_i64 + i64.const 4503599627370492 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2644 + i32.const 2462 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf - f64.neg - f64.const nan:0x8000000000000 + i64.const 4503599627370492 + f64.reinterpret_i64 + i64.const -9218868437227405314 + f64.reinterpret_i64 + i64.const 4503599627370492 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2645 + i32.const 2463 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 3 - f64.const 1 + i64.const 4503599627370495 + f64.reinterpret_i64 + i64.const 3 + f64.reinterpret_i64 + i64.const 0 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2646 + i32.const 2464 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0.5 - f64.const 1 + i64.const 4503599627370495 + f64.reinterpret_i64 + i64.const 9007199254740991 + f64.reinterpret_i64 + i64.const 4503599627370495 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2647 + i32.const 2465 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const -0.5 - f64.const 1 + i64.const 4503599627370495 + f64.reinterpret_i64 + i64.const 9218868437227405312 + f64.reinterpret_i64 + i64.const 4503599627370495 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2648 + i32.const 2466 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const -3 - f64.const 1 + i64.const 4503599627370495 + f64.reinterpret_i64 + i64.const -9223372036854775805 + f64.reinterpret_i64 + i64.const 0 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2649 + i32.const 2467 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const 0.5 - f64.const nan:0x8000000000000 + i64.const 4503599627370496 + f64.reinterpret_i64 + i64.const 3 + f64.reinterpret_i64 + i64.const 1 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2650 + i32.const 2468 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const 1.5 - f64.const nan:0x8000000000000 + i64.const 4503599627370496 + f64.reinterpret_i64 + i64.const 4503599627370494 + f64.reinterpret_i64 + i64.const 2 + f64.reinterpret_i64 f64.const 0 - global.get $std/math/INVALID - call $std/math/test_pow + i32.const 0 + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2651 + i32.const 2469 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const 2 - f64.const 0.25 + i64.const 4503599627370496 + f64.reinterpret_i64 + i64.const 9007199254740991 + f64.reinterpret_i64 + i64.const 4503599627370496 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2652 + i32.const 2470 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const 3 - f64.const -0.125 + i64.const 4503599627370496 + f64.reinterpret_i64 + i64.const -9223372036854775805 + f64.reinterpret_i64 + i64.const 1 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2653 + i32.const 2471 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const inf - f64.const 0 + i64.const 4503599627370497 + f64.reinterpret_i64 + i64.const 4503599627370494 + f64.reinterpret_i64 + i64.const 3 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2654 + i32.const 2472 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const inf - f64.neg - f64.const inf + i64.const 4503599627370498 + f64.reinterpret_i64 + i64.const 3 + f64.reinterpret_i64 + i64.const 0 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2655 + i32.const 2473 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + i64.const 4503599627370498 + f64.reinterpret_i64 + i64.const -9223372036854775805 + f64.reinterpret_i64 + i64.const 0 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2656 + i32.const 2474 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const inf - f64.const 0 + i64.const 4503599627370499 + f64.reinterpret_i64 + i64.const 3 + f64.reinterpret_i64 + i64.const 1 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2657 + i32.const 2475 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const inf - f64.neg - f64.const inf + i64.const 4503599627370499 + f64.reinterpret_i64 + i64.const 4503599627370501 + f64.reinterpret_i64 + i64.const 4503599627370499 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2658 + i32.const 2476 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + i64.const 4503599627370499 + f64.reinterpret_i64 + i64.const -9223372036854775805 + f64.reinterpret_i64 + i64.const 1 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2659 + i32.const 2477 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const inf - f64.const inf + i64.const 4503599627370500 + f64.reinterpret_i64 + i64.const 4503599627370501 + f64.reinterpret_i64 + i64.const 4503599627370500 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2660 + i32.const 2478 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const inf - f64.neg - f64.const 0 + i64.const 4503599627370502 + f64.reinterpret_i64 + i64.const 4503599627370501 + f64.reinterpret_i64 + i64.const 1 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2661 + i32.const 2479 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + i64.const 9007199254740991 + f64.reinterpret_i64 + i64.const 9007199254740992 + f64.reinterpret_i64 + i64.const 9007199254740991 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2662 + i32.const 2480 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 + i64.const 45035996273704959 + f64.reinterpret_i64 + i64.const 40532396646334464 + f64.reinterpret_i64 + i64.const 40532396646334462 + f64.reinterpret_i64 f64.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_mod i32.eqz if i32.const 0 i32.const 32 - i32.const 2663 + i32.const 2481 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const inf - f64.const 0 + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const -3.531186103820801 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2664 + i32.const 2490 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.neg - f64.const 0 - f64.const 0 + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 4.345239639282227 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2665 + i32.const 2491 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 3 - f64.const inf - f64.const 0 + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const -0.09061169624328613 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2666 + i32.const 2492 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 2 - f64.const inf - f64.const 0 + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const -1.9641380310058594 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2667 + i32.const 2493 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 1 - f64.const inf - f64.const 0 + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 4.455665111541748 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2668 + i32.const 2494 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 0.5 - f64.const inf - f64.const 0 + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const -0.49139970541000366 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2669 + i32.const 2495 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -0.5 - f64.const 0 - f64.const 0 + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 0.0357111394405365 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2670 + i32.const 2496 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -1 - f64.const 0 - f64.const 0 + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const -0.7920545339584351 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2671 + i32.const 2497 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -2 - f64.const 0 - f64.const 0 + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.6157026886940002 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2672 + i32.const 2498 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const -0.010681532323360443 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2673 + i32.const 2499 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.const inf - f64.const 0 + f32.const 0 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2674 + i32.const 2502 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 - f64.const 0 + f32.const -0 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2675 + i32.const 2503 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 3 - f64.const inf - f64.neg - f64.const 0 + f32.const 0.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2676 + i32.const 2504 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 2 - f64.const inf - f64.const 0 + f32.const -0.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2677 + i32.const 2505 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 1 - f64.const inf - f64.neg - f64.const 0 + f32.const 1 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2678 + i32.const 2506 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 0.5 - f64.const inf - f64.const 0 + f32.const -1 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2679 + i32.const 2507 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -0.5 - f64.const 0 - f64.const 0 + f32.const 1.5 + f32.const 1 + f32.const 0.5 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2680 + i32.const 2508 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -1 - f64.const -0 - f64.const 0 + f32.const -1.5 + f32.const 1 + f32.const -0.5 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2681 + i32.const 2509 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -2 - f64.const 0 - f64.const 0 + f32.const 2 + f32.const 1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2682 + i32.const 2510 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const -2 + f32.const 1 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2683 + i32.const 2511 i32.const 1 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 + f32.const inf + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2684 + i32.const 2512 i32.const 1 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 + f32.const inf + f32.neg + f32.const 1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2685 + i32.const 2513 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2 - f64.const -1 - f64.const -0.5 - f64.const 0 + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_pow + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2686 + i32.const 2514 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2689 + i32.const 2515 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2690 + i32.const 2516 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2691 + i32.const 2517 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const -0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2692 + i32.const 2518 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2693 + i32.const 2519 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2694 + i32.const 2520 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2695 + i32.const 2521 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const 0 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2696 + i32.const 2522 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq + 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 2698 + i32.const 2523 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const -0 - f64.eq + 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 2699 + i32.const 2524 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const -1 - f64.eq + f32.const inf + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2700 + i32.const 2525 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq + f32.const inf + f32.neg + f32.const -1 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2701 + i32.const 2526 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 1 - call $~lib/math/NativeMath.pow - f64.const inf - f64.neg - f64.eq + 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 2702 + i32.const 2527 i32.const 1 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 + f32.const 0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2703 + i32.const 2528 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq + f32.const 0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2705 + i32.const 2529 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const inf - f64.neg - f64.eq + 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 2706 + i32.const 2530 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const -1 - f64.eq + f32.const 0 + f32.const inf + f32.neg + 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 2707 + i32.const 2531 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const 2 - f64.eq + 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 2708 + i32.const 2532 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + f32.const -0 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2709 + i32.const 2533 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq + f32.const -0 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2710 + i32.const 2534 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -1 - call $~lib/math/NativeMath.pow - f64.const -0 - f64.eq + 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 2711 + i32.const 2535 i32.const 1 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 + f32.const -0 + f32.const inf + f32.neg + 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 2712 + i32.const 2536 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq + 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 2714 + i32.const 2537 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq + f32.const 1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2715 + i32.const 2538 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + f32.const -1 + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2716 + i32.const 2539 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 0.25 - f64.eq + f32.const inf + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2717 + i32.const 2540 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + f32.const inf + f32.neg + f32.const 0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2718 + i32.const 2541 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq + 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 2719 + i32.const 2542 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 2 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq + f32.const -1 + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2720 + i32.const 2543 i32.const 1 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 + f32.const inf + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2721 + i32.const 2544 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq + f32.const inf + f32.neg + f32.const -0 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2723 + i32.const 2545 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 0 - f64.eq + 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 2724 + i32.const 2546 i32.const 1 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 + f32.const inf + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2725 + i32.const 2547 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 2 - f64.eq + f32.const inf + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2726 + i32.const 2548 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const 1 - f64.eq + 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 2727 + i32.const 2549 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq + f32.const inf + f32.neg + f32.const 2 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2728 + i32.const 2550 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 0.5 - call $~lib/math/NativeMath.pow - f64.const inf - f64.eq + f32.const inf + f32.neg + f32.const -0.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2729 + i32.const 2551 i32.const 1 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 + f32.const inf + f32.neg + 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 2730 + i32.const 2552 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const 4.535662651062012 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf + i32.const 0 + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2739 + i32.const 2553 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - f32.const 2.134714122803416e-06 - f32.const 0.1436440795660019 - global.get $std/math/INEXACT - call $std/math/test_powf + 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 2740 + i32.const 2554 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 + f32.const -1 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf + i32.const 0 + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2741 + i32.const 2555 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - f32.const nan:0x400000 + f32.const 1 + f32.const inf + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf + i32.const 0 + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2742 + i32.const 2556 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - f32.const 44909.33203125 - f32.const -0.05356409028172493 - global.get $std/math/INEXACT - call $std/math/test_powf + 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 2743 + i32.const 2557 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 + f32.const inf + f32.const inf f32.const nan:0x400000 f32.const 0 global.get $std/math/INVALID - call $std/math/test_powf + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2744 + i32.const 2558 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - f32.const 1.1135177612304688 - f32.const 0.19122089445590973 - global.get $std/math/INEXACT - call $std/math/test_powf + f32.const inf + f32.neg + f32.const inf + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2745 + i32.const 2559 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - f32.const nan:0x400000 + f32.const 1 + f32.const inf + f32.neg + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf + i32.const 0 + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2746 + i32.const 2560 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - f32.const 0.3769077658653259 - f32.const 0.337149053812027 - global.get $std/math/INEXACT - call $std/math/test_powf + f32.const -1 + f32.const inf + f32.neg + 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 2747 + i32.const 2561 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 + f32.const inf + f32.const inf + f32.neg f32.const nan:0x400000 f32.const 0 global.get $std/math/INVALID - call $std/math/test_powf + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2748 + i32.const 2562 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const nan:0x400000 + f32.const inf + f32.neg + f32.const inf + f32.neg f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_powf + global.get $std/math/INVALID + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2751 + i32.const 2563 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.const 0 + f32.const 1.75 + f32.const 0.5 + f32.const 0.25 f32.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2752 + i32.const 2564 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 3 - f32.const 0 + f32.const -1.75 + f32.const 0.5 + f32.const -0.25 f32.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2753 + i32.const 2565 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 2 - f32.const 0 + f32.const 1.75 + f32.const -0.5 + f32.const 0.25 f32.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2754 + i32.const 2566 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1 - f32.const 0 + f32.const -1.75 + f32.const -0.5 + f32.const -0.25 f32.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_modf i32.eqz if i32.const 0 i32.const 32 - i32.const 2755 + i32.const 2567 i32.const 1 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 + f64.const -8.06684839057968 + f64.const 4.535662560676869 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2756 + i32.const 2579 i32.const 1 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 + f64.const 4.345239849338305 + f64.const -8.88799136300345 + f64.const 2.1347118825587285e-06 + f64.const 0.3250160217285156 + global.get $std/math/INEXACT + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2757 + i32.const 2580 i32.const 1 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 + f64.const -8.38143342755525 + f64.const -2.763607337379588 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2758 + i32.const 2581 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -0.5 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf + f64.const -6.531673581913484 + f64.const 4.567535276842744 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2759 + i32.const 2582 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -1 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf + f64.const 9.267056966972586 + f64.const 4.811392084359796 + f64.const 44909.29941512966 + f64.const -0.26659080386161804 + global.get $std/math/INEXACT + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2760 + i32.const 2583 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -2 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf + f64.const -6.450045556060236 + f64.const 0.6620717923376739 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2761 + i32.const 2584 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -3 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf + f64.const 7.858890253041697 + f64.const 0.05215452675006225 + f64.const 1.1135177413458652 + f64.const -0.37168607115745544 + global.get $std/math/INEXACT + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2762 + i32.const 2585 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -4 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf + f64.const -0.792054511984896 + f64.const 7.67640268511754 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2763 + i32.const 2586 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf + f64.const 0.615702673197924 + f64.const 2.0119025790324803 + f64.const 0.37690773521380183 + f64.const 0.32473301887512207 + global.get $std/math/INEXACT + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2764 + i32.const 2587 i32.const 1 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 + f64.const -0.5587586823609152 + f64.const 0.03223983060263804 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2765 + i32.const 2588 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.const 0 - f32.const 0 + f64.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2766 + i32.const 2591 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 3 - f32.const -0 - f32.const 0 + f64.const 0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2767 + i32.const 2592 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 2 - f32.const 0 - f32.const 0 + f64.const 0 + f64.const 3 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2768 + i32.const 2593 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 + f64.const 0 + f64.const 2 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2769 + i32.const 2594 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 0.5 - f32.const 0 - f32.const 0 + f64.const 0 + f64.const 1 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2770 + i32.const 2595 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 0 - f32.const 1 - f32.const 0 + f64.const 0 + f64.const 0.5 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2771 + i32.const 2596 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const 1 - f32.const 0 + f64.const 0 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2772 + i32.const 2597 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0.5 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO - call $std/math/test_powf + 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 2773 + i32.const 2598 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -1 - f32.const inf - f32.neg - f32.const 0 + f64.const 0 + f64.const -0.5 + f64.const inf + f64.const 0 global.get $std/math/DIVBYZERO - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2774 + i32.const 2599 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -2 - f32.const inf - f32.const 0 + f64.const 0 + f64.const -1 + f64.const inf + f64.const 0 global.get $std/math/DIVBYZERO - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2775 + i32.const 2600 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -3 - f32.const inf - f32.neg - f32.const 0 + f64.const 0 + f64.const -2 + f64.const inf + f64.const 0 global.get $std/math/DIVBYZERO - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2776 + i32.const 2601 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -4 - f32.const inf - f32.const 0 + f64.const 0 + f64.const -3 + f64.const inf + f64.const 0 global.get $std/math/DIVBYZERO - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2777 + i32.const 2602 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf + f64.const 0 + f64.const -4 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2778 + i32.const 2603 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const 0 - f32.const 1 - f32.const 0 + f64.const 0 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2779 + i32.const 2604 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2780 + i32.const 2605 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2781 + i32.const 2606 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const 3 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2782 + i32.const 2607 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const 2 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2783 + i32.const 2608 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const 1 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2784 + i32.const 2609 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const -0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const 0.5 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2785 + i32.const 2610 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2786 + i32.const 2611 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -0 - f32.const 1 - f32.const 0 + f64.const -0 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2787 + i32.const 2612 i32.const 1 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 + f64.const -0 + f64.const -0.5 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2788 + i32.const 2613 i32.const 1 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 + f64.const -0 + f64.const -1 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2789 + i32.const 2614 i32.const 1 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 + f64.const -0 + f64.const -2 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2790 + i32.const 2615 i32.const 1 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 + f64.const -0 + f64.const -3 + f64.const inf + f64.neg + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2791 + i32.const 2616 i32.const 1 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 + f64.const -0 + f64.const -4 + f64.const inf + f64.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2792 + i32.const 2617 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 + f64.const -0 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2793 + i32.const 2618 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 2 - f32.const 1 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2794 + i32.const 2619 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 - f32.const -1 - f32.const 0 + f64.const inf + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2795 + i32.const 2620 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -2 - f32.const 1 - f32.const 0 + f64.const inf + f64.neg + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2796 + i32.const 2621 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -3 - f32.const -1 - f32.const 0 + f64.const 1 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2797 + i32.const 2622 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf + 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 2798 + i32.const 2623 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const -0.5 + f64.const 0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2799 + i32.const 2624 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - f32.const nan:0x400000 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2800 + i32.const 2625 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2801 + i32.const 2626 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 3 - f32.const 1 - f32.const 0 + f64.const inf + f64.neg + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2802 + i32.const 2627 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0.5 - f32.const 1 - f32.const 0 + f64.const 1 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2803 + i32.const 2628 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const -0.5 - f32.const 1 - f32.const 0 + f64.const -1 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2804 + i32.const 2629 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const -3 - f32.const 1 - f32.const 0 + f64.const -0.5 + f64.const -0 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2805 + i32.const 2630 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf + 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 2806 + i32.const 2631 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 1.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_powf + 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 2807 + i32.const 2632 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 2 - f32.const 0.25 - f32.const 0 + f64.const -1 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2808 + i32.const 2633 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 3 - f32.const -0.125 - f32.const 0 + f64.const -1 + f64.const 2 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2809 + i32.const 2634 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const inf - f32.const 0 - f32.const 0 + f64.const -1 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2810 + i32.const 2635 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const inf - f32.neg - f32.const inf - f32.const 0 + f64.const -1 + f64.const -2 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2811 + i32.const 2636 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const -1 + f64.const -3 + f64.const -1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2812 + i32.const 2637 i32.const 1 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 + f64.const -1 + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2813 + i32.const 2638 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const inf - f32.neg - f32.const inf - f32.const 0 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2814 + i32.const 2639 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 1 + f64.const inf + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2815 + i32.const 2640 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const inf - f32.const inf - f32.const 0 + f64.const 1 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2816 + i32.const 2641 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 + f64.const 1 + f64.const 3 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2817 + i32.const 2642 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 1 + f64.const 0.5 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2818 + i32.const 2643 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 1 + f64.const -0.5 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2819 + i32.const 2644 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const inf - f32.const 0 + f64.const 1 + f64.const -3 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2820 + i32.const 2645 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf + f64.const -0.5 + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2821 + i32.const 2646 i32.const 1 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 + f64.const -0.5 + f64.const 1.5 + f64.const nan:0x8000000000000 + f64.const 0 + global.get $std/math/INVALID + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2822 + i32.const 2647 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 2 - f32.const inf - f32.const 0 + f64.const -0.5 + f64.const 2 + f64.const 0.25 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2823 + i32.const 2648 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 1 - f32.const inf - f32.const 0 + f64.const -0.5 + f64.const 3 + f64.const -0.125 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2824 + i32.const 2649 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 0.5 - f32.const inf - f32.const 0 + f64.const -0.5 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2825 + i32.const 2650 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0.5 - f32.const 0 - f32.const 0 + f64.const -0.5 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2826 + i32.const 2651 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -1 - f32.const 0 - f32.const 0 + f64.const -0.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2827 + i32.const 2652 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -2 - f32.const 0 - f32.const 0 + f64.const 0.5 + f64.const inf + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2828 + i32.const 2653 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const 0.5 + f64.const inf + f64.neg + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2829 + i32.const 2654 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.const inf - f32.const 0 + f64.const 0.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2830 + i32.const 2655 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - f32.const 0 + f64.const 1.5 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2831 + i32.const 2656 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 3 - f32.const inf - f32.neg - f32.const 0 + f64.const 1.5 + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2832 + i32.const 2657 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 2 - f32.const inf - f32.const 0 + f64.const 1.5 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2833 + i32.const 2658 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 1 - f32.const inf - f32.neg - f32.const 0 + f64.const inf + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2834 + i32.const 2659 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0.5 - f32.const inf - f32.const 0 + f64.const inf + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2835 + i32.const 2660 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -0.5 - f32.const 0 - f32.const 0 + f64.const inf + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2836 + i32.const 2661 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -1 - f32.const -0 - f32.const 0 + f64.const inf + f64.const 3 + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2837 + i32.const 2662 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -2 - f32.const 0 - f32.const 0 + f64.const inf + f64.const 2 + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2838 + i32.const 2663 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const 1 - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.const 1 + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2839 + i32.const 2664 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.const 0.5 + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2840 + i32.const 2665 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2 - f32.const 1 - f32.const -2 - f32.const 0 + f64.const inf + f64.const -0.5 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2841 + i32.const 2666 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2 - f32.const -1 - f32.const -0.5 - f32.const 0 + f64.const inf + f64.const -1 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2842 + i32.const 2667 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 + f64.const inf + f64.const -2 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2845 + i32.const 2668 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 + f64.const inf + f64.neg + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2846 + i32.const 2669 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8388608 - f32.reinterpret_i32 - f32.const 1 - i32.const 8388608 - f32.reinterpret_i32 - f32.const 0 + f64.const inf + f64.neg + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2847 + i32.const 2670 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2139095040 - f32.reinterpret_i32 - f32.const 1 - i32.const -2139095040 - f32.reinterpret_i32 - f32.const 0 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2848 + i32.const 2671 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2139095039 - f32.reinterpret_i32 - f32.const 1 - i32.const 2139095039 - f32.reinterpret_i32 - f32.const 0 + f64.const inf + f64.neg + f64.const 3 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2849 + i32.const 2672 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -8388609 - f32.reinterpret_i32 - f32.const 1 - i32.const -8388609 - f32.reinterpret_i32 - f32.const 0 + f64.const inf + f64.neg + f64.const 2 + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2850 + i32.const 2673 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - i32.const 2139095039 - f32.reinterpret_i32 - f32.const 0 - f32.const 0 + f64.const inf + f64.neg + f64.const 1 + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2852 + i32.const 2674 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - i32.const 8388608 - f32.reinterpret_i32 - f32.const 0 - f32.const 0 + f64.const inf + f64.neg + f64.const 0.5 + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2853 + i32.const 2675 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - i32.const 2139095039 - f32.reinterpret_i32 - f32.const 0 - f32.const 0 + f64.const inf + f64.neg + f64.const -0.5 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2854 + i32.const 2676 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - i32.const 1099431936 - f32.reinterpret_i32 - f32.const -0 - f32.const 0 + f64.const inf + f64.neg + f64.const -1 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2855 + i32.const 2677 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 2 - f32.const 0 - f32.const 0 + f64.const inf + f64.neg + f64.const -2 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2856 + i32.const 2678 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - i32.const 8388608 - f32.reinterpret_i32 - f32.const 0 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const 1 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2857 + i32.const 2679 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1081291571 - f32.reinterpret_i32 - i32.const 1120534528 - f32.reinterpret_i32 - i32.const -965944620 - f32.reinterpret_i32 - i32.const -1097905258 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + 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 2859 + i32.const 2680 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1100480512 - f32.reinterpret_i32 - i32.const 1084227584 - f32.reinterpret_i32 - i32.const 1243029772 - f32.reinterpret_i32 - f32.const 0 + f64.const -2 + f64.const 1 + f64.const -2 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2861 + i32.const 2681 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1047003136 - f32.reinterpret_i32 - i32.const 1084227584 - f32.reinterpret_i32 - i32.const -904453876 - f32.reinterpret_i32 - f32.const 0 + f64.const -2 + f64.const -1 + f64.const -0.5 + f64.const 0 i32.const 0 - call $std/math/test_powf + call $std/math/test_pow i32.eqz if i32.const 0 i32.const 32 - i32.const 2862 + i32.const 2682 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1019150336 - f32.reinterpret_i32 - i32.const 1077936128 - f32.reinterpret_i32 - i32.const -891591550 - f32.reinterpret_i32 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.1 (result f64) + f64.const 0 + local.set $1 + f64.const 0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.1 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2863 + i32.const 2685 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -996794368 - f32.reinterpret_i32 - i32.const 1073741824 - f32.reinterpret_i32 - i32.const 1236275976 - f32.reinterpret_i32 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.2 (result f64) + f64.const -0 + local.set $1 + f64.const 0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.2 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2864 + i32.const 2686 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1089078126 - f32.reinterpret_i32 - i32.const 1099496040 - f32.reinterpret_i32 - i32.const 1477304923 - f32.reinterpret_i32 - i32.const -1105621615 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.3 (result f64) + f64.const -0 + local.set $1 + f64.const -0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.3 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2866 + i32.const 2687 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1100378008 - f32.reinterpret_i32 - i32.const 1079284384 - f32.reinterpret_i32 - i32.const 1183148212 - f32.reinterpret_i32 - i32.const 1050397989 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.4 (result f64) + f64.const 0 + local.set $1 + f64.const -0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.4 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2867 + i32.const 2688 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1089032095 - f32.reinterpret_i32 - i32.const 1092204185 - f32.reinterpret_i32 - i32.const 1295611234 - f32.reinterpret_i32 - i32.const -1109674586 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.5 (result f64) + f64.const -1 + local.set $1 + f64.const 0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.5 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2868 + i32.const 2689 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1098680439 - f32.reinterpret_i32 - i32.const 1100245042 - f32.reinterpret_i32 - i32.const 1684334277 - f32.reinterpret_i32 - i32.const 1035731698 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.6 (result f64) + f64.const inf + local.set $1 + f64.const 0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.6 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2869 + i32.const 2690 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1090853857 - f32.reinterpret_i32 - i32.const 1054272066 - f32.reinterpret_i32 - i32.const 1075559602 - f32.reinterpret_i32 - i32.const 1008617886 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.7 (result f64) + f64.const inf + f64.neg + local.set $1 + f64.const 0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.7 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2870 + i32.const 2691 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1085970832 - f32.reinterpret_i32 - i32.const 1093100817 - f32.reinterpret_i32 - i32.const 1287904676 - f32.reinterpret_i32 - i32.const -1162174975 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.8 (result f64) + f64.const nan:0x8000000000000 + local.set $1 + f64.const 0 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.8 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2871 + i32.const 2692 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1075485704 - f32.reinterpret_i32 - i32.const 1099495801 - f32.reinterpret_i32 - i32.const 1247602305 - f32.reinterpret_i32 - i32.const 1050126003 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 2872 + block $~lib/math/NativeMath.pow|inlined.9 (result f64) + f64.const 0 + local.set $1 + f64.const 1 + local.set $0 i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.9 end - i32.const 1025308839 - f32.reinterpret_i32 - i32.const 1010328623 - f32.reinterpret_i32 - i32.const 1064748518 - f32.reinterpret_i32 - i32.const -1091052619 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2873 + i32.const 2694 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1085163537 - f32.reinterpret_i32 - i32.const 1098713353 - f32.reinterpret_i32 - i32.const 1389090779 - f32.reinterpret_i32 - i32.const -1093771829 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.10 (result f64) + f64.const -0 + local.set $1 + f64.const 1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.10 + end + f64.const -0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2874 + i32.const 2695 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1095625895 - f32.reinterpret_i32 - i32.const 1097793372 - f32.reinterpret_i32 - i32.const 1527074508 - f32.reinterpret_i32 - i32.const 1037429592 - f32.reinterpret_i32 - global.get $std/math/INEXACT - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.11 (result f64) + f64.const -1 + local.set $1 + f64.const 1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.11 + end + f64.const -1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2875 + i32.const 2696 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.12 (result f64) + f64.const inf + local.set $1 + f64.const 1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.12 + end + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2877 + i32.const 2697 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.13 (result f64) + f64.const inf + f64.neg + local.set $1 + f64.const 1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.13 + end + f64.const inf + f64.neg + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2878 + i32.const 2698 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.14 (result f64) + f64.const nan:0x8000000000000 + local.set $1 + f64.const 1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.14 + end + local.tee $1 + local.get $1 + f64.ne i32.eqz if i32.const 0 i32.const 32 - i32.const 2879 + i32.const 2699 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.15 (result f64) + f64.const 0 + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.15 + end + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2880 + i32.const 2701 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - f32.reinterpret_i32 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.16 (result f64) + f64.const -0 + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.16 + end + f64.const inf + f64.neg + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2881 + i32.const 2702 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483647 - f32.reinterpret_i32 - f32.const 0 - f32.const 1 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.17 (result f64) + f64.const -1 + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.17 + end + f64.const -1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2882 + i32.const 2703 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.18 (result f64) + f64.const 0.5 + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.18 + end + f64.const 2 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2884 + i32.const 2704 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.19 (result f64) + f64.const 1 + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.19 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2885 + i32.const 2705 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.20 (result f64) + f64.const inf + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.20 + end + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2886 + i32.const 2706 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 1 - f32.const inf - f32.neg - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.21 (result f64) + f64.const inf + f64.neg + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.21 + end + f64.const -0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2887 + i32.const 2707 i32.const 1 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_powf + block $~lib/math/NativeMath.pow|inlined.22 (result f64) + f64.const nan:0x8000000000000 + local.set $1 + f64.const -1 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.22 + end + local.tee $1 + local.get $1 + f64.ne i32.eqz if i32.const 0 i32.const 32 - i32.const 2889 + i32.const 2708 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.23 (result f64) + f64.const 0 + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.23 + end + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2890 + i32.const 2710 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.24 (result f64) + f64.const -0 + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.24 + end + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2891 + i32.const 2711 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.25 (result f64) + f64.const -1 + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.25 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2892 + i32.const 2712 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.26 (result f64) + f64.const 0.5 + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.26 + end + f64.const 0.25 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2893 + i32.const 2713 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.27 (result f64) + f64.const 1 + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.27 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2894 + i32.const 2714 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.28 (result f64) + f64.const inf + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.28 + end + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2895 + i32.const 2715 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1065353217 - f32.reinterpret_i32 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.29 (result f64) + f64.const inf + f64.neg + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.29 + end + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2897 + i32.const 2716 i32.const 1 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 + block $~lib/math/NativeMath.pow|inlined.30 (result f64) + f64.const nan:0x8000000000000 + local.set $1 + f64.const 2 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.30 + end + local.tee $1 + local.get $1 + f64.ne i32.eqz if i32.const 0 i32.const 32 - i32.const 2898 + i32.const 2717 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1082130431 - f32.reinterpret_i32 - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.31 (result f64) + f64.const 0 + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.31 + end + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2899 + i32.const 2719 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.const inf - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.32 (result f64) + f64.const -0 + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.32 + end + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2900 + i32.const 2720 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1065353217 - f32.reinterpret_i32 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.33 (result f64) + f64.const -1 + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.33 + end + local.tee $1 + local.get $1 + f64.ne i32.eqz if i32.const 0 i32.const 32 - i32.const 2902 + i32.const 2721 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.34 (result f64) + f64.const 4 + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.34 + end + f64.const 2 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2903 + i32.const 2722 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1082130431 - f32.reinterpret_i32 - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.35 (result f64) + f64.const 1 + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.35 + end + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2904 + i32.const 2723 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.36 (result f64) + f64.const inf + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.36 + end + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2905 + i32.const 2724 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1065353215 - f32.reinterpret_i32 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.37 (result f64) + f64.const inf + f64.neg + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.37 + end + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 2907 + i32.const 2725 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - f32.reinterpret_i32 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 - call $std/math/test_powf + block $~lib/math/NativeMath.pow|inlined.38 (result f64) + f64.const nan:0x8000000000000 + local.set $1 + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + local.get $0 + call $~lib/util/math/pow64 + br $~lib/math/NativeMath.pow|inlined.38 + end + local.tee $1 + local.get $1 + f64.ne i32.eqz if i32.const 0 i32.const 32 - i32.const 2908 + i32.const 2726 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const -8.066848754882812 + f32.const 4.535662651062012 + f32.const nan:0x400000 f32.const 0 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2909 + i32.const 2735 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1082130433 - f32.reinterpret_i32 - f32.const inf - f32.const 0 - f32.const 0 - i32.const 0 + f32.const 4.345239639282227 + f32.const -8.887990951538086 + f32.const 2.134714122803416e-06 + f32.const 0.1436440795660019 + global.get $std/math/INEXACT call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2910 + i32.const 2736 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483647 - f32.reinterpret_i32 - f32.const inf - f32.const 0 + f32.const -8.381433486938477 + f32.const -2.7636072635650635 + f32.const nan:0x400000 f32.const 0 - i32.const 0 + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2911 + i32.const 2737 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.const 0 + f32.const -6.531673431396484 + f32.const 4.567535400390625 + f32.const nan:0x400000 f32.const 0 - i32.const 0 + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2912 + i32.const 2738 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - i32.const 1 - f32.reinterpret_i32 - f32.const 0 - f32.const 0 - i32.const 0 + f32.const 9.267057418823242 + f32.const 4.811392307281494 + f32.const 44909.33203125 + f32.const -0.05356409028172493 + global.get $std/math/INEXACT call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2914 + i32.const 2739 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - i32.const 1 - f32.reinterpret_i32 - f32.const 0 + f32.const -6.450045585632324 + f32.const 0.6620717644691467 + f32.const nan:0x400000 f32.const 0 - i32.const 0 + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2915 + i32.const 2740 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - i32.const -8388609 - f32.reinterpret_i32 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO + f32.const 7.858890056610107 + f32.const 0.052154526114463806 + f32.const 1.1135177612304688 + f32.const 0.19122089445590973 + global.get $std/math/INEXACT call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2917 + i32.const 2741 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const -0.7920545339584351 + f32.const 7.676402568817139 + f32.const nan:0x400000 f32.const 0 - i32.const -2147483647 - f32.reinterpret_i32 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2918 + i32.const 2742 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - i32.const -8388609 - f32.reinterpret_i32 - f32.const inf - f32.const 0 - global.get $std/math/DIVBYZERO + f32.const 0.6157026886940002 + f32.const 2.0119025707244873 + f32.const 0.3769077658653259 + f32.const 0.337149053812027 + global.get $std/math/INEXACT call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2919 + i32.const 2743 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -2 - f32.const inf + f32.const -0.5587586760520935 + f32.const 0.03223983198404312 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/DIVBYZERO + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2920 + i32.const 2744 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - i32.const -2147483647 - f32.reinterpret_i32 - f32.const inf f32.const 0 - global.get $std/math/DIVBYZERO + 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 2921 + i32.const 2747 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -1 + f32.const 0 f32.const inf - f32.neg f32.const 0 - global.get $std/math/DIVBYZERO + f32.const 0 + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2922 + i32.const 2748 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - i32.const -1048051712 - f32.reinterpret_i32 - f32.const inf - f32.neg f32.const 0 - global.get $std/math/DIVBYZERO + 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 2923 + i32.const 2749 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - i32.const 1 - f32.reinterpret_i32 - f32.const inf + f32.const 0 + f32.const 2 + f32.const 0 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46185,14 +44615,13 @@ if i32.const 0 i32.const 32 - i32.const 2925 + i32.const 2750 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - i32.const -2147483647 - f32.reinterpret_i32 + f32.const 0 + f32.const 1 f32.const 0 f32.const 0 i32.const 0 @@ -46201,16 +44630,14 @@ if i32.const 0 i32.const 32 - i32.const 2926 + i32.const 2751 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - i32.const 2139095039 - f32.reinterpret_i32 - f32.const inf + f32.const 0 + f32.const 0.5 + f32.const 0 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46218,16 +44645,14 @@ if i32.const 0 i32.const 32 - i32.const 2928 + i32.const 2752 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - i32.const 1 - f32.reinterpret_i32 - f32.const inf + f32.const 0 + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46235,16 +44660,14 @@ if i32.const 0 i32.const 32 - i32.const 2929 + i32.const 2753 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - i32.const -8388609 - f32.reinterpret_i32 f32.const 0 + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46252,101 +44675,89 @@ if i32.const 0 i32.const 32 - i32.const 2930 + i32.const 2754 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - i32.const -2147483647 - f32.reinterpret_i32 f32.const 0 + f32.const -0.5 + f32.const inf f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2931 + i32.const 2755 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 0 + f32.const -1 f32.const inf - f32.neg - i32.const 1084227584 - f32.reinterpret_i32 - f32.const inf - f32.neg f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2932 + i32.const 2756 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 0 + f32.const -2 f32.const inf - f32.neg - i32.const -1063256064 - f32.reinterpret_i32 - f32.const -0 f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2933 + i32.const 2757 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - i32.const 1086324736 - f32.reinterpret_i32 + f32.const 0 + f32.const -3 f32.const inf f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2934 + i32.const 2758 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - i32.const -1061158912 - f32.reinterpret_i32 f32.const 0 + f32.const -4 + f32.const inf f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2935 + i32.const 2759 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 0 f32.const inf f32.neg - i32.const 1073741825 - f32.reinterpret_i32 f32.const inf f32.const 0 i32.const 0 @@ -46355,68 +44766,59 @@ if i32.const 0 i32.const 32 - i32.const 2937 + i32.const 2760 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - i32.const 1065353217 - f32.reinterpret_i32 + f32.const -0 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2938 + i32.const 2761 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483647 - f32.reinterpret_i32 - i32.const -1073741825 - f32.reinterpret_i32 - f32.const nan:0x400000 + f32.const -0 + f32.const inf f32.const 0 - global.get $std/math/INVALID + f32.const 0 + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2939 + i32.const 2762 i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1054867456 - f32.reinterpret_i32 - i32.const 1134198784 - f32.reinterpret_i32 - f32.const inf - f32.neg + call $~lib/builtins/abort + unreachable + end + f32.const -0 + f32.const 3 + f32.const -0 f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/OVERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2941 + i32.const 2763 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0.5 - f32.const inf + f32.const -0 + f32.const 2 + f32.const 0 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46424,16 +44826,14 @@ if i32.const 0 i32.const 32 - i32.const 2942 + i32.const 2764 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 444596224 - f32.reinterpret_i32 + f32.const -0 + f32.const 1 + f32.const -0 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46441,16 +44841,14 @@ if i32.const 0 i32.const 32 - i32.const 2944 + i32.const 2765 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8 - f32.reinterpret_i32 + f32.const -0 f32.const 0.5 - i32.const 452984832 - f32.reinterpret_i32 + f32.const 0 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46458,16 +44856,14 @@ if i32.const 0 i32.const 32 - i32.const 2945 + i32.const 2766 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2097152 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 528482304 - f32.reinterpret_i32 + f32.const -0 + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46475,16 +44871,14 @@ if i32.const 0 i32.const 32 - i32.const 2946 + i32.const 2767 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4194304 - f32.reinterpret_i32 - f32.const -1 - i32.const 2130706432 - f32.reinterpret_i32 + f32.const -0 + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46492,101 +44886,92 @@ if i32.const 0 i32.const 32 - i32.const 2947 + i32.const 2768 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8388608 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 536870912 - f32.reinterpret_i32 + f32.const -0 + f32.const -0.5 + f32.const inf f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2948 + i32.const 2769 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8388608 - f32.reinterpret_i32 + f32.const -0 f32.const -1 - i32.const 2122317824 - f32.reinterpret_i32 + f32.const inf + f32.neg f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2949 + i32.const 2770 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 16777216 - f32.reinterpret_i32 - f32.const -1 - i32.const 2113929216 - f32.reinterpret_i32 + f32.const -0 + f32.const -2 + f32.const inf f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2950 + i32.const 2771 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25165824 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 545259520 - f32.reinterpret_i32 + f32.const -0 + f32.const -3 + f32.const inf + f32.neg f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2951 + i32.const 2772 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25165824 - f32.reinterpret_i32 - f32.const -1 - i32.const 2105540608 - f32.reinterpret_i32 + f32.const -0 + f32.const -4 + f32.const inf f32.const 0 - i32.const 0 + global.get $std/math/DIVBYZERO call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2952 + i32.const 2773 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 444596224 - f32.reinterpret_i32 - f32.const 2 - i32.const 2 - f32.reinterpret_i32 + f32.const -0 + f32.const inf + f32.neg + f32.const inf f32.const 0 i32.const 0 call $std/math/test_powf @@ -46594,16 +44979,14 @@ if i32.const 0 i32.const 32 - i32.const 2953 + i32.const 2774 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 545259520 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 805306368 - f32.reinterpret_i32 + f32.const nan:0x400000 + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46611,16 +44994,14 @@ if i32.const 0 i32.const 32 - i32.const 2954 + i32.const 2775 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 796917760 - f32.reinterpret_i32 - f32.const 2 - i32.const 528482304 - f32.reinterpret_i32 + f32.const inf + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46628,16 +45009,15 @@ if i32.const 0 i32.const 32 - i32.const 2955 + i32.const 2776 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 805306368 - f32.reinterpret_i32 - f32.const 2 - i32.const 545259520 - f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46645,16 +45025,14 @@ if i32.const 0 i32.const 32 - i32.const 2956 + i32.const 2777 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 872415232 - f32.reinterpret_i32 - f32.const -1 - i32.const 1258291200 - f32.reinterpret_i32 + f32.const 1 + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46662,16 +45040,14 @@ if i32.const 0 i32.const 32 - i32.const 2957 + i32.const 2778 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 940572672 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 1002438656 - f32.reinterpret_i32 + f32.const -1 + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46679,16 +45055,14 @@ if i32.const 0 i32.const 32 - i32.const 2958 + i32.const 2779 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 947912704 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 1006632960 - f32.reinterpret_i32 + f32.const -0.5 + f32.const 0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46696,16 +45070,14 @@ if i32.const 0 i32.const 32 - i32.const 2959 + i32.const 2780 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 998244352 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 1031798784 - f32.reinterpret_i32 + f32.const nan:0x400000 + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46713,16 +45085,14 @@ if i32.const 0 i32.const 32 - i32.const 2960 + i32.const 2781 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1024458752 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 1044381696 - f32.reinterpret_i32 + f32.const inf + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46730,14 +45100,15 @@ if i32.const 0 i32.const 32 - i32.const 2961 + i32.const 2782 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.0625 - f32.const 0.5 - f32.const 0.25 + f32.const inf + f32.neg + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46745,14 +45116,14 @@ if i32.const 0 i32.const 32 - i32.const 2962 + i32.const 2783 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.25 - f32.const 2 - f32.const 0.0625 + f32.const 1 + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46760,16 +45131,14 @@ if i32.const 0 i32.const 32 - i32.const 2963 + i32.const 2784 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2105540608 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 1585446912 - f32.reinterpret_i32 + f32.const -1 + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46777,16 +45146,14 @@ if i32.const 0 i32.const 32 - i32.const 2965 + i32.const 2785 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2105540608 - f32.reinterpret_i32 - f32.const -1 - i32.const 25165824 - f32.reinterpret_i32 + f32.const -0.5 + f32.const -0 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46794,15 +45161,14 @@ if i32.const 0 i32.const 32 - i32.const 2966 + i32.const 2786 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2113929216 - f32.reinterpret_i32 - f32.const inf - f32.const inf + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46810,16 +45176,14 @@ if i32.const 0 i32.const 32 - i32.const 2967 + i32.const 2787 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2113929216 - f32.reinterpret_i32 f32.const -1 - i32.const 16777216 - f32.reinterpret_i32 + f32.const inf + f32.const nan:0x400000 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46827,16 +45191,15 @@ if i32.const 0 i32.const 32 - i32.const 2968 + i32.const 2788 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2113929216 - f32.reinterpret_i32 + f32.const -1 f32.const inf f32.neg - f32.const 0 + f32.const nan:0x400000 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46844,16 +45207,14 @@ if i32.const 0 i32.const 32 - i32.const 2969 + i32.const 2789 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2122317824 - f32.reinterpret_i32 - f32.const 0.5 - i32.const 1593835520 - f32.reinterpret_i32 + f32.const -1 + f32.const 2 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46861,16 +45222,14 @@ if i32.const 0 i32.const 32 - i32.const 2970 + i32.const 2790 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2122317824 - f32.reinterpret_i32 f32.const -1 - i32.const 8388608 - f32.reinterpret_i32 + f32.const -1 + f32.const -1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46878,15 +45237,14 @@ if i32.const 0 i32.const 32 - i32.const 2971 + i32.const 2791 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2139095039 - f32.reinterpret_i32 - f32.const inf - f32.const inf + f32.const -1 + f32.const -2 + f32.const 1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46894,16 +45252,14 @@ if i32.const 0 i32.const 32 - i32.const 2973 + i32.const 2792 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2139095039 - f32.reinterpret_i32 - f32.const inf - f32.neg - f32.const 0 + f32.const -1 + f32.const -3 + f32.const -1 f32.const 0 i32.const 0 call $std/math/test_powf @@ -46911,4019 +45267,4417 @@ if i32.const 0 i32.const 32 - i32.const 2974 + i32.const 2793 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - f32.const -2 + f32.const -1 + f32.const 0.5 + f32.const nan:0x400000 f32.const 0 - i32.const -1962934272 - f32.reinterpret_i32 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2976 + i32.const 2794 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - i32.const -1069547520 - f32.reinterpret_i32 + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2977 + i32.const 2795 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - i32.const -1015087104 - f32.reinterpret_i32 + f32.const 1 + f32.const inf + f32.const nan:0x400000 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2978 + i32.const 2796 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - f32.const -256 + f32.const 1 + f32.const inf + f32.neg + f32.const nan:0x400000 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2979 + i32.const 2797 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - i32.const -1014988800 - f32.reinterpret_i32 + f32.const 1 + f32.const 3 + f32.const 1 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2980 + i32.const 2798 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - i32.const -1014890496 - f32.reinterpret_i32 + f32.const 1 + f32.const 0.5 + f32.const 1 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2981 + i32.const 2799 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - i32.const -1014857728 - f32.reinterpret_i32 + f32.const 1 + f32.const -0.5 + f32.const 1 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2982 + i32.const 2800 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - i32.const -956301824 - f32.reinterpret_i32 + f32.const 1 + f32.const -3 + f32.const 1 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2983 + i32.const 2801 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2130706432 - f32.reinterpret_i32 - f32.const -32768 + f32.const -0.5 + f32.const 0.5 + f32.const nan:0x400000 f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2984 + i32.const 2802 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2139095032 - f32.reinterpret_i32 - f32.const -1 - i32.const 2097153 - f32.reinterpret_i32 - i32.const -1258291196 - f32.reinterpret_i32 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + f32.const -0.5 + f32.const 1.5 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2985 + i32.const 2803 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2139095032 - f32.reinterpret_i32 - f32.const -2 + f32.const -0.5 + f32.const 2 + f32.const 0.25 f32.const 0 - i32.const -1979711480 - f32.reinterpret_i32 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2986 + i32.const 2804 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -16777216 - f32.reinterpret_i32 - i32.const -956301824 - f32.reinterpret_i32 - f32.const -0 + f32.const -0.5 + f32.const 3 + f32.const -0.125 f32.const 0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2988 + i32.const 2805 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -16777216 - f32.reinterpret_i32 - f32.const -32768 + f32.const -0.5 + f32.const inf f32.const 0 - f32.const -0 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + f32.const 0 + i32.const 0 call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 2989 + i32.const 2806 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -8388616 - f32.reinterpret_i32 - f32.const -1 - i32.const -2145386495 - f32.reinterpret_i32 - i32.const 889192452 - f32.reinterpret_i32 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + f32.const -0.5 + f32.const inf + f32.neg + 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 2990 + i32.const 2807 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -8388616 - f32.reinterpret_i32 - f32.const -2 - f32.const 0 - i32.const -1979711480 - f32.reinterpret_i32 - global.get $std/math/INEXACT - global.get $std/math/UNDERFLOW - i32.or + 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 2991 + i32.const 2808 i32.const 1 call $~lib/builtins/abort unreachable end - call $~lib/bindings/dom/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 3000 - i32.const 3 - 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/dom/Math.random - i64.reinterpret_f64 - local.set $3 - local.get $3 - call $~lib/math/NativeMath.seedRandom + f32.const 0.5 + f32.const inf + f32.const 0 + f32.const 0 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 3008 - i32.const 3 - 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 - global.get $std/math/INEXACT - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3022 + i32.const 2809 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const 4 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const 0.5 + f32.const inf + f32.neg + 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 3023 + i32.const 2810 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -8 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + 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 3024 + i32.const 2811 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const -7 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + 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 3025 + i32.const 2812 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 9 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const 1.5 + f32.const inf + f32.neg + 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 3026 + i32.const 2813 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6619858980995045 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + 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 3027 + i32.const 2814 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.4066039223853553 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + 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 3028 + i32.const 2815 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5617597462207241 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + 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 3029 + i32.const 2816 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.7741522965913037 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.const inf + f32.neg + 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 3030 + i32.const 2817 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.6787637026394024 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + 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 3031 + i32.const 2818 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const inf + f32.const 2 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3034 + i32.const 2819 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const 0 + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3035 + i32.const 2820 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const 0 + f32.const inf + f32.const 0.5 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3036 + i32.const 2821 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 0 + f32.const inf + f32.const -0.5 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3037 + i32.const 2822 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 + f32.const inf + f32.const -1 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3038 + i32.const 2823 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 1 - f64.const 0 + f32.const inf + f32.const -2 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3039 + i32.const 2824 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - f64.const 0 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3040 + i32.const 2825 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + 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 3041 + i32.const 2826 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + f32.const inf + f32.neg + 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 3042 + i32.const 2827 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const 2 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + f32.const 3 + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3043 + i32.const 2828 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.5 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + 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 3044 + i32.const 2829 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.0000152587890625 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + f32.const 1 + f32.const inf + f32.neg + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3045 + i32.const 2830 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.0000152587890625 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + 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 3046 + i32.const 2831 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9999923706054688 - f64.const 1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + 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 3047 + i32.const 2832 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.9999923706054688 - f64.const -1 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + 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 3048 + i32.const 2833 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.888609052210118e-31 - f64.const 0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + f32.const inf + f32.neg + 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 3049 + i32.const 2834 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -7.888609052210118e-31 - f64.const -0 - f64.const 0 - global.get $std/math/INEXACT - call $std/math/test_round + 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 3050 + i32.const 2835 i32.const 1 call $~lib/builtins/abort unreachable - end - f64.const 9007199254740990 - local.set $0 - local.get $0 - f64.ceil - local.set $5 - local.get $5 - local.get $5 - f64.const 1 - f64.sub - local.get $5 - f64.const 0.5 - f64.sub - local.get $0 - f64.le - select - f64.const 9007199254740990 - f64.eq - drop - f64.const -9007199254740990 - local.set $0 - local.get $0 - f64.ceil - local.set $5 - local.get $5 - local.get $5 - f64.const 1 - f64.sub - local.get $5 - f64.const 0.5 - f64.sub - local.get $0 - f64.le - select - f64.const -9007199254740990 - f64.eq - drop - f64.const 9007199254740991 - local.set $0 - local.get $0 - f64.ceil - local.set $5 - local.get $5 - local.get $5 - f64.const 1 - f64.sub - local.get $5 - f64.const 0.5 - f64.sub - local.get $0 - f64.le - select - f64.const 9007199254740991 - f64.eq - drop - f64.const -9007199254740991 - local.set $0 - local.get $0 - f64.ceil - local.set $5 - local.get $5 - local.get $5 - f64.const 1 - f64.sub - local.get $5 - f64.const 0.5 - f64.sub - local.get $0 - f64.le - select - f64.const -9007199254740991 - f64.eq - drop - f64.const -1797693134862315708145274e284 - local.set $0 - local.get $0 - f64.ceil - local.set $5 - local.get $5 - local.get $5 - f64.const 1 - f64.sub - local.get $5 - f64.const 0.5 - f64.sub - local.get $0 - f64.le - select - f64.const -1797693134862315708145274e284 - f64.eq - drop - f32.const -8.066848754882812 - f32.const -8 + end + f32.const nan:0x400000 + f32.const -1 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3065 + i32.const 2836 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 4.345239639282227 - f32.const 4 + f32.const -2 + f32.const 1 + f32.const -2 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3066 + i32.const 2837 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.381433486938477 - f32.const -8 + f32.const -2 + f32.const -1 + f32.const -0.5 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3067 + i32.const 2838 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -6.531673431396484 - f32.const -7 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + 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 3068 + i32.const 2841 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 9.267057418823242 - f32.const 9 + f32.const -0 + f32.const 1 + f32.const -0 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3069 + i32.const 2842 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.6619858741760254 + i32.const 8388608 + f32.reinterpret_i32 f32.const 1 + i32.const 8388608 + f32.reinterpret_i32 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3070 + i32.const 2843 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.40660393238067627 - f32.const -0 + i32.const -2139095040 + f32.reinterpret_i32 + f32.const 1 + i32.const -2139095040 + f32.reinterpret_i32 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3071 + i32.const 2844 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5617597699165344 + i32.const 2139095039 + f32.reinterpret_i32 f32.const 1 + i32.const 2139095039 + f32.reinterpret_i32 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3072 + i32.const 2845 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.7741522789001465 + i32.const -8388609 + f32.reinterpret_i32 f32.const 1 + i32.const -8388609 + f32.reinterpret_i32 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3073 + i32.const 2846 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.6787636876106262 - f32.const -1 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 2139095039 + f32.reinterpret_i32 + 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 3074 + i32.const 2848 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const 0 + i32.const 8388608 + f32.reinterpret_i32 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3077 + i32.const 2849 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf + f32.const -0 + i32.const 2139095039 + f32.reinterpret_i32 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3078 + i32.const 2850 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg + f32.const -0 + i32.const 1099431936 + f32.reinterpret_i32 + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3079 + i32.const 2851 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 + f32.const -0 + f32.const 2 f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3080 + i32.const 2852 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - f32.const -0 + i32.const 8388608 + f32.reinterpret_i32 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3081 + i32.const 2853 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 + i32.const -1081291571 + f32.reinterpret_i32 + i32.const 1120534528 + f32.reinterpret_i32 + i32.const -965944620 + f32.reinterpret_i32 + i32.const -1097905258 + f32.reinterpret_i32 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2855 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1100480512 + f32.reinterpret_i32 + i32.const 1084227584 + f32.reinterpret_i32 + i32.const 1243029772 + f32.reinterpret_i32 f32.const 0 i32.const 0 - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3082 + i32.const 2857 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 + i32.const -1047003136 + f32.reinterpret_i32 + i32.const 1084227584 + f32.reinterpret_i32 + i32.const -904453876 + f32.reinterpret_i32 f32.const 0 i32.const 0 - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3083 + i32.const 2858 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 1 + i32.const -1019150336 + f32.reinterpret_i32 + i32.const 1077936128 + f32.reinterpret_i32 + i32.const -891591550 + f32.reinterpret_i32 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3084 + i32.const 2859 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const -0 + i32.const -996794368 + f32.reinterpret_i32 + i32.const 1073741824 + f32.reinterpret_i32 + i32.const 1236275976 + f32.reinterpret_i32 f32.const 0 + i32.const 0 + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2860 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1089078126 + f32.reinterpret_i32 + i32.const 1099496040 + f32.reinterpret_i32 + i32.const 1477304923 + f32.reinterpret_i32 + i32.const -1105621615 + f32.reinterpret_i32 global.get $std/math/INEXACT - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3085 + i32.const 2862 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.5 - f64.const 2 - f64.const 0 + i32.const 1100378008 + f32.reinterpret_i32 + i32.const 1079284384 + f32.reinterpret_i32 + i32.const 1183148212 + f32.reinterpret_i32 + i32.const 1050397989 + f32.reinterpret_i32 global.get $std/math/INEXACT - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3086 + i32.const 2863 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.5 - f64.const -1 - f64.const 0 + i32.const 1089032095 + f32.reinterpret_i32 + i32.const 1092204185 + f32.reinterpret_i32 + i32.const 1295611234 + f32.reinterpret_i32 + i32.const -1109674586 + f32.reinterpret_i32 global.get $std/math/INEXACT - call $std/math/test_round + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3087 + i32.const 2864 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.0000152587890625 - f32.const 1 - f32.const 0 + i32.const 1098680439 + f32.reinterpret_i32 + i32.const 1100245042 + f32.reinterpret_i32 + i32.const 1684334277 + f32.reinterpret_i32 + i32.const 1035731698 + f32.reinterpret_i32 global.get $std/math/INEXACT - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3088 + i32.const 2865 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.0000152587890625 - f32.const -1 - f32.const 0 + i32.const 1090853857 + f32.reinterpret_i32 + i32.const 1054272066 + f32.reinterpret_i32 + i32.const 1075559602 + f32.reinterpret_i32 + i32.const 1008617886 + f32.reinterpret_i32 global.get $std/math/INEXACT - call $std/math/test_roundf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3089 + i32.const 2866 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.9999923706054688 + i32.const 1085970832 + f32.reinterpret_i32 + i32.const 1093100817 + f32.reinterpret_i32 + i32.const 1287904676 + f32.reinterpret_i32 + i32.const -1162174975 + f32.reinterpret_i32 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2867 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1075485704 + f32.reinterpret_i32 + i32.const 1099495801 + f32.reinterpret_i32 + i32.const 1247602305 + f32.reinterpret_i32 + i32.const 1050126003 + f32.reinterpret_i32 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2868 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1025308839 + f32.reinterpret_i32 + i32.const 1010328623 + f32.reinterpret_i32 + i32.const 1064748518 + f32.reinterpret_i32 + i32.const -1091052619 + f32.reinterpret_i32 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2869 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1085163537 + f32.reinterpret_i32 + i32.const 1098713353 + f32.reinterpret_i32 + i32.const 1389090779 + f32.reinterpret_i32 + i32.const -1093771829 + f32.reinterpret_i32 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2870 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1095625895 + f32.reinterpret_i32 + i32.const 1097793372 + f32.reinterpret_i32 + i32.const 1527074508 + f32.reinterpret_i32 + i32.const 1037429592 + f32.reinterpret_i32 + global.get $std/math/INEXACT + call $std/math/test_powf + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2871 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const nan:0x400000 + f32.const 0 f32.const 1 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3090 + i32.const 2873 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.9999923706054688 - f32.const -1 + f32.const nan:0x400000 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + 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 3091 + i32.const 2874 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 7.888609052210118e-31 + f32.const inf f32.const 0 + f32.const 1 f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3092 + i32.const 2875 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -7.888609052210118e-31 - f32.const -0 + f32.const inf + f32.neg f32.const 0 - global.get $std/math/INEXACT - call $std/math/test_roundf + 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 3093 + i32.const 2876 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const 0 + i32.const 1 + f32.reinterpret_i32 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3104 + i32.const 2877 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const 0 + i32.const -2147483647 + f32.reinterpret_i32 + f32.const 0 + f32.const 1 + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3105 + i32.const 2878 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 1 - f64.const 0 + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3106 + i32.const 2880 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2 - f64.const 1 - f64.const 0 + f32.const nan:0x400000 + f32.const 1 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3107 + i32.const 2881 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - f64.const 0 + f32.const inf + f32.const 1 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3108 + i32.const 2882 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2 - f64.const -1 - f64.const 0 + f32.const inf + f32.neg + f32.const 1 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3109 + i32.const 2883 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 1 - f64.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3110 + i32.const 2885 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -1 - f64.const 0 + f32.const inf + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3111 + i32.const 2886 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const inf + f32.neg + f32.const nan:0x400000 + f32.const nan:0x400000 + f32.const 0 i32.const 0 - call $std/math/test_sign + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3112 + i32.const 2887 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 + f32.const 1 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3120 + i32.const 2888 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 + f32.const -1 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3121 + i32.const 2889 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 + f32.const -0 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3122 + i32.const 2890 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2 - f32.const 1 + f32.const 0 + f32.const nan:0x400000 + f32.const nan:0x400000 f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3123 + i32.const 2891 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 + i32.const 1065353217 + f32.reinterpret_i32 + f32.const inf + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3124 + i32.const 2893 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2 - f32.const -1 + f32.const inf + f32.const inf + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3125 + i32.const 2894 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const -1082130431 + f32.reinterpret_i32 + f32.const inf f32.const inf - f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3126 + i32.const 2895 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.neg - f32.const -1 + f32.const inf + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3127 + i32.const 2896 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 + i32.const 1065353217 + f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_signf + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3128 + i32.const 2898 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop - f64.const -0 - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop - f64.const 1 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop - f64.const -1 - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop - f64.const nan:0x8000000000000 - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop - f64.const nan:0x8000000000000 - f64.neg - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop - f64.const inf - local.set $0 - local.get $0 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop - f64.const inf - f64.neg - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop - f32.const 0 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop - f32.const -0 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop - f32.const 1 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop - f32.const -1 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop - f32.const nan:0x400000 - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop - f32.const nan:0x400000 - f32.neg - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop f32.const inf - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 0 - i32.eq - drop f32.const inf f32.neg - local.set $4 - local.get $4 - i32.reinterpret_f32 - i32.const 31 - i32.shr_u - i32.const 0 - i32.ne - i32.const 1 - i32.eq - drop - f64.const -8.06684839057968 - f64.const 4.535662560676869 - f64.const 1.0044767307740567 - f64.const 0 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3165 + i32.const 2899 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - f64.const 4.345239849338305 - f64.const 0 + i32.const -1082130431 + f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3166 + i32.const 2900 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - f64.const -0.09061141541648476 - f64.const 0 + f32.const inf + f32.neg + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3167 + i32.const 2901 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - f64.const -1.9641383050707404 - f64.const 0 + i32.const 1065353215 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3168 + i32.const 2903 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - f64.const -0.35572720174700656 - f64.const 0 + i32.const 1 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3169 + i32.const 2904 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - f64.const 0.17067236731650248 - f64.const 0 + f32.const 0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3170 + i32.const 2905 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - f64.const -0.016443286217702822 - f64.const 0 + i32.const -1082130433 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3171 + i32.const 2906 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - f64.const -0.792054511984896 - f64.const 0 + i32.const -2147483647 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3172 + i32.const 2907 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - f64.const 0.615702673197924 - f64.const 0 + f32.const -0 + f32.const inf + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3173 + i32.const 2908 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - f64.const -0.0106815621160685 - f64.const 0 + f32.const 0 + i32.const 1 + f32.reinterpret_i32 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3174 + i32.const 2910 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 1 - f64.const 0 - f64.const 0 + f32.const -0 + i32.const 1 + f32.reinterpret_i32 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3177 + i32.const 2911 i32.const 1 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 + f32.const 0 + i32.const -8388609 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3178 + i32.const 2913 i32.const 1 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 + f32.const 0 + i32.const -2147483647 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3179 + i32.const 2914 i32.const 1 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 + f32.const -0 + i32.const -8388609 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3180 + i32.const 2915 i32.const 1 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 + f32.const -0 + f32.const -2 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3181 + i32.const 2916 i32.const 1 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 + f32.const -0 + i32.const -2147483647 + f32.reinterpret_i32 + f32.const inf + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3182 + i32.const 2917 i32.const 1 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 + f32.const -0 + f32.const -1 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3183 + i32.const 2918 i32.const 1 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 + f32.const -0 + i32.const -1048051712 + f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/DIVBYZERO + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3184 + i32.const 2919 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2 - f64.const 1 - f64.const 0 - f64.const 0 + f32.const inf + i32.const 1 + f32.reinterpret_i32 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3185 + i32.const 2921 i32.const 1 call $~lib/builtins/abort unreachable - end - f64.const -2 - f64.const 1 - f64.const -0 - f64.const 0 + end + f32.const inf + i32.const -2147483647 + f32.reinterpret_i32 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3186 + i32.const 2922 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + f32.const inf + f32.neg + i32.const 2139095039 + f32.reinterpret_i32 + 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 3187 + i32.const 2924 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + f32.const inf + f32.neg + i32.const 1 + f32.reinterpret_i32 + 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 3188 + i32.const 2925 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const 1 - f64.const nan:0x8000000000000 - f64.const 0 + f32.const inf + f32.neg + i32.const -8388609 + f32.reinterpret_i32 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3189 + i32.const 2926 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const -1 - f64.const 0 - f64.const 0 + f32.const inf + f32.neg + i32.const -2147483647 + f32.reinterpret_i32 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3190 + i32.const 2927 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -1 - f64.const -0 - f64.const 0 + f32.const inf + f32.neg + i32.const 1084227584 + f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3191 + i32.const 2928 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - f64.const -1 - f64.const 0.5 - f64.const 0 + f32.const inf + f32.neg + i32.const -1063256064 + f32.reinterpret_i32 + f32.const -0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3192 + i32.const 2929 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.5 - f64.const -1 - f64.const -0.5 - f64.const 0 + f32.const inf + f32.neg + i32.const 1086324736 + f32.reinterpret_i32 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3193 + i32.const 2930 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const -1 - f64.const 0 - f64.const 0 + f32.const inf + f32.neg + i32.const -1061158912 + f32.reinterpret_i32 + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3194 + i32.const 2931 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -1 - f64.const -0 - f64.const 0 + f32.const inf + f32.neg + i32.const 1073741825 + f32.reinterpret_i32 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3195 + i32.const 2933 i32.const 1 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 + f32.const -1 + i32.const 1065353217 + f32.reinterpret_i32 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3196 + i32.const 2934 i32.const 1 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.const -2147483647 + f32.reinterpret_i32 + i32.const -1073741825 + f32.reinterpret_i32 + f32.const nan:0x400000 + f32.const 0 + global.get $std/math/INVALID + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3197 + i32.const 2935 i32.const 1 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.const -1054867456 + f32.reinterpret_i32 + i32.const 1134198784 + f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/OVERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3198 + i32.const 2937 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2 - f64.const -1 - f64.const -0 - f64.const 0 + f32.const inf + f32.neg + f32.const 0.5 + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3199 + i32.const 2938 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 444596224 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3200 + i32.const 2940 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 8 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 452984832 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3201 + i32.const 2941 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const -1 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 2097152 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 528482304 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3202 + i32.const 2942 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 4194304 + f32.reinterpret_i32 + f32.const -1 + i32.const 2130706432 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3203 + i32.const 2943 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 8388608 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 536870912 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3204 + i32.const 2944 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const inf - f64.const 0 - f64.const 0 + i32.const 8388608 + f32.reinterpret_i32 + f32.const -1 + i32.const 2122317824 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3205 + i32.const 2945 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const inf - f64.neg - f64.const 0 - f64.const 0 + i32.const 16777216 + f32.reinterpret_i32 + f32.const -1 + i32.const 2113929216 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3206 + i32.const 2946 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 25165824 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 545259520 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3207 + i32.const 2947 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 25165824 + f32.reinterpret_i32 + f32.const -1 + i32.const 2105540608 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3208 + i32.const 2948 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 444596224 + f32.reinterpret_i32 + f32.const 2 + i32.const 2 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3209 + i32.const 2949 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf - f64.const -0 - f64.const 0 + i32.const 545259520 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 805306368 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3210 + i32.const 2950 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const inf - f64.neg - f64.const -0 - f64.const 0 + i32.const 796917760 + f32.reinterpret_i32 + f32.const 2 + i32.const 528482304 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3211 + i32.const 2951 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 805306368 + f32.reinterpret_i32 + f32.const 2 + i32.const 545259520 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3212 + i32.const 2952 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 872415232 + f32.reinterpret_i32 + f32.const -1 + i32.const 1258291200 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3213 + i32.const 2953 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 940572672 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 1002438656 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3214 + i32.const 2954 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 947912704 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 1006632960 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3215 + i32.const 2955 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 998244352 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 1031798784 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3216 + i32.const 2956 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const 0 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 1024458752 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 1044381696 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3217 + i32.const 2957 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + f32.const 0.0625 + f32.const 0.5 + 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 3218 + i32.const 2958 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + f32.const 0.25 + f32.const 2 + f32.const 0.0625 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3219 + i32.const 2959 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2105540608 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 1585446912 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3220 + i32.const 2961 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const -0 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 2105540608 + f32.reinterpret_i32 + f32.const -1 + i32.const 25165824 + f32.reinterpret_i32 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3221 + i32.const 2962 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2113929216 + f32.reinterpret_i32 + 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 3222 + i32.const 2963 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2113929216 + f32.reinterpret_i32 + f32.const -1 + i32.const 16777216 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3223 + i32.const 2964 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 2113929216 + f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3224 + i32.const 2965 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const 2 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2122317824 + f32.reinterpret_i32 + f32.const 0.5 + i32.const 1593835520 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3225 + i32.const 2966 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const -0.5 - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2122317824 + f32.reinterpret_i32 + f32.const -1 + i32.const 8388608 + f32.reinterpret_i32 + f32.const 0 + i32.const 0 + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3226 + i32.const 2967 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 2139095039 + f32.reinterpret_i32 + f32.const inf + f32.const inf + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3227 + i32.const 2969 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - f64.const 0 + i32.const 2139095039 + f32.reinterpret_i32 + f32.const inf + f32.neg + f32.const 0 + f32.const 0 i32.const 0 - call $std/math/test_rem + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3228 + i32.const 2970 i32.const 1 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.const 2130706432 + f32.reinterpret_i32 + f32.const -2 + f32.const 0 + i32.const -1962934272 + f32.reinterpret_i32 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3229 + i32.const 2972 i32.const 1 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.const 2130706432 + f32.reinterpret_i32 + i32.const -1069547520 + f32.reinterpret_i32 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3230 + i32.const 2973 i32.const 1 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.const 2130706432 + f32.reinterpret_i32 + i32.const -1015087104 + f32.reinterpret_i32 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3231 + i32.const 2974 i32.const 1 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.const 2130706432 + f32.reinterpret_i32 + f32.const -256 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3232 + i32.const 2975 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2130706432 + f32.reinterpret_i32 + i32.const -1014988800 + f32.reinterpret_i32 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3233 + i32.const 2976 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2130706432 + f32.reinterpret_i32 + i32.const -1014890496 + f32.reinterpret_i32 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3234 + i32.const 2977 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const inf - f64.neg - f64.const 1 - f64.const 0 - i32.const 0 - call $std/math/test_rem + i32.const 2130706432 + f32.reinterpret_i32 + i32.const -1014857728 + f32.reinterpret_i32 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3235 + i32.const 2978 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - f64.const inf - f64.neg - f64.const -1 - f64.const 0 - i32.const 0 - call $std/math/test_rem + i32.const 2130706432 + f32.reinterpret_i32 + i32.const -956301824 + f32.reinterpret_i32 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3236 + i32.const 2979 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2130706432 + f32.reinterpret_i32 + f32.const -32768 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3237 + i32.const 2980 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - f64.const inf - f64.neg - f64.const nan:0x8000000000000 - f64.const 0 - global.get $std/math/INVALID - call $std/math/test_rem + i32.const 2139095032 + f32.reinterpret_i32 + f32.const -1 + i32.const 2097153 + f32.reinterpret_i32 + i32.const -1258291196 + f32.reinterpret_i32 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3238 + i32.const 2981 i32.const 1 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.const 2139095032 + f32.reinterpret_i32 + f32.const -2 + f32.const 0 + i32.const -1979711480 + f32.reinterpret_i32 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3239 + i32.const 2982 i32.const 1 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.const -16777216 + f32.reinterpret_i32 + i32.const -956301824 + f32.reinterpret_i32 + f32.const -0 + f32.const 0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3240 + i32.const 2984 i32.const 1 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.const -16777216 + f32.reinterpret_i32 + f32.const -32768 + f32.const 0 + f32.const -0 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3241 + i32.const 2985 i32.const 1 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.const -8388616 + f32.reinterpret_i32 + f32.const -1 + i32.const -2145386495 + f32.reinterpret_i32 + i32.const 889192452 + f32.reinterpret_i32 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3242 + i32.const 2986 i32.const 1 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.const -8388616 + f32.reinterpret_i32 + f32.const -2 + f32.const 0 + i32.const -1979711480 + f32.reinterpret_i32 + global.get $std/math/INEXACT + global.get $std/math/UNDERFLOW + i32.or + call $std/math/test_powf i32.eqz if i32.const 0 i32.const 32 - i32.const 3243 + i32.const 2987 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - f32.const 1.004476547241211 - f32.const 0 + call $~lib/bindings/dom/Math.random + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom i32.const 0 - call $std/math/test_remf + local.set $2 + loop $for-loop|0 + local.get $2 + f64.convert_i32_s + f64.const 1e6 + f64.lt + local.set $3 + local.get $3 + if + call $~lib/math/NativeMath.random + local.set $1 + local.get $1 + f64.const 0 + f64.ge + if (result i32) + local.get $1 + f64.const 1 + f64.lt + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2996 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + f64.const -8.06684839057968 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3252 + i32.const 3010 i32.const 1 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 + f64.const 4.345239849338305 + f64.const 4 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3253 + i32.const 3011 i32.const 1 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 + f64.const -8.38143342755525 + f64.const -8 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3254 + i32.const 3012 i32.const 1 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 + f64.const -6.531673581913484 + f64.const -7 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3255 + i32.const 3013 i32.const 1 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 + f64.const 9.267056966972586 + f64.const 9 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3256 + i32.const 3014 i32.const 1 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 + f64.const 0.6619858980995045 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3257 + i32.const 3015 i32.const 1 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 + f64.const -0.4066039223853553 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3258 + i32.const 3016 i32.const 1 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 + f64.const 0.5617597462207241 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3259 + i32.const 3017 i32.const 1 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 + f64.const 0.7741522965913037 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3260 + i32.const 3018 i32.const 1 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 + f64.const -0.6787637026394024 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3261 + i32.const 3019 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 1 - f32.const 0 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3264 + i32.const 3022 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 1 - f32.const -0 - f32.const 0 + f64.const inf + f64.const inf + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3265 + i32.const 3023 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0.5 - f32.const 1 - f32.const 0.5 - f32.const 0 + f64.const inf + f64.neg + f64.const inf + f64.neg + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3266 + i32.const 3024 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0.5 - f32.const 1 - f32.const -0.5 - f32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3267 + i32.const 3025 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 - f32.const 0 - f32.const 0 + f64.const -0 + f64.const -0 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3268 + i32.const 3026 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 1 - f32.const -0 - f32.const 0 + f64.const 1 + f64.const 1 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3269 + i32.const 3027 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const 1 - f32.const -0.5 - f32.const 0 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3270 + i32.const 3028 i32.const 1 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 + f64.const 0.5 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3271 + i32.const 3029 i32.const 1 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 + f64.const -0.5 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3272 + i32.const 3030 i32.const 1 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 + f64.const 1.5 + f64.const 2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3273 + i32.const 3031 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + f64.const -1.5 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3274 + i32.const 3032 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 1 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + f64.const 1.0000152587890625 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3275 + i32.const 3033 i32.const 1 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 + f64.const -1.0000152587890625 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3276 + i32.const 3034 i32.const 1 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 + f64.const 0.9999923706054688 + f64.const 1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3277 + i32.const 3035 i32.const 1 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 + f64.const -0.9999923706054688 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3278 + i32.const 3036 i32.const 1 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 + f64.const 7.888609052210118e-31 + f64.const 0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3279 + i32.const 3037 i32.const 1 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 + f64.const -7.888609052210118e-31 + f64.const -0 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3280 + i32.const 3038 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const -1 - f32.const 0 + block $~lib/math/NativeMath.round|inlined.1 (result f64) + f64.const 9007199254740990 + local.set $0 + i32.const 0 + drop + i32.const 1 + drop + local.get $0 + f64.ceil + local.set $1 + local.get $1 + local.get $1 + f64.const 1 + f64.sub + local.get $1 + f64.const 0.5 + f64.sub + local.get $0 + f64.le + select + br $~lib/math/NativeMath.round|inlined.1 + end + f64.const 9007199254740990 + f64.eq + drop + block $~lib/math/NativeMath.round|inlined.2 (result f64) + f64.const -9007199254740990 + local.set $1 + i32.const 0 + drop + i32.const 1 + drop + local.get $1 + f64.ceil + local.set $0 + local.get $0 + local.get $0 + f64.const 1 + f64.sub + local.get $0 + f64.const 0.5 + f64.sub + local.get $1 + f64.le + select + br $~lib/math/NativeMath.round|inlined.2 + end + f64.const -9007199254740990 + f64.eq + drop + block $~lib/math/NativeMath.round|inlined.3 (result f64) + f64.const 9007199254740991 + local.set $0 + i32.const 0 + drop + i32.const 1 + drop + local.get $0 + f64.ceil + local.set $1 + local.get $1 + local.get $1 + f64.const 1 + f64.sub + local.get $1 + f64.const 0.5 + f64.sub + local.get $0 + f64.le + select + br $~lib/math/NativeMath.round|inlined.3 + end + f64.const 9007199254740991 + f64.eq + drop + block $~lib/math/NativeMath.round|inlined.4 (result f64) + f64.const -9007199254740991 + local.set $1 + i32.const 0 + drop + i32.const 1 + drop + local.get $1 + f64.ceil + local.set $0 + local.get $0 + local.get $0 + f64.const 1 + f64.sub + local.get $0 + f64.const 0.5 + f64.sub + local.get $1 + f64.le + select + br $~lib/math/NativeMath.round|inlined.4 + end + f64.const -9007199254740991 + f64.eq + drop + block $~lib/math/NativeMath.round|inlined.5 (result f64) + f64.const -1797693134862315708145274e284 + local.set $0 + i32.const 0 + drop + i32.const 1 + drop + local.get $0 + f64.ceil + local.set $1 + local.get $1 + local.get $1 + f64.const 1 + f64.sub + local.get $1 + f64.const 0.5 + f64.sub + local.get $0 + f64.le + select + br $~lib/math/NativeMath.round|inlined.5 + end + f64.const -1797693134862315708145274e284 + f64.eq + drop + f32.const -8.066848754882812 + f32.const -8 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3281 + i32.const 3053 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 - f32.const -0 + f32.const 4.345239639282227 + f32.const 4 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3282 + i32.const 3054 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const -1 - f32.const -0.5 + f32.const -8.381433486938477 + f32.const -8 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3283 + i32.const 3055 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.5 - f32.const -1 - f32.const 0.5 + f32.const -6.531673431396484 + f32.const -7 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3284 + i32.const 3056 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2 - f32.const -1 - f32.const 0 + f32.const 9.267057418823242 + f32.const 9 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3285 + i32.const 3057 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2 - f32.const -1 - f32.const -0 + f32.const 0.6619858741760254 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3286 + i32.const 3058 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -1 - f32.const nan:0x400000 + f32.const -0.40660393238067627 + f32.const -0 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3287 + i32.const 3059 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -1 - f32.const nan:0x400000 + f32.const 0.5617597699165344 + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3288 + i32.const 3060 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const -1 - f32.const nan:0x400000 + f32.const 0.7741522789001465 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3289 + i32.const 3061 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const -0.6787636876106262 + f32.const -1 f32.const 0 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3290 + i32.const 3062 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -0 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + i32.const 0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3291 + i32.const 3065 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 f32.const inf - f32.const 0 + f32.const inf f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3292 + i32.const 3066 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 f32.const inf f32.neg - f32.const 0 + f32.const inf + f32.neg f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3293 + i32.const 3067 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3294 + i32.const 3068 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 + f32.const -0 f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + i32.const 0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3295 + i32.const 3069 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - f32.const nan:0x400000 + f32.const 1 + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + i32.const 0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3296 + i32.const 3070 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.const -0 + f32.const -1 + f32.const -1 f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3297 + i32.const 3071 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const inf - f32.neg - f32.const -0 + f32.const 0.5 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3298 + i32.const 3072 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const -0.5 f32.const -0 - f32.const nan:0x400000 - f32.const nan:0x400000 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3299 + i32.const 3073 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + f64.const 1.5 + f64.const 2 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3300 + i32.const 3074 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 0 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + f64.const -1.5 + f64.const -1 + f64.const 0 + global.get $std/math/INEXACT + call $std/math/test_round i32.eqz if i32.const 0 i32.const 32 - i32.const 3301 + i32.const 3075 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 0 - f32.const nan:0x400000 + f32.const 1.0000152587890625 + f32.const 1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3302 + i32.const 3076 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 0 - f32.const nan:0x400000 + f32.const -1.0000152587890625 + f32.const -1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3303 + i32.const 3077 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const 0 - f32.const nan:0x400000 + f32.const 0.9999923706054688 + f32.const 1 f32.const 0 - i32.const 0 - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3304 + i32.const 3078 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const -0.9999923706054688 f32.const -1 - f32.const -0 - f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3305 + i32.const 3079 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0 - f32.const nan:0x400000 + f32.const 7.888609052210118e-31 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + f32.const 0 + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3306 + i32.const 3080 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg + f32.const -7.888609052210118e-31 f32.const -0 - f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + global.get $std/math/INEXACT + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 32 - i32.const 3307 + i32.const 3081 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const -0 - f32.const nan:0x400000 - f32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 32 - i32.const 3308 + i32.const 3092 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + 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 3093 + i32.const 1 + 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 3309 + i32.const 3094 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + 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 3310 + i32.const 3095 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const -1 + f64.const -1 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 32 - i32.const 3311 + i32.const 3096 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const 2 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + 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 3312 + i32.const 3097 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const -0.5 - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + 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 3313 + i32.const 3098 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const inf + f64.neg + f64.const -1 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 32 - i32.const 3314 + i32.const 3099 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const nan:0x400000 - f32.const 0 + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + f64.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 32 - i32.const 3315 + i32.const 3100 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const 0 + f32.const 0 f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3316 + i32.const 3108 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const nan:0x400000 - f32.const nan:0x400000 + f32.const -0 + f32.const -0 f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3317 + i32.const 3109 i32.const 1 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 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3318 + i32.const 3110 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const inf - f32.const -1 + f32.const 2 + f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3319 + i32.const 3111 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.const nan:0x400000 + f32.const -1 + f32.const -1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + i32.const 0 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3320 + i32.const 3112 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.const nan:0x400000 + f32.const -2 + f32.const -1 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + i32.const 0 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3321 + i32.const 3113 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 f32.const inf - f32.neg f32.const 1 f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3322 + i32.const 3114 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 f32.const inf f32.neg f32.const -1 f32.const 0 i32.const 0 - call $std/math/test_remf + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3323 + i32.const 3115 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - f32.neg + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf + i32.const 0 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 32 - i32.const 3324 + i32.const 3116 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.neg - f32.const inf - f32.neg - f32.const nan:0x400000 - f32.const 0 - global.get $std/math/INVALID - call $std/math/test_remf - i32.eqz - if + block $~lib/math/NativeMath.signbit|inlined.2 (result i32) + f64.const 0 + local.set $1 i32.const 0 - i32.const 32 - i32.const 3325 + drop i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.2 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.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.3 (result i32) + f64.const -0 + local.set $0 i32.const 0 - i32.const 32 - i32.const 3326 + drop i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.3 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.ne + i32.const 1 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.4 (result i32) + f64.const 1 + local.set $1 i32.const 0 - i32.const 32 - i32.const 3327 + drop i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.4 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.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.5 (result i32) + f64.const -1 + local.set $0 i32.const 0 - i32.const 32 - i32.const 3328 + drop i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.5 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.ne + i32.const 1 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.6 (result i32) + f64.const nan:0x8000000000000 + local.set $1 i32.const 0 - i32.const 32 - i32.const 3329 + drop i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.6 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.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.7 (result i32) + f64.const nan:0x8000000000000 + f64.neg + local.set $0 i32.const 0 - i32.const 32 - i32.const 3330 + drop i32.const 1 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.7 + end + i32.const 0 + i32.ne + i32.const 1 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.8 (result i32) + f64.const inf + local.set $1 + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.8 + end + i32.const 0 + i32.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.9 (result i32) + f64.const inf + f64.neg + local.set $0 + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.9 + end + i32.const 0 + i32.ne + i32.const 1 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.2 (result i32) + f32.const 0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.2 + end + i32.const 0 + i32.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.3 (result i32) + f32.const -0 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.3 + end + i32.const 0 + i32.ne + i32.const 1 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.4 (result i32) + f32.const 1 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.4 + end + i32.const 0 + i32.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.5 (result i32) + f32.const -1 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.5 + end + i32.const 0 + i32.ne + i32.const 1 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.6 (result i32) + f32.const nan:0x400000 + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.6 + end + i32.const 0 + i32.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.7 (result i32) + f32.const nan:0x400000 + f32.neg + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.7 + end + i32.const 0 + i32.ne + i32.const 1 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.8 (result i32) + f32.const inf + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.8 + end + i32.const 0 + i32.ne + i32.const 0 + i32.eq + drop + block $~lib/math/NativeMath.signbit|inlined.9 (result i32) + f32.const inf + f32.neg + local.set $4 + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $4 + i32.reinterpret_f32 + i32.const 31 + i32.shr_u + br $~lib/math/NativeMath.signbit|inlined.9 end + i32.const 0 + i32.ne + i32.const 1 + i32.eq + drop f64.const -8.06684839057968 f64.const -0.9774292928781227 f64.const -0.14564912021160126 @@ -50933,7 +49687,7 @@ if i32.const 0 i32.const 32 - i32.const 3342 + i32.const 3154 i32.const 1 call $~lib/builtins/abort unreachable @@ -50947,7 +49701,7 @@ if i32.const 0 i32.const 32 - i32.const 3343 + i32.const 3155 i32.const 1 call $~lib/builtins/abort unreachable @@ -50961,7 +49715,7 @@ if i32.const 0 i32.const 32 - i32.const 3344 + i32.const 3156 i32.const 1 call $~lib/builtins/abort unreachable @@ -50975,7 +49729,7 @@ if i32.const 0 i32.const 32 - i32.const 3345 + i32.const 3157 i32.const 1 call $~lib/builtins/abort unreachable @@ -50989,7 +49743,7 @@ if i32.const 0 i32.const 32 - i32.const 3346 + i32.const 3158 i32.const 1 call $~lib/builtins/abort unreachable @@ -51003,7 +49757,7 @@ if i32.const 0 i32.const 32 - i32.const 3347 + i32.const 3159 i32.const 1 call $~lib/builtins/abort unreachable @@ -51017,7 +49771,7 @@ if i32.const 0 i32.const 32 - i32.const 3348 + i32.const 3160 i32.const 1 call $~lib/builtins/abort unreachable @@ -51031,7 +49785,7 @@ if i32.const 0 i32.const 32 - i32.const 3349 + i32.const 3161 i32.const 1 call $~lib/builtins/abort unreachable @@ -51045,7 +49799,7 @@ if i32.const 0 i32.const 32 - i32.const 3350 + i32.const 3162 i32.const 1 call $~lib/builtins/abort unreachable @@ -51059,7 +49813,7 @@ if i32.const 0 i32.const 32 - i32.const 3351 + i32.const 3163 i32.const 1 call $~lib/builtins/abort unreachable @@ -51073,7 +49827,7 @@ if i32.const 0 i32.const 32 - i32.const 3354 + i32.const 3166 i32.const 1 call $~lib/builtins/abort unreachable @@ -51087,7 +49841,7 @@ if i32.const 0 i32.const 32 - i32.const 3355 + i32.const 3167 i32.const 1 call $~lib/builtins/abort unreachable @@ -51101,7 +49855,7 @@ if i32.const 0 i32.const 32 - i32.const 3356 + i32.const 3168 i32.const 1 call $~lib/builtins/abort unreachable @@ -51115,7 +49869,7 @@ if i32.const 0 i32.const 32 - i32.const 3357 + i32.const 3169 i32.const 1 call $~lib/builtins/abort unreachable @@ -51131,7 +49885,7 @@ if i32.const 0 i32.const 32 - i32.const 3358 + i32.const 3170 i32.const 1 call $~lib/builtins/abort unreachable @@ -51147,7 +49901,7 @@ if i32.const 0 i32.const 32 - i32.const 3359 + i32.const 3171 i32.const 1 call $~lib/builtins/abort unreachable @@ -51161,7 +49915,7 @@ if i32.const 0 i32.const 32 - i32.const 3360 + i32.const 3172 i32.const 1 call $~lib/builtins/abort unreachable @@ -51175,7 +49929,7 @@ if i32.const 0 i32.const 32 - i32.const 3361 + i32.const 3173 i32.const 1 call $~lib/builtins/abort unreachable @@ -51189,7 +49943,7 @@ if i32.const 0 i32.const 32 - i32.const 3362 + i32.const 3174 i32.const 1 call $~lib/builtins/abort unreachable @@ -51203,7 +49957,7 @@ if i32.const 0 i32.const 32 - i32.const 3363 + i32.const 3175 i32.const 1 call $~lib/builtins/abort unreachable @@ -51217,7 +49971,7 @@ if i32.const 0 i32.const 32 - i32.const 3364 + i32.const 3176 i32.const 1 call $~lib/builtins/abort unreachable @@ -51231,7 +49985,7 @@ if i32.const 0 i32.const 32 - i32.const 3365 + i32.const 3177 i32.const 1 call $~lib/builtins/abort unreachable @@ -51245,7 +49999,7 @@ if i32.const 0 i32.const 32 - i32.const 3366 + i32.const 3178 i32.const 1 call $~lib/builtins/abort unreachable @@ -51259,7 +50013,7 @@ if i32.const 0 i32.const 32 - i32.const 3367 + i32.const 3179 i32.const 1 call $~lib/builtins/abort unreachable @@ -51273,7 +50027,7 @@ if i32.const 0 i32.const 32 - i32.const 3368 + i32.const 3180 i32.const 1 call $~lib/builtins/abort unreachable @@ -51287,7 +50041,7 @@ if i32.const 0 i32.const 32 - i32.const 3369 + i32.const 3181 i32.const 1 call $~lib/builtins/abort unreachable @@ -51301,7 +50055,7 @@ if i32.const 0 i32.const 32 - i32.const 3370 + i32.const 3182 i32.const 1 call $~lib/builtins/abort unreachable @@ -51315,7 +50069,7 @@ if i32.const 0 i32.const 32 - i32.const 3371 + i32.const 3183 i32.const 1 call $~lib/builtins/abort unreachable @@ -51329,7 +50083,7 @@ if i32.const 0 i32.const 32 - i32.const 3372 + i32.const 3184 i32.const 1 call $~lib/builtins/abort unreachable @@ -51343,7 +50097,7 @@ if i32.const 0 i32.const 32 - i32.const 3373 + i32.const 3185 i32.const 1 call $~lib/builtins/abort unreachable @@ -51357,7 +50111,7 @@ if i32.const 0 i32.const 32 - i32.const 3374 + i32.const 3186 i32.const 1 call $~lib/builtins/abort unreachable @@ -51371,7 +50125,7 @@ if i32.const 0 i32.const 32 - i32.const 3375 + i32.const 3187 i32.const 1 call $~lib/builtins/abort unreachable @@ -51385,7 +50139,7 @@ if i32.const 0 i32.const 32 - i32.const 3376 + i32.const 3188 i32.const 1 call $~lib/builtins/abort unreachable @@ -51399,7 +50153,7 @@ if i32.const 0 i32.const 32 - i32.const 3377 + i32.const 3189 i32.const 1 call $~lib/builtins/abort unreachable @@ -51413,7 +50167,7 @@ if i32.const 0 i32.const 32 - i32.const 3378 + i32.const 3190 i32.const 1 call $~lib/builtins/abort unreachable @@ -51429,7 +50183,7 @@ if i32.const 0 i32.const 32 - i32.const 3379 + i32.const 3191 i32.const 1 call $~lib/builtins/abort unreachable @@ -51445,7 +50199,7 @@ if i32.const 0 i32.const 32 - i32.const 3380 + i32.const 3192 i32.const 1 call $~lib/builtins/abort unreachable @@ -51461,7 +50215,7 @@ if i32.const 0 i32.const 32 - i32.const 3381 + i32.const 3193 i32.const 1 call $~lib/builtins/abort unreachable @@ -51477,7 +50231,7 @@ if i32.const 0 i32.const 32 - i32.const 3382 + i32.const 3194 i32.const 1 call $~lib/builtins/abort unreachable @@ -51493,7 +50247,7 @@ if i32.const 0 i32.const 32 - i32.const 3383 + i32.const 3195 i32.const 1 call $~lib/builtins/abort unreachable @@ -51509,7 +50263,7 @@ if i32.const 0 i32.const 32 - i32.const 3384 + i32.const 3196 i32.const 1 call $~lib/builtins/abort unreachable @@ -51525,7 +50279,7 @@ if i32.const 0 i32.const 32 - i32.const 3385 + i32.const 3197 i32.const 1 call $~lib/builtins/abort unreachable @@ -51541,7 +50295,7 @@ if i32.const 0 i32.const 32 - i32.const 3386 + i32.const 3198 i32.const 1 call $~lib/builtins/abort unreachable @@ -51557,7 +50311,7 @@ if i32.const 0 i32.const 32 - i32.const 3387 + i32.const 3199 i32.const 1 call $~lib/builtins/abort unreachable @@ -51573,7 +50327,7 @@ if i32.const 0 i32.const 32 - i32.const 3388 + i32.const 3200 i32.const 1 call $~lib/builtins/abort unreachable @@ -51589,7 +50343,7 @@ if i32.const 0 i32.const 32 - i32.const 3389 + i32.const 3201 i32.const 1 call $~lib/builtins/abort unreachable @@ -51605,7 +50359,7 @@ if i32.const 0 i32.const 32 - i32.const 3390 + i32.const 3202 i32.const 1 call $~lib/builtins/abort unreachable @@ -51619,7 +50373,7 @@ if i32.const 0 i32.const 32 - i32.const 3393 + i32.const 3205 i32.const 1 call $~lib/builtins/abort unreachable @@ -51633,7 +50387,7 @@ if i32.const 0 i32.const 32 - i32.const 3394 + i32.const 3206 i32.const 1 call $~lib/builtins/abort unreachable @@ -51647,7 +50401,7 @@ if i32.const 0 i32.const 32 - i32.const 3395 + i32.const 3207 i32.const 1 call $~lib/builtins/abort unreachable @@ -51662,7 +50416,7 @@ if i32.const 0 i32.const 32 - i32.const 3396 + i32.const 3208 i32.const 1 call $~lib/builtins/abort unreachable @@ -51676,16 +50430,35 @@ if i32.const 0 i32.const 32 - i32.const 3397 + i32.const 3209 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.1 (result f64) + f64.const 1 + global.get $std/math/kPI + f64.mul + f64.const 2 + f64.div + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.1 + end + f64.const 1 global.get $std/math/kPI - f64.const 2 - f64.div - call $~lib/math/NativeMath.sin - global.get $std/math/kPI + f64.mul f64.const 2 f64.div call $~lib/bindings/dom/Math.sin @@ -51694,17 +50467,32 @@ if i32.const 0 i32.const 32 - i32.const 3400 + i32.const 3212 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2 - global.get $std/math/kPI - f64.mul - f64.const 2 - f64.div - call $~lib/math/NativeMath.sin + block $~lib/math/NativeMath.sin|inlined.2 (result f64) + f64.const 2 + global.get $std/math/kPI + f64.mul + f64.const 2 + f64.div + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.2 + end f64.const 2 global.get $std/math/kPI f64.mul @@ -51716,256 +50504,511 @@ if i32.const 0 i32.const 32 - i32.const 3401 + i32.const 3213 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.3 (result f64) + f64.const 2.3283064365386963e-10 + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.3 + 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 3404 + i32.const 3216 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.4 (result f64) + f64.const -2.3283064365386963e-10 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.4 + 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 3405 + i32.const 3217 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.5 (result f64) + f64.const 0.39269908169872414 + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.5 + 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 3407 + i32.const 3219 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.6 (result f64) + f64.const -0.39269908169872414 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.6 + 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 3408 + i32.const 3220 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.7 (result f64) + f64.const 0.5 + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.7 + 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 3411 + i32.const 3223 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.8 (result f64) + f64.const -0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.8 + 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 3412 + i32.const 3224 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.9 (result f64) + global.get $std/math/kPI + f64.const 2 + f64.div + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.9 + end f64.const 1 - global.get $std/math/kPI - f64.const 2 - f64.div - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3413 + i32.const 3225 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.10 (result f64) + global.get $std/math/kPI + f64.neg + f64.const 2 + f64.div + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.10 + end f64.const -1 - global.get $std/math/kPI - f64.neg - f64.const 2 - f64.div - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3414 + i32.const 3226 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.11 (result f64) + global.get $std/math/kPI + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.11 + end f64.const 1.2246467991473532e-16 - global.get $std/math/kPI - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3416 + i32.const 3228 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.12 (result f64) + f64.const 2200 + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.12 + end f64.const -7.047032979958965e-14 - f64.const 2200 - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3417 + i32.const 3229 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.13 (result f64) + f64.const 7 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.13 + end f64.const -0.7071067811865477 - f64.const 7 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3419 + i32.const 3231 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.14 (result f64) + f64.const 9 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.14 + end f64.const 0.7071067811865474 - f64.const 9 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3420 + i32.const 3232 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.15 (result f64) + f64.const 11 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.15 + end f64.const 0.7071067811865483 - f64.const 11 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3421 + i32.const 3233 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.16 (result f64) + f64.const 13 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.16 + end f64.const -0.7071067811865479 - f64.const 13 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3422 + i32.const 3234 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.17 (result f64) + f64.const 1048576 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.17 + end f64.const -3.2103381051568376e-11 - f64.const 1048576 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3423 + i32.const 3235 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.18 (result f64) + global.get $std/math/kTwo120 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.18 + end f64.const 0.377820109360752 - global.get $std/math/kTwo120 - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3426 + i32.const 3238 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.sin|inlined.19 (result f64) + global.get $std/math/kTwo120 + f64.neg + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/sin64 + br $~lib/math/NativeMath.sin|inlined.19 + end f64.const -0.377820109360752 - global.get $std/math/kTwo120 - f64.neg - call $~lib/math/NativeMath.sin f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3427 + i32.const 3239 i32.const 1 call $~lib/builtins/abort unreachable @@ -51979,7 +51022,7 @@ if i32.const 0 i32.const 32 - i32.const 3436 + i32.const 3248 i32.const 1 call $~lib/builtins/abort unreachable @@ -51993,7 +51036,7 @@ if i32.const 0 i32.const 32 - i32.const 3437 + i32.const 3249 i32.const 1 call $~lib/builtins/abort unreachable @@ -52007,7 +51050,7 @@ if i32.const 0 i32.const 32 - i32.const 3438 + i32.const 3250 i32.const 1 call $~lib/builtins/abort unreachable @@ -52021,7 +51064,7 @@ if i32.const 0 i32.const 32 - i32.const 3439 + i32.const 3251 i32.const 1 call $~lib/builtins/abort unreachable @@ -52035,7 +51078,7 @@ if i32.const 0 i32.const 32 - i32.const 3440 + i32.const 3252 i32.const 1 call $~lib/builtins/abort unreachable @@ -52049,7 +51092,7 @@ if i32.const 0 i32.const 32 - i32.const 3441 + i32.const 3253 i32.const 1 call $~lib/builtins/abort unreachable @@ -52063,7 +51106,7 @@ if i32.const 0 i32.const 32 - i32.const 3442 + i32.const 3254 i32.const 1 call $~lib/builtins/abort unreachable @@ -52077,7 +51120,7 @@ if i32.const 0 i32.const 32 - i32.const 3443 + i32.const 3255 i32.const 1 call $~lib/builtins/abort unreachable @@ -52091,7 +51134,7 @@ if i32.const 0 i32.const 32 - i32.const 3444 + i32.const 3256 i32.const 1 call $~lib/builtins/abort unreachable @@ -52105,7 +51148,7 @@ if i32.const 0 i32.const 32 - i32.const 3445 + i32.const 3257 i32.const 1 call $~lib/builtins/abort unreachable @@ -52119,7 +51162,7 @@ if i32.const 0 i32.const 32 - i32.const 3448 + i32.const 3260 i32.const 1 call $~lib/builtins/abort unreachable @@ -52133,7 +51176,7 @@ if i32.const 0 i32.const 32 - i32.const 3449 + i32.const 3261 i32.const 1 call $~lib/builtins/abort unreachable @@ -52147,7 +51190,7 @@ if i32.const 0 i32.const 32 - i32.const 3450 + i32.const 3262 i32.const 1 call $~lib/builtins/abort unreachable @@ -52162,7 +51205,7 @@ if i32.const 0 i32.const 32 - i32.const 3451 + i32.const 3263 i32.const 1 call $~lib/builtins/abort unreachable @@ -52176,7 +51219,7 @@ if i32.const 0 i32.const 32 - i32.const 3452 + i32.const 3264 i32.const 1 call $~lib/builtins/abort unreachable @@ -52190,7 +51233,7 @@ if i32.const 0 i32.const 32 - i32.const 3455 + i32.const 3267 i32.const 1 call $~lib/builtins/abort unreachable @@ -52204,7 +51247,7 @@ if i32.const 0 i32.const 32 - i32.const 3456 + i32.const 3268 i32.const 1 call $~lib/builtins/abort unreachable @@ -52218,7 +51261,7 @@ if i32.const 0 i32.const 32 - i32.const 3457 + i32.const 3269 i32.const 1 call $~lib/builtins/abort unreachable @@ -52232,7 +51275,7 @@ if i32.const 0 i32.const 32 - i32.const 3458 + i32.const 3270 i32.const 1 call $~lib/builtins/abort unreachable @@ -52248,7 +51291,7 @@ if i32.const 0 i32.const 32 - i32.const 3459 + i32.const 3271 i32.const 1 call $~lib/builtins/abort unreachable @@ -52264,7 +51307,7 @@ if i32.const 0 i32.const 32 - i32.const 3460 + i32.const 3272 i32.const 1 call $~lib/builtins/abort unreachable @@ -52278,7 +51321,7 @@ if i32.const 0 i32.const 32 - i32.const 3461 + i32.const 3273 i32.const 1 call $~lib/builtins/abort unreachable @@ -52292,7 +51335,7 @@ if i32.const 0 i32.const 32 - i32.const 3462 + i32.const 3274 i32.const 1 call $~lib/builtins/abort unreachable @@ -52306,7 +51349,7 @@ if i32.const 0 i32.const 32 - i32.const 3463 + i32.const 3275 i32.const 1 call $~lib/builtins/abort unreachable @@ -52320,7 +51363,7 @@ if i32.const 0 i32.const 32 - i32.const 3464 + i32.const 3276 i32.const 1 call $~lib/builtins/abort unreachable @@ -52334,7 +51377,7 @@ if i32.const 0 i32.const 32 - i32.const 3465 + i32.const 3277 i32.const 1 call $~lib/builtins/abort unreachable @@ -52348,7 +51391,7 @@ if i32.const 0 i32.const 32 - i32.const 3466 + i32.const 3278 i32.const 1 call $~lib/builtins/abort unreachable @@ -52362,7 +51405,7 @@ if i32.const 0 i32.const 32 - i32.const 3467 + i32.const 3279 i32.const 1 call $~lib/builtins/abort unreachable @@ -52376,7 +51419,7 @@ if i32.const 0 i32.const 32 - i32.const 3468 + i32.const 3280 i32.const 1 call $~lib/builtins/abort unreachable @@ -52390,7 +51433,7 @@ if i32.const 0 i32.const 32 - i32.const 3469 + i32.const 3281 i32.const 1 call $~lib/builtins/abort unreachable @@ -52404,7 +51447,7 @@ if i32.const 0 i32.const 32 - i32.const 3470 + i32.const 3282 i32.const 1 call $~lib/builtins/abort unreachable @@ -52418,7 +51461,7 @@ if i32.const 0 i32.const 32 - i32.const 3471 + i32.const 3283 i32.const 1 call $~lib/builtins/abort unreachable @@ -52432,7 +51475,7 @@ if i32.const 0 i32.const 32 - i32.const 3472 + i32.const 3284 i32.const 1 call $~lib/builtins/abort unreachable @@ -52446,7 +51489,7 @@ if i32.const 0 i32.const 32 - i32.const 3473 + i32.const 3285 i32.const 1 call $~lib/builtins/abort unreachable @@ -52460,7 +51503,7 @@ if i32.const 0 i32.const 32 - i32.const 3474 + i32.const 3286 i32.const 1 call $~lib/builtins/abort unreachable @@ -52474,7 +51517,7 @@ if i32.const 0 i32.const 32 - i32.const 3475 + i32.const 3287 i32.const 1 call $~lib/builtins/abort unreachable @@ -52488,7 +51531,7 @@ if i32.const 0 i32.const 32 - i32.const 3476 + i32.const 3288 i32.const 1 call $~lib/builtins/abort unreachable @@ -52502,7 +51545,7 @@ if i32.const 0 i32.const 32 - i32.const 3477 + i32.const 3289 i32.const 1 call $~lib/builtins/abort unreachable @@ -52516,7 +51559,7 @@ if i32.const 0 i32.const 32 - i32.const 3478 + i32.const 3290 i32.const 1 call $~lib/builtins/abort unreachable @@ -52530,7 +51573,7 @@ if i32.const 0 i32.const 32 - i32.const 3479 + i32.const 3291 i32.const 1 call $~lib/builtins/abort unreachable @@ -52544,7 +51587,7 @@ if i32.const 0 i32.const 32 - i32.const 3480 + i32.const 3292 i32.const 1 call $~lib/builtins/abort unreachable @@ -52560,7 +51603,7 @@ if i32.const 0 i32.const 32 - i32.const 3481 + i32.const 3293 i32.const 1 call $~lib/builtins/abort unreachable @@ -52576,7 +51619,7 @@ if i32.const 0 i32.const 32 - i32.const 3482 + i32.const 3294 i32.const 1 call $~lib/builtins/abort unreachable @@ -52592,7 +51635,7 @@ if i32.const 0 i32.const 32 - i32.const 3483 + i32.const 3295 i32.const 1 call $~lib/builtins/abort unreachable @@ -52608,7 +51651,7 @@ if i32.const 0 i32.const 32 - i32.const 3484 + i32.const 3296 i32.const 1 call $~lib/builtins/abort unreachable @@ -52624,7 +51667,7 @@ if i32.const 0 i32.const 32 - i32.const 3485 + i32.const 3297 i32.const 1 call $~lib/builtins/abort unreachable @@ -52640,7 +51683,7 @@ if i32.const 0 i32.const 32 - i32.const 3486 + i32.const 3298 i32.const 1 call $~lib/builtins/abort unreachable @@ -52656,7 +51699,7 @@ if i32.const 0 i32.const 32 - i32.const 3487 + i32.const 3299 i32.const 1 call $~lib/builtins/abort unreachable @@ -52672,7 +51715,7 @@ if i32.const 0 i32.const 32 - i32.const 3488 + i32.const 3300 i32.const 1 call $~lib/builtins/abort unreachable @@ -52688,7 +51731,7 @@ if i32.const 0 i32.const 32 - i32.const 3489 + i32.const 3301 i32.const 1 call $~lib/builtins/abort unreachable @@ -52704,7 +51747,7 @@ if i32.const 0 i32.const 32 - i32.const 3490 + i32.const 3302 i32.const 1 call $~lib/builtins/abort unreachable @@ -52720,7 +51763,7 @@ if i32.const 0 i32.const 32 - i32.const 3491 + i32.const 3303 i32.const 1 call $~lib/builtins/abort unreachable @@ -52736,7 +51779,7 @@ if i32.const 0 i32.const 32 - i32.const 3492 + i32.const 3304 i32.const 1 call $~lib/builtins/abort unreachable @@ -52750,7 +51793,7 @@ if i32.const 0 i32.const 32 - i32.const 3495 + i32.const 3307 i32.const 1 call $~lib/builtins/abort unreachable @@ -52764,7 +51807,7 @@ if i32.const 0 i32.const 32 - i32.const 3496 + i32.const 3308 i32.const 1 call $~lib/builtins/abort unreachable @@ -52778,7 +51821,7 @@ if i32.const 0 i32.const 32 - i32.const 3497 + i32.const 3309 i32.const 1 call $~lib/builtins/abort unreachable @@ -52792,7 +51835,7 @@ if i32.const 0 i32.const 32 - i32.const 3498 + i32.const 3310 i32.const 1 call $~lib/builtins/abort unreachable @@ -52806,7 +51849,7 @@ if i32.const 0 i32.const 32 - i32.const 3499 + i32.const 3311 i32.const 1 call $~lib/builtins/abort unreachable @@ -52820,7 +51863,7 @@ if i32.const 0 i32.const 32 - i32.const 3500 + i32.const 3312 i32.const 1 call $~lib/builtins/abort unreachable @@ -52834,7 +51877,7 @@ if i32.const 0 i32.const 32 - i32.const 3501 + i32.const 3313 i32.const 1 call $~lib/builtins/abort unreachable @@ -52848,7 +51891,7 @@ if i32.const 0 i32.const 32 - i32.const 3502 + i32.const 3314 i32.const 1 call $~lib/builtins/abort unreachable @@ -52862,7 +51905,7 @@ if i32.const 0 i32.const 32 - i32.const 3503 + i32.const 3315 i32.const 1 call $~lib/builtins/abort unreachable @@ -52876,7 +51919,7 @@ if i32.const 0 i32.const 32 - i32.const 3504 + i32.const 3316 i32.const 1 call $~lib/builtins/abort unreachable @@ -52890,7 +51933,7 @@ if i32.const 0 i32.const 32 - i32.const 3505 + i32.const 3317 i32.const 1 call $~lib/builtins/abort unreachable @@ -52904,7 +51947,7 @@ if i32.const 0 i32.const 32 - i32.const 3506 + i32.const 3318 i32.const 1 call $~lib/builtins/abort unreachable @@ -52918,7 +51961,7 @@ if i32.const 0 i32.const 32 - i32.const 3507 + i32.const 3319 i32.const 1 call $~lib/builtins/abort unreachable @@ -52933,7 +51976,7 @@ if i32.const 0 i32.const 32 - i32.const 3508 + i32.const 3320 i32.const 1 call $~lib/builtins/abort unreachable @@ -52947,7 +51990,7 @@ if i32.const 0 i32.const 32 - i32.const 3520 + i32.const 3332 i32.const 1 call $~lib/builtins/abort unreachable @@ -52961,7 +52004,7 @@ if i32.const 0 i32.const 32 - i32.const 3521 + i32.const 3333 i32.const 1 call $~lib/builtins/abort unreachable @@ -52975,7 +52018,7 @@ if i32.const 0 i32.const 32 - i32.const 3522 + i32.const 3334 i32.const 1 call $~lib/builtins/abort unreachable @@ -52989,7 +52032,7 @@ if i32.const 0 i32.const 32 - i32.const 3523 + i32.const 3335 i32.const 1 call $~lib/builtins/abort unreachable @@ -53003,7 +52046,7 @@ if i32.const 0 i32.const 32 - i32.const 3524 + i32.const 3336 i32.const 1 call $~lib/builtins/abort unreachable @@ -53017,7 +52060,7 @@ if i32.const 0 i32.const 32 - i32.const 3525 + i32.const 3337 i32.const 1 call $~lib/builtins/abort unreachable @@ -53031,7 +52074,7 @@ if i32.const 0 i32.const 32 - i32.const 3526 + i32.const 3338 i32.const 1 call $~lib/builtins/abort unreachable @@ -53045,7 +52088,7 @@ if i32.const 0 i32.const 32 - i32.const 3527 + i32.const 3339 i32.const 1 call $~lib/builtins/abort unreachable @@ -53059,7 +52102,7 @@ if i32.const 0 i32.const 32 - i32.const 3528 + i32.const 3340 i32.const 1 call $~lib/builtins/abort unreachable @@ -53073,7 +52116,7 @@ if i32.const 0 i32.const 32 - i32.const 3529 + i32.const 3341 i32.const 1 call $~lib/builtins/abort unreachable @@ -53087,7 +52130,7 @@ if i32.const 0 i32.const 32 - i32.const 3532 + i32.const 3344 i32.const 1 call $~lib/builtins/abort unreachable @@ -53101,7 +52144,7 @@ if i32.const 0 i32.const 32 - i32.const 3533 + i32.const 3345 i32.const 1 call $~lib/builtins/abort unreachable @@ -53115,7 +52158,7 @@ if i32.const 0 i32.const 32 - i32.const 3534 + i32.const 3346 i32.const 1 call $~lib/builtins/abort unreachable @@ -53131,7 +52174,7 @@ if i32.const 0 i32.const 32 - i32.const 3535 + i32.const 3347 i32.const 1 call $~lib/builtins/abort unreachable @@ -53145,7 +52188,7 @@ if i32.const 0 i32.const 32 - i32.const 3536 + i32.const 3348 i32.const 1 call $~lib/builtins/abort unreachable @@ -53159,7 +52202,7 @@ if i32.const 0 i32.const 32 - i32.const 3545 + i32.const 3357 i32.const 1 call $~lib/builtins/abort unreachable @@ -53173,7 +52216,7 @@ if i32.const 0 i32.const 32 - i32.const 3546 + i32.const 3358 i32.const 1 call $~lib/builtins/abort unreachable @@ -53187,7 +52230,7 @@ if i32.const 0 i32.const 32 - i32.const 3547 + i32.const 3359 i32.const 1 call $~lib/builtins/abort unreachable @@ -53201,7 +52244,7 @@ if i32.const 0 i32.const 32 - i32.const 3548 + i32.const 3360 i32.const 1 call $~lib/builtins/abort unreachable @@ -53215,7 +52258,7 @@ if i32.const 0 i32.const 32 - i32.const 3549 + i32.const 3361 i32.const 1 call $~lib/builtins/abort unreachable @@ -53229,7 +52272,7 @@ if i32.const 0 i32.const 32 - i32.const 3550 + i32.const 3362 i32.const 1 call $~lib/builtins/abort unreachable @@ -53243,7 +52286,7 @@ if i32.const 0 i32.const 32 - i32.const 3551 + i32.const 3363 i32.const 1 call $~lib/builtins/abort unreachable @@ -53257,7 +52300,7 @@ if i32.const 0 i32.const 32 - i32.const 3552 + i32.const 3364 i32.const 1 call $~lib/builtins/abort unreachable @@ -53271,7 +52314,7 @@ if i32.const 0 i32.const 32 - i32.const 3553 + i32.const 3365 i32.const 1 call $~lib/builtins/abort unreachable @@ -53285,7 +52328,7 @@ if i32.const 0 i32.const 32 - i32.const 3554 + i32.const 3366 i32.const 1 call $~lib/builtins/abort unreachable @@ -53299,7 +52342,7 @@ if i32.const 0 i32.const 32 - i32.const 3557 + i32.const 3369 i32.const 1 call $~lib/builtins/abort unreachable @@ -53313,7 +52356,7 @@ if i32.const 0 i32.const 32 - i32.const 3558 + i32.const 3370 i32.const 1 call $~lib/builtins/abort unreachable @@ -53327,7 +52370,7 @@ if i32.const 0 i32.const 32 - i32.const 3559 + i32.const 3371 i32.const 1 call $~lib/builtins/abort unreachable @@ -53343,7 +52386,7 @@ if i32.const 0 i32.const 32 - i32.const 3560 + i32.const 3372 i32.const 1 call $~lib/builtins/abort unreachable @@ -53357,7 +52400,7 @@ if i32.const 0 i32.const 32 - i32.const 3561 + i32.const 3373 i32.const 1 call $~lib/builtins/abort unreachable @@ -53371,7 +52414,7 @@ if i32.const 0 i32.const 32 - i32.const 3573 + i32.const 3385 i32.const 1 call $~lib/builtins/abort unreachable @@ -53385,7 +52428,7 @@ if i32.const 0 i32.const 32 - i32.const 3574 + i32.const 3386 i32.const 1 call $~lib/builtins/abort unreachable @@ -53399,7 +52442,7 @@ if i32.const 0 i32.const 32 - i32.const 3575 + i32.const 3387 i32.const 1 call $~lib/builtins/abort unreachable @@ -53413,7 +52456,7 @@ if i32.const 0 i32.const 32 - i32.const 3576 + i32.const 3388 i32.const 1 call $~lib/builtins/abort unreachable @@ -53427,7 +52470,7 @@ if i32.const 0 i32.const 32 - i32.const 3577 + i32.const 3389 i32.const 1 call $~lib/builtins/abort unreachable @@ -53441,7 +52484,7 @@ if i32.const 0 i32.const 32 - i32.const 3578 + i32.const 3390 i32.const 1 call $~lib/builtins/abort unreachable @@ -53455,7 +52498,7 @@ if i32.const 0 i32.const 32 - i32.const 3579 + i32.const 3391 i32.const 1 call $~lib/builtins/abort unreachable @@ -53469,7 +52512,7 @@ if i32.const 0 i32.const 32 - i32.const 3580 + i32.const 3392 i32.const 1 call $~lib/builtins/abort unreachable @@ -53483,7 +52526,7 @@ if i32.const 0 i32.const 32 - i32.const 3581 + i32.const 3393 i32.const 1 call $~lib/builtins/abort unreachable @@ -53497,7 +52540,7 @@ if i32.const 0 i32.const 32 - i32.const 3582 + i32.const 3394 i32.const 1 call $~lib/builtins/abort unreachable @@ -53511,7 +52554,7 @@ if i32.const 0 i32.const 32 - i32.const 3585 + i32.const 3397 i32.const 1 call $~lib/builtins/abort unreachable @@ -53525,7 +52568,7 @@ if i32.const 0 i32.const 32 - i32.const 3586 + i32.const 3398 i32.const 1 call $~lib/builtins/abort unreachable @@ -53540,7 +52583,7 @@ if i32.const 0 i32.const 32 - i32.const 3587 + i32.const 3399 i32.const 1 call $~lib/builtins/abort unreachable @@ -53554,7 +52597,7 @@ if i32.const 0 i32.const 32 - i32.const 3588 + i32.const 3400 i32.const 1 call $~lib/builtins/abort unreachable @@ -53568,7 +52611,7 @@ if i32.const 0 i32.const 32 - i32.const 3589 + i32.const 3401 i32.const 1 call $~lib/builtins/abort unreachable @@ -53582,7 +52625,7 @@ if i32.const 0 i32.const 32 - i32.const 3590 + i32.const 3402 i32.const 1 call $~lib/builtins/abort unreachable @@ -53596,7 +52639,7 @@ if i32.const 0 i32.const 32 - i32.const 3591 + i32.const 3403 i32.const 1 call $~lib/builtins/abort unreachable @@ -53610,7 +52653,7 @@ if i32.const 0 i32.const 32 - i32.const 3592 + i32.const 3404 i32.const 1 call $~lib/builtins/abort unreachable @@ -53624,7 +52667,7 @@ if i32.const 0 i32.const 32 - i32.const 3593 + i32.const 3405 i32.const 1 call $~lib/builtins/abort unreachable @@ -53638,7 +52681,7 @@ if i32.const 0 i32.const 32 - i32.const 3594 + i32.const 3406 i32.const 1 call $~lib/builtins/abort unreachable @@ -53652,7 +52695,7 @@ if i32.const 0 i32.const 32 - i32.const 3595 + i32.const 3407 i32.const 1 call $~lib/builtins/abort unreachable @@ -53666,7 +52709,7 @@ if i32.const 0 i32.const 32 - i32.const 3596 + i32.const 3408 i32.const 1 call $~lib/builtins/abort unreachable @@ -53680,7 +52723,7 @@ if i32.const 0 i32.const 32 - i32.const 3597 + i32.const 3409 i32.const 1 call $~lib/builtins/abort unreachable @@ -53694,7 +52737,7 @@ if i32.const 0 i32.const 32 - i32.const 3598 + i32.const 3410 i32.const 1 call $~lib/builtins/abort unreachable @@ -53708,7 +52751,7 @@ if i32.const 0 i32.const 32 - i32.const 3599 + i32.const 3411 i32.const 1 call $~lib/builtins/abort unreachable @@ -53722,7 +52765,7 @@ if i32.const 0 i32.const 32 - i32.const 3600 + i32.const 3412 i32.const 1 call $~lib/builtins/abort unreachable @@ -53736,7 +52779,7 @@ if i32.const 0 i32.const 32 - i32.const 3601 + i32.const 3413 i32.const 1 call $~lib/builtins/abort unreachable @@ -53750,7 +52793,7 @@ if i32.const 0 i32.const 32 - i32.const 3602 + i32.const 3414 i32.const 1 call $~lib/builtins/abort unreachable @@ -53764,7 +52807,7 @@ if i32.const 0 i32.const 32 - i32.const 3603 + i32.const 3415 i32.const 1 call $~lib/builtins/abort unreachable @@ -53778,7 +52821,7 @@ if i32.const 0 i32.const 32 - i32.const 3604 + i32.const 3416 i32.const 1 call $~lib/builtins/abort unreachable @@ -53792,7 +52835,7 @@ if i32.const 0 i32.const 32 - i32.const 3605 + i32.const 3417 i32.const 1 call $~lib/builtins/abort unreachable @@ -53806,7 +52849,7 @@ if i32.const 0 i32.const 32 - i32.const 3606 + i32.const 3418 i32.const 1 call $~lib/builtins/abort unreachable @@ -53820,7 +52863,7 @@ if i32.const 0 i32.const 32 - i32.const 3607 + i32.const 3419 i32.const 1 call $~lib/builtins/abort unreachable @@ -53834,7 +52877,7 @@ if i32.const 0 i32.const 32 - i32.const 3608 + i32.const 3420 i32.const 1 call $~lib/builtins/abort unreachable @@ -53848,7 +52891,7 @@ if i32.const 0 i32.const 32 - i32.const 3609 + i32.const 3421 i32.const 1 call $~lib/builtins/abort unreachable @@ -53862,7 +52905,7 @@ if i32.const 0 i32.const 32 - i32.const 3610 + i32.const 3422 i32.const 1 call $~lib/builtins/abort unreachable @@ -53876,7 +52919,7 @@ if i32.const 0 i32.const 32 - i32.const 3611 + i32.const 3423 i32.const 1 call $~lib/builtins/abort unreachable @@ -53890,7 +52933,7 @@ if i32.const 0 i32.const 32 - i32.const 3612 + i32.const 3424 i32.const 1 call $~lib/builtins/abort unreachable @@ -53904,7 +52947,7 @@ if i32.const 0 i32.const 32 - i32.const 3613 + i32.const 3425 i32.const 1 call $~lib/builtins/abort unreachable @@ -53918,7 +52961,7 @@ if i32.const 0 i32.const 32 - i32.const 3614 + i32.const 3426 i32.const 1 call $~lib/builtins/abort unreachable @@ -53932,7 +52975,7 @@ if i32.const 0 i32.const 32 - i32.const 3615 + i32.const 3427 i32.const 1 call $~lib/builtins/abort unreachable @@ -53946,7 +52989,7 @@ if i32.const 0 i32.const 32 - i32.const 3616 + i32.const 3428 i32.const 1 call $~lib/builtins/abort unreachable @@ -53960,7 +53003,7 @@ if i32.const 0 i32.const 32 - i32.const 3617 + i32.const 3429 i32.const 1 call $~lib/builtins/abort unreachable @@ -53974,7 +53017,7 @@ if i32.const 0 i32.const 32 - i32.const 3618 + i32.const 3430 i32.const 1 call $~lib/builtins/abort unreachable @@ -53988,7 +53031,7 @@ if i32.const 0 i32.const 32 - i32.const 3619 + i32.const 3431 i32.const 1 call $~lib/builtins/abort unreachable @@ -54002,7 +53045,7 @@ if i32.const 0 i32.const 32 - i32.const 3620 + i32.const 3432 i32.const 1 call $~lib/builtins/abort unreachable @@ -54016,7 +53059,7 @@ if i32.const 0 i32.const 32 - i32.const 3621 + i32.const 3433 i32.const 1 call $~lib/builtins/abort unreachable @@ -54030,7 +53073,7 @@ if i32.const 0 i32.const 32 - i32.const 3622 + i32.const 3434 i32.const 1 call $~lib/builtins/abort unreachable @@ -54044,7 +53087,7 @@ if i32.const 0 i32.const 32 - i32.const 3623 + i32.const 3435 i32.const 1 call $~lib/builtins/abort unreachable @@ -54058,7 +53101,7 @@ if i32.const 0 i32.const 32 - i32.const 3624 + i32.const 3436 i32.const 1 call $~lib/builtins/abort unreachable @@ -54072,7 +53115,7 @@ if i32.const 0 i32.const 32 - i32.const 3625 + i32.const 3437 i32.const 1 call $~lib/builtins/abort unreachable @@ -54086,7 +53129,7 @@ if i32.const 0 i32.const 32 - i32.const 3626 + i32.const 3438 i32.const 1 call $~lib/builtins/abort unreachable @@ -54100,7 +53143,7 @@ if i32.const 0 i32.const 32 - i32.const 3627 + i32.const 3439 i32.const 1 call $~lib/builtins/abort unreachable @@ -54114,7 +53157,7 @@ if i32.const 0 i32.const 32 - i32.const 3628 + i32.const 3440 i32.const 1 call $~lib/builtins/abort unreachable @@ -54128,7 +53171,7 @@ if i32.const 0 i32.const 32 - i32.const 3629 + i32.const 3441 i32.const 1 call $~lib/builtins/abort unreachable @@ -54142,7 +53185,7 @@ if i32.const 0 i32.const 32 - i32.const 3630 + i32.const 3442 i32.const 1 call $~lib/builtins/abort unreachable @@ -54156,7 +53199,7 @@ if i32.const 0 i32.const 32 - i32.const 3631 + i32.const 3443 i32.const 1 call $~lib/builtins/abort unreachable @@ -54170,7 +53213,7 @@ if i32.const 0 i32.const 32 - i32.const 3632 + i32.const 3444 i32.const 1 call $~lib/builtins/abort unreachable @@ -54184,7 +53227,7 @@ if i32.const 0 i32.const 32 - i32.const 3633 + i32.const 3445 i32.const 1 call $~lib/builtins/abort unreachable @@ -54198,7 +53241,7 @@ if i32.const 0 i32.const 32 - i32.const 3634 + i32.const 3446 i32.const 1 call $~lib/builtins/abort unreachable @@ -54212,7 +53255,7 @@ if i32.const 0 i32.const 32 - i32.const 3635 + i32.const 3447 i32.const 1 call $~lib/builtins/abort unreachable @@ -54226,7 +53269,7 @@ if i32.const 0 i32.const 32 - i32.const 3636 + i32.const 3448 i32.const 1 call $~lib/builtins/abort unreachable @@ -54240,7 +53283,7 @@ if i32.const 0 i32.const 32 - i32.const 3637 + i32.const 3449 i32.const 1 call $~lib/builtins/abort unreachable @@ -54254,7 +53297,7 @@ if i32.const 0 i32.const 32 - i32.const 3638 + i32.const 3450 i32.const 1 call $~lib/builtins/abort unreachable @@ -54268,7 +53311,7 @@ if i32.const 0 i32.const 32 - i32.const 3639 + i32.const 3451 i32.const 1 call $~lib/builtins/abort unreachable @@ -54282,7 +53325,7 @@ if i32.const 0 i32.const 32 - i32.const 3640 + i32.const 3452 i32.const 1 call $~lib/builtins/abort unreachable @@ -54296,7 +53339,7 @@ if i32.const 0 i32.const 32 - i32.const 3641 + i32.const 3453 i32.const 1 call $~lib/builtins/abort unreachable @@ -54310,7 +53353,7 @@ if i32.const 0 i32.const 32 - i32.const 3642 + i32.const 3454 i32.const 1 call $~lib/builtins/abort unreachable @@ -54324,7 +53367,7 @@ if i32.const 0 i32.const 32 - i32.const 3643 + i32.const 3455 i32.const 1 call $~lib/builtins/abort unreachable @@ -54338,7 +53381,7 @@ if i32.const 0 i32.const 32 - i32.const 3644 + i32.const 3456 i32.const 1 call $~lib/builtins/abort unreachable @@ -54352,7 +53395,7 @@ if i32.const 0 i32.const 32 - i32.const 3645 + i32.const 3457 i32.const 1 call $~lib/builtins/abort unreachable @@ -54366,7 +53409,7 @@ if i32.const 0 i32.const 32 - i32.const 3646 + i32.const 3458 i32.const 1 call $~lib/builtins/abort unreachable @@ -54380,7 +53423,7 @@ if i32.const 0 i32.const 32 - i32.const 3647 + i32.const 3459 i32.const 1 call $~lib/builtins/abort unreachable @@ -54394,7 +53437,7 @@ if i32.const 0 i32.const 32 - i32.const 3648 + i32.const 3460 i32.const 1 call $~lib/builtins/abort unreachable @@ -54408,7 +53451,7 @@ if i32.const 0 i32.const 32 - i32.const 3649 + i32.const 3461 i32.const 1 call $~lib/builtins/abort unreachable @@ -54422,7 +53465,7 @@ if i32.const 0 i32.const 32 - i32.const 3650 + i32.const 3462 i32.const 1 call $~lib/builtins/abort unreachable @@ -54436,7 +53479,7 @@ if i32.const 0 i32.const 32 - i32.const 3651 + i32.const 3463 i32.const 1 call $~lib/builtins/abort unreachable @@ -54450,7 +53493,7 @@ if i32.const 0 i32.const 32 - i32.const 3652 + i32.const 3464 i32.const 1 call $~lib/builtins/abort unreachable @@ -54464,7 +53507,7 @@ if i32.const 0 i32.const 32 - i32.const 3653 + i32.const 3465 i32.const 1 call $~lib/builtins/abort unreachable @@ -54478,7 +53521,7 @@ if i32.const 0 i32.const 32 - i32.const 3654 + i32.const 3466 i32.const 1 call $~lib/builtins/abort unreachable @@ -54492,7 +53535,7 @@ if i32.const 0 i32.const 32 - i32.const 3655 + i32.const 3467 i32.const 1 call $~lib/builtins/abort unreachable @@ -54506,7 +53549,7 @@ if i32.const 0 i32.const 32 - i32.const 3656 + i32.const 3468 i32.const 1 call $~lib/builtins/abort unreachable @@ -54520,7 +53563,7 @@ if i32.const 0 i32.const 32 - i32.const 3657 + i32.const 3469 i32.const 1 call $~lib/builtins/abort unreachable @@ -54534,7 +53577,7 @@ if i32.const 0 i32.const 32 - i32.const 3658 + i32.const 3470 i32.const 1 call $~lib/builtins/abort unreachable @@ -54548,7 +53591,7 @@ if i32.const 0 i32.const 32 - i32.const 3667 + i32.const 3479 i32.const 1 call $~lib/builtins/abort unreachable @@ -54562,7 +53605,7 @@ if i32.const 0 i32.const 32 - i32.const 3668 + i32.const 3480 i32.const 1 call $~lib/builtins/abort unreachable @@ -54576,7 +53619,7 @@ if i32.const 0 i32.const 32 - i32.const 3669 + i32.const 3481 i32.const 1 call $~lib/builtins/abort unreachable @@ -54590,7 +53633,7 @@ if i32.const 0 i32.const 32 - i32.const 3670 + i32.const 3482 i32.const 1 call $~lib/builtins/abort unreachable @@ -54604,7 +53647,7 @@ if i32.const 0 i32.const 32 - i32.const 3671 + i32.const 3483 i32.const 1 call $~lib/builtins/abort unreachable @@ -54618,7 +53661,7 @@ if i32.const 0 i32.const 32 - i32.const 3672 + i32.const 3484 i32.const 1 call $~lib/builtins/abort unreachable @@ -54632,7 +53675,7 @@ if i32.const 0 i32.const 32 - i32.const 3673 + i32.const 3485 i32.const 1 call $~lib/builtins/abort unreachable @@ -54646,7 +53689,7 @@ if i32.const 0 i32.const 32 - i32.const 3674 + i32.const 3486 i32.const 1 call $~lib/builtins/abort unreachable @@ -54660,7 +53703,7 @@ if i32.const 0 i32.const 32 - i32.const 3675 + i32.const 3487 i32.const 1 call $~lib/builtins/abort unreachable @@ -54674,7 +53717,7 @@ if i32.const 0 i32.const 32 - i32.const 3676 + i32.const 3488 i32.const 1 call $~lib/builtins/abort unreachable @@ -54688,7 +53731,7 @@ if i32.const 0 i32.const 32 - i32.const 3679 + i32.const 3491 i32.const 1 call $~lib/builtins/abort unreachable @@ -54702,7 +53745,7 @@ if i32.const 0 i32.const 32 - i32.const 3680 + i32.const 3492 i32.const 1 call $~lib/builtins/abort unreachable @@ -54717,7 +53760,7 @@ if i32.const 0 i32.const 32 - i32.const 3681 + i32.const 3493 i32.const 1 call $~lib/builtins/abort unreachable @@ -54731,7 +53774,7 @@ if i32.const 0 i32.const 32 - i32.const 3682 + i32.const 3494 i32.const 1 call $~lib/builtins/abort unreachable @@ -54745,7 +53788,7 @@ if i32.const 0 i32.const 32 - i32.const 3683 + i32.const 3495 i32.const 1 call $~lib/builtins/abort unreachable @@ -54759,7 +53802,7 @@ if i32.const 0 i32.const 32 - i32.const 3684 + i32.const 3496 i32.const 1 call $~lib/builtins/abort unreachable @@ -54773,7 +53816,7 @@ if i32.const 0 i32.const 32 - i32.const 3685 + i32.const 3497 i32.const 1 call $~lib/builtins/abort unreachable @@ -54787,7 +53830,7 @@ if i32.const 0 i32.const 32 - i32.const 3686 + i32.const 3498 i32.const 1 call $~lib/builtins/abort unreachable @@ -54801,7 +53844,7 @@ if i32.const 0 i32.const 32 - i32.const 3687 + i32.const 3499 i32.const 1 call $~lib/builtins/abort unreachable @@ -54815,7 +53858,7 @@ if i32.const 0 i32.const 32 - i32.const 3688 + i32.const 3500 i32.const 1 call $~lib/builtins/abort unreachable @@ -54829,7 +53872,7 @@ if i32.const 0 i32.const 32 - i32.const 3689 + i32.const 3501 i32.const 1 call $~lib/builtins/abort unreachable @@ -54843,7 +53886,7 @@ if i32.const 0 i32.const 32 - i32.const 3690 + i32.const 3502 i32.const 1 call $~lib/builtins/abort unreachable @@ -54857,7 +53900,7 @@ if i32.const 0 i32.const 32 - i32.const 3691 + i32.const 3503 i32.const 1 call $~lib/builtins/abort unreachable @@ -54871,7 +53914,7 @@ if i32.const 0 i32.const 32 - i32.const 3692 + i32.const 3504 i32.const 1 call $~lib/builtins/abort unreachable @@ -54885,7 +53928,7 @@ if i32.const 0 i32.const 32 - i32.const 3693 + i32.const 3505 i32.const 1 call $~lib/builtins/abort unreachable @@ -54899,7 +53942,7 @@ if i32.const 0 i32.const 32 - i32.const 3694 + i32.const 3506 i32.const 1 call $~lib/builtins/abort unreachable @@ -54913,7 +53956,7 @@ if i32.const 0 i32.const 32 - i32.const 3695 + i32.const 3507 i32.const 1 call $~lib/builtins/abort unreachable @@ -54927,7 +53970,7 @@ if i32.const 0 i32.const 32 - i32.const 3696 + i32.const 3508 i32.const 1 call $~lib/builtins/abort unreachable @@ -54941,7 +53984,7 @@ if i32.const 0 i32.const 32 - i32.const 3697 + i32.const 3509 i32.const 1 call $~lib/builtins/abort unreachable @@ -54955,7 +53998,7 @@ if i32.const 0 i32.const 32 - i32.const 3698 + i32.const 3510 i32.const 1 call $~lib/builtins/abort unreachable @@ -54969,7 +54012,7 @@ if i32.const 0 i32.const 32 - i32.const 3699 + i32.const 3511 i32.const 1 call $~lib/builtins/abort unreachable @@ -54983,7 +54026,7 @@ if i32.const 0 i32.const 32 - i32.const 3700 + i32.const 3512 i32.const 1 call $~lib/builtins/abort unreachable @@ -54997,7 +54040,7 @@ if i32.const 0 i32.const 32 - i32.const 3712 + i32.const 3524 i32.const 1 call $~lib/builtins/abort unreachable @@ -55011,7 +54054,7 @@ if i32.const 0 i32.const 32 - i32.const 3713 + i32.const 3525 i32.const 1 call $~lib/builtins/abort unreachable @@ -55025,7 +54068,7 @@ if i32.const 0 i32.const 32 - i32.const 3714 + i32.const 3526 i32.const 1 call $~lib/builtins/abort unreachable @@ -55039,7 +54082,7 @@ if i32.const 0 i32.const 32 - i32.const 3715 + i32.const 3527 i32.const 1 call $~lib/builtins/abort unreachable @@ -55053,7 +54096,7 @@ if i32.const 0 i32.const 32 - i32.const 3716 + i32.const 3528 i32.const 1 call $~lib/builtins/abort unreachable @@ -55067,7 +54110,7 @@ if i32.const 0 i32.const 32 - i32.const 3717 + i32.const 3529 i32.const 1 call $~lib/builtins/abort unreachable @@ -55081,7 +54124,7 @@ if i32.const 0 i32.const 32 - i32.const 3718 + i32.const 3530 i32.const 1 call $~lib/builtins/abort unreachable @@ -55095,7 +54138,7 @@ if i32.const 0 i32.const 32 - i32.const 3719 + i32.const 3531 i32.const 1 call $~lib/builtins/abort unreachable @@ -55109,7 +54152,7 @@ if i32.const 0 i32.const 32 - i32.const 3720 + i32.const 3532 i32.const 1 call $~lib/builtins/abort unreachable @@ -55123,7 +54166,7 @@ if i32.const 0 i32.const 32 - i32.const 3721 + i32.const 3533 i32.const 1 call $~lib/builtins/abort unreachable @@ -55137,7 +54180,7 @@ if i32.const 0 i32.const 32 - i32.const 3724 + i32.const 3536 i32.const 1 call $~lib/builtins/abort unreachable @@ -55151,7 +54194,7 @@ if i32.const 0 i32.const 32 - i32.const 3725 + i32.const 3537 i32.const 1 call $~lib/builtins/abort unreachable @@ -55165,7 +54208,7 @@ if i32.const 0 i32.const 32 - i32.const 3726 + i32.const 3538 i32.const 1 call $~lib/builtins/abort unreachable @@ -55179,7 +54222,7 @@ if i32.const 0 i32.const 32 - i32.const 3727 + i32.const 3539 i32.const 1 call $~lib/builtins/abort unreachable @@ -55195,7 +54238,7 @@ if i32.const 0 i32.const 32 - i32.const 3728 + i32.const 3540 i32.const 1 call $~lib/builtins/abort unreachable @@ -55211,7 +54254,7 @@ if i32.const 0 i32.const 32 - i32.const 3729 + i32.const 3541 i32.const 1 call $~lib/builtins/abort unreachable @@ -55225,7 +54268,7 @@ if i32.const 0 i32.const 32 - i32.const 3730 + i32.const 3542 i32.const 1 call $~lib/builtins/abort unreachable @@ -55239,7 +54282,7 @@ if i32.const 0 i32.const 32 - i32.const 3731 + i32.const 3543 i32.const 1 call $~lib/builtins/abort unreachable @@ -55253,7 +54296,7 @@ if i32.const 0 i32.const 32 - i32.const 3732 + i32.const 3544 i32.const 1 call $~lib/builtins/abort unreachable @@ -55267,7 +54310,7 @@ if i32.const 0 i32.const 32 - i32.const 3733 + i32.const 3545 i32.const 1 call $~lib/builtins/abort unreachable @@ -55281,7 +54324,7 @@ if i32.const 0 i32.const 32 - i32.const 3734 + i32.const 3546 i32.const 1 call $~lib/builtins/abort unreachable @@ -55295,7 +54338,7 @@ if i32.const 0 i32.const 32 - i32.const 3735 + i32.const 3547 i32.const 1 call $~lib/builtins/abort unreachable @@ -55309,7 +54352,7 @@ if i32.const 0 i32.const 32 - i32.const 3736 + i32.const 3548 i32.const 1 call $~lib/builtins/abort unreachable @@ -55323,7 +54366,7 @@ if i32.const 0 i32.const 32 - i32.const 3737 + i32.const 3549 i32.const 1 call $~lib/builtins/abort unreachable @@ -55337,7 +54380,7 @@ if i32.const 0 i32.const 32 - i32.const 3738 + i32.const 3550 i32.const 1 call $~lib/builtins/abort unreachable @@ -55351,7 +54394,7 @@ if i32.const 0 i32.const 32 - i32.const 3739 + i32.const 3551 i32.const 1 call $~lib/builtins/abort unreachable @@ -55365,7 +54408,7 @@ if i32.const 0 i32.const 32 - i32.const 3740 + i32.const 3552 i32.const 1 call $~lib/builtins/abort unreachable @@ -55379,7 +54422,7 @@ if i32.const 0 i32.const 32 - i32.const 3741 + i32.const 3553 i32.const 1 call $~lib/builtins/abort unreachable @@ -55393,7 +54436,7 @@ if i32.const 0 i32.const 32 - i32.const 3742 + i32.const 3554 i32.const 1 call $~lib/builtins/abort unreachable @@ -55407,7 +54450,7 @@ if i32.const 0 i32.const 32 - i32.const 3743 + i32.const 3555 i32.const 1 call $~lib/builtins/abort unreachable @@ -55421,7 +54464,7 @@ if i32.const 0 i32.const 32 - i32.const 3744 + i32.const 3556 i32.const 1 call $~lib/builtins/abort unreachable @@ -55435,7 +54478,7 @@ if i32.const 0 i32.const 32 - i32.const 3745 + i32.const 3557 i32.const 1 call $~lib/builtins/abort unreachable @@ -55449,7 +54492,7 @@ if i32.const 0 i32.const 32 - i32.const 3746 + i32.const 3558 i32.const 1 call $~lib/builtins/abort unreachable @@ -55463,7 +54506,7 @@ if i32.const 0 i32.const 32 - i32.const 3747 + i32.const 3559 i32.const 1 call $~lib/builtins/abort unreachable @@ -55477,7 +54520,7 @@ if i32.const 0 i32.const 32 - i32.const 3748 + i32.const 3560 i32.const 1 call $~lib/builtins/abort unreachable @@ -55491,7 +54534,7 @@ if i32.const 0 i32.const 32 - i32.const 3749 + i32.const 3561 i32.const 1 call $~lib/builtins/abort unreachable @@ -55507,7 +54550,7 @@ if i32.const 0 i32.const 32 - i32.const 3750 + i32.const 3562 i32.const 1 call $~lib/builtins/abort unreachable @@ -55523,7 +54566,7 @@ if i32.const 0 i32.const 32 - i32.const 3751 + i32.const 3563 i32.const 1 call $~lib/builtins/abort unreachable @@ -55539,7 +54582,7 @@ if i32.const 0 i32.const 32 - i32.const 3752 + i32.const 3564 i32.const 1 call $~lib/builtins/abort unreachable @@ -55555,7 +54598,7 @@ if i32.const 0 i32.const 32 - i32.const 3753 + i32.const 3565 i32.const 1 call $~lib/builtins/abort unreachable @@ -55571,7 +54614,7 @@ if i32.const 0 i32.const 32 - i32.const 3754 + i32.const 3566 i32.const 1 call $~lib/builtins/abort unreachable @@ -55587,7 +54630,7 @@ if i32.const 0 i32.const 32 - i32.const 3755 + i32.const 3567 i32.const 1 call $~lib/builtins/abort unreachable @@ -55603,7 +54646,7 @@ if i32.const 0 i32.const 32 - i32.const 3756 + i32.const 3568 i32.const 1 call $~lib/builtins/abort unreachable @@ -55619,7 +54662,7 @@ if i32.const 0 i32.const 32 - i32.const 3757 + i32.const 3569 i32.const 1 call $~lib/builtins/abort unreachable @@ -55635,7 +54678,7 @@ if i32.const 0 i32.const 32 - i32.const 3758 + i32.const 3570 i32.const 1 call $~lib/builtins/abort unreachable @@ -55651,7 +54694,7 @@ if i32.const 0 i32.const 32 - i32.const 3759 + i32.const 3571 i32.const 1 call $~lib/builtins/abort unreachable @@ -55667,7 +54710,7 @@ if i32.const 0 i32.const 32 - i32.const 3760 + i32.const 3572 i32.const 1 call $~lib/builtins/abort unreachable @@ -55683,13 +54726,28 @@ if i32.const 0 i32.const 32 - i32.const 3761 + i32.const 3573 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.1 (result f64) + f64.const 2.3283064365386963e-10 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.1 + end f64.const 2.3283064365386963e-10 call $~lib/bindings/dom/Math.tan f64.eq @@ -55697,29 +54755,59 @@ if i32.const 0 i32.const 32 - i32.const 3764 + i32.const 3576 i32.const 1 call $~lib/builtins/abort unreachable end + block $~lib/math/NativeMath.tan|inlined.2 (result f64) + f64.const -2.3283064365386963e-10 + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.2 + end f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.tan - f64.const -2.3283064365386963e-10 call $~lib/bindings/dom/Math.tan f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 3765 + i32.const 3577 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 11 - f64.const 16 - f64.div - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.3 (result f64) + f64.const 11 + f64.const 16 + f64.div + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.3 + end f64.const 11 f64.const 16 f64.div @@ -55729,15 +54817,30 @@ if i32.const 0 i32.const 32 - i32.const 3766 + i32.const 3578 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -11 - f64.const 16 - f64.div - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.4 (result f64) + f64.const -11 + f64.const 16 + f64.div + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.4 + end f64.const -11 f64.const 16 f64.div @@ -55747,13 +54850,28 @@ if i32.const 0 i32.const 32 - i32.const 3767 + i32.const 3579 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.39269908169872414 - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.5 (result f64) + f64.const 0.39269908169872414 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.5 + end f64.const 0.39269908169872414 call $~lib/bindings/dom/Math.tan f64.eq @@ -55761,13 +54879,28 @@ if i32.const 0 i32.const 32 - i32.const 3768 + i32.const 3580 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.6743358 - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.6 (result f64) + f64.const 0.6743358 + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.6 + end f64.const 0.6743358 call $~lib/bindings/dom/Math.tan f64.eq @@ -55775,13 +54908,28 @@ if i32.const 0 i32.const 32 - i32.const 3769 + i32.const 3581 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 3.725290298461914e-09 - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.7 (result f64) + f64.const 3.725290298461914e-09 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.7 + end f64.const 3.725290298461914e-09 call $~lib/bindings/dom/Math.tan f64.eq @@ -55789,15 +54937,30 @@ if i32.const 0 i32.const 32 - i32.const 3770 + i32.const 3582 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/math/kPI - f64.const 2 - f64.div - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.8 (result f64) + global.get $std/math/kPI + f64.const 2 + f64.div + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.8 + end global.get $std/math/kPI f64.const 2 f64.div @@ -55807,13 +54970,28 @@ if i32.const 0 i32.const 32 - i32.const 3771 + i32.const 3583 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.5 - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.9 (result f64) + f64.const 0.5 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.9 + end f64.const 0.5 call $~lib/bindings/dom/Math.tan f64.eq @@ -55821,13 +54999,28 @@ if i32.const 0 i32.const 32 - i32.const 3773 + i32.const 3585 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.107148717794091 - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.10 (result f64) + f64.const 1.107148717794091 + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.10 + end f64.const 1.107148717794091 call $~lib/bindings/dom/Math.tan f64.eq @@ -55835,17 +55028,32 @@ if i32.const 0 i32.const 32 - i32.const 3774 + i32.const 3586 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 7 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.11 (result f64) + f64.const 7 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.11 + end f64.const 7 f64.const 4 f64.div @@ -55857,17 +55065,32 @@ if i32.const 0 i32.const 32 - i32.const 3775 + i32.const 3587 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9 - f64.const 4 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.12 (result f64) + f64.const 9 + f64.const 4 + f64.div + global.get $std/math/kPI + f64.mul + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.12 + end f64.const 9 f64.const 4 f64.div @@ -55879,17 +55102,32 @@ if i32.const 0 i32.const 32 - i32.const 3776 + i32.const 3588 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1048576 - f64.const 2 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.13 (result f64) + f64.const 1048576 + f64.const 2 + f64.div + global.get $std/math/kPI + f64.mul + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.13 + end f64.const 1048576 f64.const 2 f64.div @@ -55901,17 +55139,32 @@ if i32.const 0 i32.const 32 - i32.const 3777 + i32.const 3589 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1048575 - f64.const 2 - f64.div - global.get $std/math/kPI - f64.mul - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.14 (result f64) + f64.const 1048575 + f64.const 2 + f64.div + global.get $std/math/kPI + f64.mul + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.14 + end f64.const 1048575 f64.const 2 f64.div @@ -55923,13 +55176,28 @@ if i32.const 0 i32.const 32 - i32.const 3778 + i32.const 3590 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/math/kTwo120 - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.15 (result f64) + global.get $std/math/kTwo120 + local.set $0 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.15 + end global.get $std/math/kTwo120 call $~lib/bindings/dom/Math.tan f64.eq @@ -55937,14 +55205,29 @@ if i32.const 0 i32.const 32 - i32.const 3779 + i32.const 3591 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/math/kTwo120 - f64.neg - call $~lib/math/NativeMath.tan + block $~lib/math/NativeMath.tan|inlined.16 (result f64) + global.get $std/math/kTwo120 + f64.neg + local.set $1 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $1 + call $~lib/util/math/tan64 + br $~lib/math/NativeMath.tan|inlined.16 + end global.get $std/math/kTwo120 f64.neg call $~lib/bindings/dom/Math.tan @@ -55953,7 +55236,7 @@ if i32.const 0 i32.const 32 - i32.const 3780 + i32.const 3592 i32.const 1 call $~lib/builtins/abort unreachable @@ -55967,7 +55250,7 @@ if i32.const 0 i32.const 32 - i32.const 3783 + i32.const 3595 i32.const 1 call $~lib/builtins/abort unreachable @@ -55981,7 +55264,7 @@ if i32.const 0 i32.const 32 - i32.const 3784 + i32.const 3596 i32.const 1 call $~lib/builtins/abort unreachable @@ -55995,7 +55278,7 @@ if i32.const 0 i32.const 32 - i32.const 3785 + i32.const 3597 i32.const 1 call $~lib/builtins/abort unreachable @@ -56010,7 +55293,7 @@ if i32.const 0 i32.const 32 - i32.const 3786 + i32.const 3598 i32.const 1 call $~lib/builtins/abort unreachable @@ -56024,7 +55307,7 @@ if i32.const 0 i32.const 32 - i32.const 3787 + i32.const 3599 i32.const 1 call $~lib/builtins/abort unreachable @@ -56038,7 +55321,7 @@ if i32.const 0 i32.const 32 - i32.const 3796 + i32.const 3608 i32.const 1 call $~lib/builtins/abort unreachable @@ -56052,7 +55335,7 @@ if i32.const 0 i32.const 32 - i32.const 3797 + i32.const 3609 i32.const 1 call $~lib/builtins/abort unreachable @@ -56066,7 +55349,7 @@ if i32.const 0 i32.const 32 - i32.const 3798 + i32.const 3610 i32.const 1 call $~lib/builtins/abort unreachable @@ -56080,7 +55363,7 @@ if i32.const 0 i32.const 32 - i32.const 3799 + i32.const 3611 i32.const 1 call $~lib/builtins/abort unreachable @@ -56094,7 +55377,7 @@ if i32.const 0 i32.const 32 - i32.const 3800 + i32.const 3612 i32.const 1 call $~lib/builtins/abort unreachable @@ -56108,7 +55391,7 @@ if i32.const 0 i32.const 32 - i32.const 3801 + i32.const 3613 i32.const 1 call $~lib/builtins/abort unreachable @@ -56122,7 +55405,7 @@ if i32.const 0 i32.const 32 - i32.const 3802 + i32.const 3614 i32.const 1 call $~lib/builtins/abort unreachable @@ -56136,7 +55419,7 @@ if i32.const 0 i32.const 32 - i32.const 3803 + i32.const 3615 i32.const 1 call $~lib/builtins/abort unreachable @@ -56150,7 +55433,7 @@ if i32.const 0 i32.const 32 - i32.const 3804 + i32.const 3616 i32.const 1 call $~lib/builtins/abort unreachable @@ -56164,7 +55447,7 @@ if i32.const 0 i32.const 32 - i32.const 3805 + i32.const 3617 i32.const 1 call $~lib/builtins/abort unreachable @@ -56178,7 +55461,7 @@ if i32.const 0 i32.const 32 - i32.const 3808 + i32.const 3620 i32.const 1 call $~lib/builtins/abort unreachable @@ -56192,7 +55475,7 @@ if i32.const 0 i32.const 32 - i32.const 3809 + i32.const 3621 i32.const 1 call $~lib/builtins/abort unreachable @@ -56206,7 +55489,7 @@ if i32.const 0 i32.const 32 - i32.const 3810 + i32.const 3622 i32.const 1 call $~lib/builtins/abort unreachable @@ -56221,7 +55504,7 @@ if i32.const 0 i32.const 32 - i32.const 3811 + i32.const 3623 i32.const 1 call $~lib/builtins/abort unreachable @@ -56235,7 +55518,7 @@ if i32.const 0 i32.const 32 - i32.const 3812 + i32.const 3624 i32.const 1 call $~lib/builtins/abort unreachable @@ -56249,7 +55532,7 @@ if i32.const 0 i32.const 32 - i32.const 3815 + i32.const 3627 i32.const 1 call $~lib/builtins/abort unreachable @@ -56263,7 +55546,7 @@ if i32.const 0 i32.const 32 - i32.const 3816 + i32.const 3628 i32.const 1 call $~lib/builtins/abort unreachable @@ -56277,7 +55560,7 @@ if i32.const 0 i32.const 32 - i32.const 3817 + i32.const 3629 i32.const 1 call $~lib/builtins/abort unreachable @@ -56291,7 +55574,7 @@ if i32.const 0 i32.const 32 - i32.const 3818 + i32.const 3630 i32.const 1 call $~lib/builtins/abort unreachable @@ -56307,7 +55590,7 @@ if i32.const 0 i32.const 32 - i32.const 3819 + i32.const 3631 i32.const 1 call $~lib/builtins/abort unreachable @@ -56323,7 +55606,7 @@ if i32.const 0 i32.const 32 - i32.const 3820 + i32.const 3632 i32.const 1 call $~lib/builtins/abort unreachable @@ -56337,7 +55620,7 @@ if i32.const 0 i32.const 32 - i32.const 3821 + i32.const 3633 i32.const 1 call $~lib/builtins/abort unreachable @@ -56351,7 +55634,7 @@ if i32.const 0 i32.const 32 - i32.const 3822 + i32.const 3634 i32.const 1 call $~lib/builtins/abort unreachable @@ -56365,7 +55648,7 @@ if i32.const 0 i32.const 32 - i32.const 3823 + i32.const 3635 i32.const 1 call $~lib/builtins/abort unreachable @@ -56379,7 +55662,7 @@ if i32.const 0 i32.const 32 - i32.const 3824 + i32.const 3636 i32.const 1 call $~lib/builtins/abort unreachable @@ -56393,7 +55676,7 @@ if i32.const 0 i32.const 32 - i32.const 3825 + i32.const 3637 i32.const 1 call $~lib/builtins/abort unreachable @@ -56407,7 +55690,7 @@ if i32.const 0 i32.const 32 - i32.const 3826 + i32.const 3638 i32.const 1 call $~lib/builtins/abort unreachable @@ -56421,7 +55704,7 @@ if i32.const 0 i32.const 32 - i32.const 3827 + i32.const 3639 i32.const 1 call $~lib/builtins/abort unreachable @@ -56435,7 +55718,7 @@ if i32.const 0 i32.const 32 - i32.const 3828 + i32.const 3640 i32.const 1 call $~lib/builtins/abort unreachable @@ -56449,7 +55732,7 @@ if i32.const 0 i32.const 32 - i32.const 3829 + i32.const 3641 i32.const 1 call $~lib/builtins/abort unreachable @@ -56463,7 +55746,7 @@ if i32.const 0 i32.const 32 - i32.const 3830 + i32.const 3642 i32.const 1 call $~lib/builtins/abort unreachable @@ -56477,7 +55760,7 @@ if i32.const 0 i32.const 32 - i32.const 3831 + i32.const 3643 i32.const 1 call $~lib/builtins/abort unreachable @@ -56491,7 +55774,7 @@ if i32.const 0 i32.const 32 - i32.const 3832 + i32.const 3644 i32.const 1 call $~lib/builtins/abort unreachable @@ -56505,7 +55788,7 @@ if i32.const 0 i32.const 32 - i32.const 3833 + i32.const 3645 i32.const 1 call $~lib/builtins/abort unreachable @@ -56519,7 +55802,7 @@ if i32.const 0 i32.const 32 - i32.const 3834 + i32.const 3646 i32.const 1 call $~lib/builtins/abort unreachable @@ -56533,7 +55816,7 @@ if i32.const 0 i32.const 32 - i32.const 3835 + i32.const 3647 i32.const 1 call $~lib/builtins/abort unreachable @@ -56547,7 +55830,7 @@ if i32.const 0 i32.const 32 - i32.const 3836 + i32.const 3648 i32.const 1 call $~lib/builtins/abort unreachable @@ -56561,7 +55844,7 @@ if i32.const 0 i32.const 32 - i32.const 3837 + i32.const 3649 i32.const 1 call $~lib/builtins/abort unreachable @@ -56575,7 +55858,7 @@ if i32.const 0 i32.const 32 - i32.const 3838 + i32.const 3650 i32.const 1 call $~lib/builtins/abort unreachable @@ -56591,7 +55874,7 @@ if i32.const 0 i32.const 32 - i32.const 3839 + i32.const 3651 i32.const 1 call $~lib/builtins/abort unreachable @@ -56607,7 +55890,7 @@ if i32.const 0 i32.const 32 - i32.const 3840 + i32.const 3652 i32.const 1 call $~lib/builtins/abort unreachable @@ -56623,7 +55906,7 @@ if i32.const 0 i32.const 32 - i32.const 3841 + i32.const 3653 i32.const 1 call $~lib/builtins/abort unreachable @@ -56639,7 +55922,7 @@ if i32.const 0 i32.const 32 - i32.const 3842 + i32.const 3654 i32.const 1 call $~lib/builtins/abort unreachable @@ -56655,7 +55938,7 @@ if i32.const 0 i32.const 32 - i32.const 3843 + i32.const 3655 i32.const 1 call $~lib/builtins/abort unreachable @@ -56671,7 +55954,7 @@ if i32.const 0 i32.const 32 - i32.const 3844 + i32.const 3656 i32.const 1 call $~lib/builtins/abort unreachable @@ -56687,7 +55970,7 @@ if i32.const 0 i32.const 32 - i32.const 3845 + i32.const 3657 i32.const 1 call $~lib/builtins/abort unreachable @@ -56703,7 +55986,7 @@ if i32.const 0 i32.const 32 - i32.const 3846 + i32.const 3658 i32.const 1 call $~lib/builtins/abort unreachable @@ -56719,7 +56002,7 @@ if i32.const 0 i32.const 32 - i32.const 3847 + i32.const 3659 i32.const 1 call $~lib/builtins/abort unreachable @@ -56735,7 +56018,7 @@ if i32.const 0 i32.const 32 - i32.const 3848 + i32.const 3660 i32.const 1 call $~lib/builtins/abort unreachable @@ -56751,7 +56034,7 @@ if i32.const 0 i32.const 32 - i32.const 3849 + i32.const 3661 i32.const 1 call $~lib/builtins/abort unreachable @@ -56767,7 +56050,7 @@ if i32.const 0 i32.const 32 - i32.const 3850 + i32.const 3662 i32.const 1 call $~lib/builtins/abort unreachable @@ -56781,7 +56064,7 @@ if i32.const 0 i32.const 32 - i32.const 3862 + i32.const 3674 i32.const 1 call $~lib/builtins/abort unreachable @@ -56795,7 +56078,7 @@ if i32.const 0 i32.const 32 - i32.const 3863 + i32.const 3675 i32.const 1 call $~lib/builtins/abort unreachable @@ -56809,7 +56092,7 @@ if i32.const 0 i32.const 32 - i32.const 3864 + i32.const 3676 i32.const 1 call $~lib/builtins/abort unreachable @@ -56823,7 +56106,7 @@ if i32.const 0 i32.const 32 - i32.const 3865 + i32.const 3677 i32.const 1 call $~lib/builtins/abort unreachable @@ -56837,7 +56120,7 @@ if i32.const 0 i32.const 32 - i32.const 3866 + i32.const 3678 i32.const 1 call $~lib/builtins/abort unreachable @@ -56851,7 +56134,7 @@ if i32.const 0 i32.const 32 - i32.const 3867 + i32.const 3679 i32.const 1 call $~lib/builtins/abort unreachable @@ -56865,7 +56148,7 @@ if i32.const 0 i32.const 32 - i32.const 3868 + i32.const 3680 i32.const 1 call $~lib/builtins/abort unreachable @@ -56879,7 +56162,7 @@ if i32.const 0 i32.const 32 - i32.const 3869 + i32.const 3681 i32.const 1 call $~lib/builtins/abort unreachable @@ -56893,7 +56176,7 @@ if i32.const 0 i32.const 32 - i32.const 3870 + i32.const 3682 i32.const 1 call $~lib/builtins/abort unreachable @@ -56907,7 +56190,7 @@ if i32.const 0 i32.const 32 - i32.const 3871 + i32.const 3683 i32.const 1 call $~lib/builtins/abort unreachable @@ -56921,7 +56204,7 @@ if i32.const 0 i32.const 32 - i32.const 3874 + i32.const 3686 i32.const 1 call $~lib/builtins/abort unreachable @@ -56935,7 +56218,7 @@ if i32.const 0 i32.const 32 - i32.const 3875 + i32.const 3687 i32.const 1 call $~lib/builtins/abort unreachable @@ -56949,7 +56232,7 @@ if i32.const 0 i32.const 32 - i32.const 3876 + i32.const 3688 i32.const 1 call $~lib/builtins/abort unreachable @@ -56964,7 +56247,7 @@ if i32.const 0 i32.const 32 - i32.const 3877 + i32.const 3689 i32.const 1 call $~lib/builtins/abort unreachable @@ -56978,7 +56261,7 @@ if i32.const 0 i32.const 32 - i32.const 3878 + i32.const 3690 i32.const 1 call $~lib/builtins/abort unreachable @@ -56992,7 +56275,7 @@ if i32.const 0 i32.const 32 - i32.const 3887 + i32.const 3699 i32.const 1 call $~lib/builtins/abort unreachable @@ -57006,7 +56289,7 @@ if i32.const 0 i32.const 32 - i32.const 3888 + i32.const 3700 i32.const 1 call $~lib/builtins/abort unreachable @@ -57020,7 +56303,7 @@ if i32.const 0 i32.const 32 - i32.const 3889 + i32.const 3701 i32.const 1 call $~lib/builtins/abort unreachable @@ -57034,7 +56317,7 @@ if i32.const 0 i32.const 32 - i32.const 3890 + i32.const 3702 i32.const 1 call $~lib/builtins/abort unreachable @@ -57048,7 +56331,7 @@ if i32.const 0 i32.const 32 - i32.const 3891 + i32.const 3703 i32.const 1 call $~lib/builtins/abort unreachable @@ -57062,7 +56345,7 @@ if i32.const 0 i32.const 32 - i32.const 3892 + i32.const 3704 i32.const 1 call $~lib/builtins/abort unreachable @@ -57076,7 +56359,7 @@ if i32.const 0 i32.const 32 - i32.const 3893 + i32.const 3705 i32.const 1 call $~lib/builtins/abort unreachable @@ -57090,7 +56373,7 @@ if i32.const 0 i32.const 32 - i32.const 3894 + i32.const 3706 i32.const 1 call $~lib/builtins/abort unreachable @@ -57104,7 +56387,7 @@ if i32.const 0 i32.const 32 - i32.const 3895 + i32.const 3707 i32.const 1 call $~lib/builtins/abort unreachable @@ -57118,7 +56401,7 @@ if i32.const 0 i32.const 32 - i32.const 3896 + i32.const 3708 i32.const 1 call $~lib/builtins/abort unreachable @@ -57132,7 +56415,7 @@ if i32.const 0 i32.const 32 - i32.const 3899 + i32.const 3711 i32.const 1 call $~lib/builtins/abort unreachable @@ -57146,7 +56429,7 @@ if i32.const 0 i32.const 32 - i32.const 3900 + i32.const 3712 i32.const 1 call $~lib/builtins/abort unreachable @@ -57160,7 +56443,7 @@ if i32.const 0 i32.const 32 - i32.const 3901 + i32.const 3713 i32.const 1 call $~lib/builtins/abort unreachable @@ -57175,7 +56458,7 @@ if i32.const 0 i32.const 32 - i32.const 3902 + i32.const 3714 i32.const 1 call $~lib/builtins/abort unreachable @@ -57189,7 +56472,7 @@ if i32.const 0 i32.const 32 - i32.const 3903 + i32.const 3715 i32.const 1 call $~lib/builtins/abort unreachable @@ -57203,7 +56486,7 @@ if i32.const 0 i32.const 32 - i32.const 3915 + i32.const 3727 i32.const 1 call $~lib/builtins/abort unreachable @@ -57217,7 +56500,7 @@ if i32.const 0 i32.const 32 - i32.const 3916 + i32.const 3728 i32.const 1 call $~lib/builtins/abort unreachable @@ -57231,7 +56514,7 @@ if i32.const 0 i32.const 32 - i32.const 3917 + i32.const 3729 i32.const 1 call $~lib/builtins/abort unreachable @@ -57245,7 +56528,7 @@ if i32.const 0 i32.const 32 - i32.const 3918 + i32.const 3730 i32.const 1 call $~lib/builtins/abort unreachable @@ -57259,7 +56542,7 @@ if i32.const 0 i32.const 32 - i32.const 3919 + i32.const 3731 i32.const 1 call $~lib/builtins/abort unreachable @@ -57273,7 +56556,7 @@ if i32.const 0 i32.const 32 - i32.const 3920 + i32.const 3732 i32.const 1 call $~lib/builtins/abort unreachable @@ -57287,7 +56570,7 @@ if i32.const 0 i32.const 32 - i32.const 3921 + i32.const 3733 i32.const 1 call $~lib/builtins/abort unreachable @@ -57301,7 +56584,7 @@ if i32.const 0 i32.const 32 - i32.const 3922 + i32.const 3734 i32.const 1 call $~lib/builtins/abort unreachable @@ -57315,7 +56598,7 @@ if i32.const 0 i32.const 32 - i32.const 3923 + i32.const 3735 i32.const 1 call $~lib/builtins/abort unreachable @@ -57329,7 +56612,7 @@ if i32.const 0 i32.const 32 - i32.const 3924 + i32.const 3736 i32.const 1 call $~lib/builtins/abort unreachable @@ -57343,7 +56626,7 @@ if i32.const 0 i32.const 32 - i32.const 3927 + i32.const 3739 i32.const 1 call $~lib/builtins/abort unreachable @@ -57357,7 +56640,7 @@ if i32.const 0 i32.const 32 - i32.const 3928 + i32.const 3740 i32.const 1 call $~lib/builtins/abort unreachable @@ -57373,7 +56656,7 @@ if i32.const 0 i32.const 32 - i32.const 3929 + i32.const 3741 i32.const 1 call $~lib/builtins/abort unreachable @@ -57387,7 +56670,7 @@ if i32.const 0 i32.const 32 - i32.const 3930 + i32.const 3742 i32.const 1 call $~lib/builtins/abort unreachable @@ -57401,7 +56684,7 @@ if i32.const 0 i32.const 32 - i32.const 3931 + i32.const 3743 i32.const 1 call $~lib/builtins/abort unreachable @@ -57415,7 +56698,7 @@ if i32.const 0 i32.const 32 - i32.const 3932 + i32.const 3744 i32.const 1 call $~lib/builtins/abort unreachable @@ -57429,7 +56712,7 @@ if i32.const 0 i32.const 32 - i32.const 3933 + i32.const 3745 i32.const 1 call $~lib/builtins/abort unreachable @@ -57443,7 +56726,7 @@ if i32.const 0 i32.const 32 - i32.const 3934 + i32.const 3746 i32.const 1 call $~lib/builtins/abort unreachable @@ -57457,7 +56740,7 @@ if i32.const 0 i32.const 32 - i32.const 3935 + i32.const 3747 i32.const 1 call $~lib/builtins/abort unreachable @@ -57471,7 +56754,7 @@ if i32.const 0 i32.const 32 - i32.const 3936 + i32.const 3748 i32.const 1 call $~lib/builtins/abort unreachable @@ -57485,7 +56768,7 @@ if i32.const 0 i32.const 32 - i32.const 3937 + i32.const 3749 i32.const 1 call $~lib/builtins/abort unreachable @@ -57499,7 +56782,7 @@ if i32.const 0 i32.const 32 - i32.const 3938 + i32.const 3750 i32.const 1 call $~lib/builtins/abort unreachable @@ -57513,7 +56796,7 @@ if i32.const 0 i32.const 32 - i32.const 3939 + i32.const 3751 i32.const 1 call $~lib/builtins/abort unreachable @@ -57527,7 +56810,7 @@ if i32.const 0 i32.const 32 - i32.const 3940 + i32.const 3752 i32.const 1 call $~lib/builtins/abort unreachable @@ -57541,7 +56824,7 @@ if i32.const 0 i32.const 32 - i32.const 3941 + i32.const 3753 i32.const 1 call $~lib/builtins/abort unreachable @@ -57555,7 +56838,7 @@ if i32.const 0 i32.const 32 - i32.const 3950 + i32.const 3762 i32.const 1 call $~lib/builtins/abort unreachable @@ -57569,7 +56852,7 @@ if i32.const 0 i32.const 32 - i32.const 3951 + i32.const 3763 i32.const 1 call $~lib/builtins/abort unreachable @@ -57583,7 +56866,7 @@ if i32.const 0 i32.const 32 - i32.const 3952 + i32.const 3764 i32.const 1 call $~lib/builtins/abort unreachable @@ -57597,7 +56880,7 @@ if i32.const 0 i32.const 32 - i32.const 3953 + i32.const 3765 i32.const 1 call $~lib/builtins/abort unreachable @@ -57611,7 +56894,7 @@ if i32.const 0 i32.const 32 - i32.const 3954 + i32.const 3766 i32.const 1 call $~lib/builtins/abort unreachable @@ -57625,7 +56908,7 @@ if i32.const 0 i32.const 32 - i32.const 3955 + i32.const 3767 i32.const 1 call $~lib/builtins/abort unreachable @@ -57639,7 +56922,7 @@ if i32.const 0 i32.const 32 - i32.const 3956 + i32.const 3768 i32.const 1 call $~lib/builtins/abort unreachable @@ -57653,7 +56936,7 @@ if i32.const 0 i32.const 32 - i32.const 3957 + i32.const 3769 i32.const 1 call $~lib/builtins/abort unreachable @@ -57667,7 +56950,7 @@ if i32.const 0 i32.const 32 - i32.const 3958 + i32.const 3770 i32.const 1 call $~lib/builtins/abort unreachable @@ -57681,7 +56964,7 @@ if i32.const 0 i32.const 32 - i32.const 3959 + i32.const 3771 i32.const 1 call $~lib/builtins/abort unreachable @@ -57695,7 +56978,7 @@ if i32.const 0 i32.const 32 - i32.const 3962 + i32.const 3774 i32.const 1 call $~lib/builtins/abort unreachable @@ -57709,7 +56992,7 @@ if i32.const 0 i32.const 32 - i32.const 3963 + i32.const 3775 i32.const 1 call $~lib/builtins/abort unreachable @@ -57725,7 +57008,7 @@ if i32.const 0 i32.const 32 - i32.const 3964 + i32.const 3776 i32.const 1 call $~lib/builtins/abort unreachable @@ -57739,7 +57022,7 @@ if i32.const 0 i32.const 32 - i32.const 3965 + i32.const 3777 i32.const 1 call $~lib/builtins/abort unreachable @@ -57753,7 +57036,7 @@ if i32.const 0 i32.const 32 - i32.const 3966 + i32.const 3778 i32.const 1 call $~lib/builtins/abort unreachable @@ -57767,7 +57050,7 @@ if i32.const 0 i32.const 32 - i32.const 3967 + i32.const 3779 i32.const 1 call $~lib/builtins/abort unreachable @@ -57781,7 +57064,7 @@ if i32.const 0 i32.const 32 - i32.const 3968 + i32.const 3780 i32.const 1 call $~lib/builtins/abort unreachable @@ -57795,7 +57078,7 @@ if i32.const 0 i32.const 32 - i32.const 3969 + i32.const 3781 i32.const 1 call $~lib/builtins/abort unreachable @@ -57809,7 +57092,7 @@ if i32.const 0 i32.const 32 - i32.const 3970 + i32.const 3782 i32.const 1 call $~lib/builtins/abort unreachable @@ -57823,7 +57106,7 @@ if i32.const 0 i32.const 32 - i32.const 3971 + i32.const 3783 i32.const 1 call $~lib/builtins/abort unreachable @@ -57837,7 +57120,7 @@ if i32.const 0 i32.const 32 - i32.const 3972 + i32.const 3784 i32.const 1 call $~lib/builtins/abort unreachable @@ -57851,7 +57134,7 @@ if i32.const 0 i32.const 32 - i32.const 3973 + i32.const 3785 i32.const 1 call $~lib/builtins/abort unreachable @@ -57865,7 +57148,7 @@ if i32.const 0 i32.const 32 - i32.const 3974 + i32.const 3786 i32.const 1 call $~lib/builtins/abort unreachable @@ -57879,7 +57162,7 @@ if i32.const 0 i32.const 32 - i32.const 3975 + i32.const 3787 i32.const 1 call $~lib/builtins/abort unreachable @@ -57893,7 +57176,7 @@ if i32.const 0 i32.const 32 - i32.const 3976 + i32.const 3788 i32.const 1 call $~lib/builtins/abort unreachable @@ -57980,784 +57263,784 @@ drop f64.const 2 f64.const 4 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 8 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4017 + i32.const 3829 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 8 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -8 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4018 + i32.const 3830 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2 f64.const -2 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 4 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4019 + i32.const 3831 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967295 f64.const 5 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -5 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4020 + i32.const 3832 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967294 f64.const 5 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -10 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4021 + i32.const 3833 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+60 f64.const 1.e+60 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4022 + i32.const 3834 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+60 f64.const -1.e+60 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4023 + i32.const 3835 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.e+60 f64.const -1.e+60 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4024 + i32.const 3836 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+24 f64.const 100 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -2147483648 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4025 + i32.const 3837 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 f64.const 1 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4026 + i32.const 3838 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const inf - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4027 + i32.const 3839 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE global.get $~lib/builtins/f64.MAX_VALUE - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4028 + i32.const 3840 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4032 + i32.const 3844 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 31 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4033 + i32.const 3845 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4034 + i32.const 3846 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -128 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4035 + i32.const 3847 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967295 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4036 + i32.const 3848 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967295.5 - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4037 + i32.const 3849 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967296 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4038 + i32.const 3850 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967297 - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 31 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4039 + i32.const 3851 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4040 + i32.const 3852 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4041 + i32.const 3853 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER - call $~lib/math/NativeMath.clz32 - f64.const 0 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4042 + i32.const 3854 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_SAFE_INTEGER f64.neg - call $~lib/math/NativeMath.clz32 - f64.const 31 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 31 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4043 + i32.const 3855 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4044 + i32.const 3856 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MIN_VALUE - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4045 + i32.const 3857 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.MAX_VALUE f64.neg - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4046 + i32.const 3858 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/builtins/f64.EPSILON - call $~lib/math/NativeMath.clz32 - f64.const 32 - f64.eq + call $~lib/math/NativeMath.clz32 + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4047 + i32.const 3859 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4051 + i32.const 3863 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4052 + i32.const 3864 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4053 + i32.const 3865 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4054 + i32.const 3866 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4056 + i32.const 3868 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4057 + i32.const 3869 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4058 + i32.const 3870 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4059 + i32.const 3871 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4061 + i32.const 3873 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 2 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4062 + i32.const 3874 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 4 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4063 + i32.const 3875 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 8 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4064 + i32.const 3876 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4066 + i32.const 3878 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4067 + i32.const 3879 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4068 + i32.const 3880 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4069 + i32.const 3881 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4071 + i32.const 3883 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -2 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4072 + i32.const 3884 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 4 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4073 + i32.const 3885 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -8 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4074 + i32.const 3886 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 63 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -9223372036854775808 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4076 + i32.const 3888 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 3 i64.const 40 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -6289078614652622815 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4077 + i32.const 3889 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 64 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4078 + i32.const 3890 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 3 i64.const 41 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -420491770248316829 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4079 + i32.const 3891 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 3 i64.const 128 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -9204772141784466943 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4080 + i32.const 3892 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const -1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4082 + i32.const 3894 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const -1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4083 + i32.const 3895 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 64 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4084 + i32.const 3896 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 128 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4085 + i32.const 3897 i32.const 1 call $~lib/builtins/abort unreachable @@ -58782,112 +58065,112 @@ drop i32.const 1 i32.const 3 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4091 + i32.const 3903 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -2 i32.const 3 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const -8 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4092 + i32.const 3904 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -1 i32.const 0 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4093 + i32.const 3905 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -1 i32.const -1 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4094 + i32.const 3906 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -1 i32.const -2 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4095 + i32.const 3907 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -1 i32.const -3 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4096 + i32.const 3908 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 i32.const -2 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4098 + i32.const 3910 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 i32.const -1 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4099 + i32.const 3911 i32.const 1 call $~lib/builtins/abort unreachable @@ -58912,42 +58195,42 @@ drop i32.const 0 i32.const 2 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4102 + i32.const 3914 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1 i32.const -2 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4104 + i32.const 3916 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1 i32.const -1 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4105 + i32.const 3917 i32.const 1 call $~lib/builtins/abort unreachable @@ -58972,21 +58255,21 @@ drop i32.const 1 i32.const 2 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4108 + i32.const 3920 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1 i32.const 3 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.extend8_s i32.const 1 i32.eq @@ -58994,14 +58277,14 @@ if i32.const 0 i32.const 32 - i32.const 4110 + i32.const 3922 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -2 i32.const 3 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.extend8_s i32.const -8 i32.eq @@ -59009,14 +58292,14 @@ if i32.const 0 i32.const 32 - i32.const 4111 + i32.const 3923 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 4 i32.const 7 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 65535 i32.and i32.const 16384 @@ -59025,14 +58308,14 @@ if i32.const 0 i32.const 32 - i32.const 4112 + i32.const 3924 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 4 i32.const 8 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 65535 i32.and i32.const 0 @@ -59041,14 +58324,14 @@ if i32.const 0 i32.const 32 - i32.const 4113 + i32.const 3925 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 5 i32.const 10 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i32.const 65535 i32.and i32.const 761 @@ -59057,163 +58340,163 @@ if i32.const 0 i32.const 32 - i32.const 4114 + i32.const 3926 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4116 + i32.const 3928 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 0 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4117 + i32.const 3929 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4118 + i32.const 3930 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 8 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4119 + i32.const 3931 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 4294967295 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 12884901887 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4120 + i32.const 3932 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 65535 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 281462092005375 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4121 + i32.const 3933 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 65535 i64.const 8 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -15762478437236735 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4122 + i32.const 3934 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 61731 i64.const 4 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -3925184889716469295 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4123 + i32.const 3935 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 61731 i64.const 4 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -3925184889716469295 i64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4124 + i32.const 3936 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 57055 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 339590 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.add i64.const 340126 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.ne i32.eqz if i32.const 0 i32.const 32 - i32.const 4126 + i32.const 3938 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 57055 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 339590 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.add i64.const 39347712995520375 i64.eq @@ -59221,7 +58504,7 @@ if i32.const 0 i32.const 32 - i32.const 4127 + i32.const 3939 i32.const 1 call $~lib/builtins/abort unreachable @@ -59229,14 +58512,14 @@ i32.const 1 f64.convert_i32_u f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4129 + i32.const 3941 i32.const 1 call $~lib/builtins/abort unreachable @@ -59244,14 +58527,14 @@ i32.const 0 f64.convert_i32_u f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4130 + i32.const 3942 i32.const 1 call $~lib/builtins/abort unreachable @@ -59259,42 +58542,42 @@ i32.const 0 f64.convert_i32_u f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4131 + i32.const 3943 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4132 + i32.const 3944 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 4133 + i32.const 3945 i32.const 1 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.release.wat b/tests/compiler/std/math.release.wat index 2976d7d875..798b82da61 100644 --- a/tests/compiler/std/math.release.wat +++ b/tests/compiler/std/math.release.wat @@ -4,8 +4,9 @@ (type $f32_f32_f32_=>_i32 (func (param f32 f32 f32) (result i32))) (type $f32_=>_f32 (func (param f32) (result f32))) (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) (type $f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64) (result i32))) + (type $f32_f32_f32_f32_=>_i32 (func (param f32 f32 f32 f32) (result i32))) + (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) (type $none_=>_f64 (func (result f64))) (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) @@ -13,10 +14,7 @@ (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i64_=>_i32 (func (param i64) (result i32))) - (type $f32_f32_f32_f32_=>_i32 (func (param f32 f32 f32 f32) (result i32))) - (type $i64_=>_none (func (param i64))) (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) - (type $f64_=>_none (func (param f64))) (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) @@ -59,17 +57,16 @@ (import "env" "Math.tan" (func $~lib/bindings/dom/Math.tan (param f64) (result f64))) (import "env" "Math.tanh" (func $~lib/bindings/dom/Math.tanh (param f64) (result f64))) (import "env" "Math.trunc" (func $~lib/bindings/dom/Math.trunc (param f64) (result f64))) - (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)) - (global $~lib/math/rempio2f_y (mut f64) (f64.const 0)) + (global $~lib/util/math/rempio2_y0 (mut f64) (f64.const 0)) + (global $~lib/util/math/rempio2_y1 (mut f64) (f64.const 0)) + (global $~lib/util/math/res128_hi (mut i64) (i64.const 0)) + (global $~lib/util/math/rempio2_32_y (mut f64) (f64.const 0)) (global $~lib/util/math/log_tail (mut f64) (f64.const 0)) (global $~lib/math/random_state0_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) - (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) - (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) (global $~lib/math/random_seeded (mut i32) (i32.const 0)) (global $~lib/math/NativeMath.sincos_sin (mut f64) (f64.const 0)) + (global $~lib/util/math/sincos_cos64 (mut f64) (f64.const 0)) (global $~lib/math/NativeMath.sincos_cos (mut f64) (f64.const 0)) (memory $0 1) (data (i32.const 1036) ",") @@ -215,7 +212,7 @@ (data (i32.const 14353) "`Y\df\bd\d5\d5?\dce\a4\08*\0b\n\bd") (export "memory" (memory $0)) (start $~start) - (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) + (func $~lib/util/math/scalbn64 (param $0 f64) (param $1 i32) (result f64) local.get $1 i32.const 1023 i32.gt_s @@ -310,7 +307,7 @@ f64.ne return end - block $__inlined_func$std/math/ulperr (result f64) + block $__inlined_func$std/math/ulperr64 (result f64) f64.const 0 local.get $1 local.get $1 @@ -319,7 +316,7 @@ local.get $0 f64.ne i32.and - br_if $__inlined_func$std/math/ulperr + br_if $__inlined_func$std/math/ulperr64 drop local.get $0 local.get $1 @@ -337,10 +334,10 @@ i64.shr_u i32.wrap_i64 i32.eq - br_if $__inlined_func$std/math/ulperr + br_if $__inlined_func$std/math/ulperr64 drop f64.const inf - br $__inlined_func$std/math/ulperr + br $__inlined_func$std/math/ulperr64 end local.get $0 local.get $0 @@ -377,18 +374,13 @@ i32.add end i32.sub - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 local.get $2 f64.add end f64.abs f64.const 1.5 - f64.ge - if - i32.const 0 - return - end - i32.const 1 + f64.lt ) (func $std/math/check (param $0 f32) (param $1 f32) (param $2 f32) (result i32) (local $3 i32) @@ -408,7 +400,7 @@ f32.ne return end - block $__inlined_func$std/math/ulperrf (result f32) + block $__inlined_func$std/math/ulperr32 (result f32) f32.const 0 local.get $1 local.get $1 @@ -417,7 +409,7 @@ local.get $0 f32.ne i32.and - br_if $__inlined_func$std/math/ulperrf + br_if $__inlined_func$std/math/ulperr32 drop local.get $0 local.get $1 @@ -433,10 +425,10 @@ i32.const 31 i32.shr_u i32.eq - br_if $__inlined_func$std/math/ulperrf + br_if $__inlined_func$std/math/ulperr32 drop f32.const inf - br $__inlined_func$std/math/ulperrf + br $__inlined_func$std/math/ulperr32 end local.get $0 local.get $0 @@ -552,14 +544,9 @@ end f32.abs f32.const 1.5 - f32.ge - if - i32.const 0 - return - end - i32.const 1 + f32.lt ) - (func $~lib/math/NativeMath.acos (param $0 f64) (result f64) + (func $~lib/util/math/acos64 (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 f64) @@ -801,62 +788,137 @@ f64.const 2 f64.mul ) - (func $~lib/math/NativeMathf.acos (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 f32) - local.get $0 - i32.reinterpret_f32 - local.tee $2 - i32.const 2147483647 - i32.and - local.tee $1 - i32.const 1065353216 - i32.ge_u - if - local.get $1 + (func $std/math/test_acosf (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 f32) + block $__inlined_func$~lib/util/math/acos32 (result f32) + local.get $0 + i32.reinterpret_f32 + local.tee $4 + i32.const 2147483647 + i32.and + local.tee $3 i32.const 1065353216 - i32.eq + i32.ge_u if - local.get $2 - i32.const 31 - i32.shr_u + local.get $3 + i32.const 1065353216 + i32.eq if f32.const 3.141592502593994 - return + local.get $4 + i32.const 31 + i32.shr_u + br_if $__inlined_func$~lib/util/math/acos32 + drop + f32.const 0 + br $__inlined_func$~lib/util/math/acos32 end f32.const 0 - return + local.get $0 + local.get $0 + f32.sub + f32.div + br $__inlined_func$~lib/util/math/acos32 end - f32.const 0 - local.get $0 - local.get $0 - f32.sub - f32.div - return - end - local.get $1 - i32.const 1056964608 - i32.lt_u - if - local.get $1 - i32.const 847249408 - i32.le_u + local.get $3 + i32.const 1056964608 + i32.lt_u if f32.const 1.570796251296997 - return + local.get $3 + i32.const 847249408 + i32.le_u + br_if $__inlined_func$~lib/util/math/acos32 + drop + f32.const 1.570796251296997 + local.get $0 + f32.const 7.549789415861596e-08 + local.get $0 + local.get $0 + local.get $0 + f32.mul + local.tee $0 + local.get $0 + local.get $0 + f32.const -0.008656363002955914 + f32.mul + f32.const -0.04274342209100723 + f32.add + f32.mul + f32.const 0.16666586697101593 + f32.add + f32.mul + local.get $0 + f32.const -0.7066296339035034 + f32.mul + f32.const 1 + f32.add + f32.div + f32.mul + f32.sub + f32.sub + f32.sub + br $__inlined_func$~lib/util/math/acos32 end - f32.const 1.570796251296997 - local.get $0 - f32.const 7.549789415861596e-08 - local.get $0 - local.get $0 + local.get $4 + i32.const 31 + i32.shr_u + if + f32.const 1.570796251296997 + local.get $0 + f32.const 0.5 + f32.mul + f32.const 0.5 + f32.add + local.tee $0 + f32.sqrt + local.tee $5 + local.get $0 + local.get $0 + local.get $0 + f32.const -0.008656363002955914 + f32.mul + f32.const -0.04274342209100723 + f32.add + f32.mul + f32.const 0.16666586697101593 + f32.add + f32.mul + local.get $0 + f32.const -0.7066296339035034 + f32.mul + f32.const 1 + f32.add + f32.div + local.get $5 + f32.mul + f32.const 7.549789415861596e-08 + f32.sub + f32.add + f32.sub + f32.const 2 + f32.mul + br $__inlined_func$~lib/util/math/acos32 + end + f32.const 0.5 local.get $0 + f32.const 0.5 f32.mul + f32.sub + local.tee $5 + f32.sqrt + local.tee $6 + i32.reinterpret_f32 + i32.const -4096 + i32.and + f32.reinterpret_i32 local.tee $0 - local.get $0 - local.get $0 + local.get $5 + local.get $5 + local.get $5 f32.const -0.008656363002955914 f32.mul f32.const -0.04274342209100723 @@ -865,105 +927,33 @@ f32.const 0.16666586697101593 f32.add f32.mul - local.get $0 + local.get $5 f32.const -0.7066296339035034 f32.mul f32.const 1 f32.add f32.div + local.get $6 f32.mul - f32.sub - f32.sub - f32.sub - return - end - local.get $2 - i32.const 31 - i32.shr_u - if - f32.const 1.570796251296997 - local.get $0 - f32.const 0.5 - f32.mul - f32.const 0.5 - f32.add - local.tee $0 - f32.sqrt - local.tee $3 - local.get $0 + local.get $5 local.get $0 local.get $0 - f32.const -0.008656363002955914 - f32.mul - f32.const -0.04274342209100723 - f32.add - f32.mul - f32.const 0.16666586697101593 - f32.add f32.mul + f32.sub + local.get $6 local.get $0 - f32.const -0.7066296339035034 - f32.mul - f32.const 1 f32.add f32.div - local.get $3 - f32.mul - f32.const 7.549789415861596e-08 - f32.sub f32.add - f32.sub + f32.add f32.const 2 f32.mul - return end - f32.const 0.5 - local.get $0 - f32.const 0.5 - f32.mul - f32.sub - local.tee $3 - f32.sqrt - local.tee $4 - i32.reinterpret_f32 - i32.const -4096 - i32.and - f32.reinterpret_i32 - local.tee $0 - local.get $3 - local.get $3 - local.get $3 - f32.const -0.008656363002955914 - f32.mul - f32.const -0.04274342209100723 - f32.add - f32.mul - f32.const 0.16666586697101593 - f32.add - f32.mul - local.get $3 - f32.const -0.7066296339035034 - f32.mul - f32.const 1 - f32.add - f32.div - local.get $4 - f32.mul - local.get $3 - local.get $0 - local.get $0 - f32.mul - f32.sub - local.get $4 - local.get $0 - f32.add - f32.div - f32.add - f32.add - f32.const 2 - f32.mul + local.get $1 + local.get $2 + call $std/math/check ) - (func $~lib/math/NativeMath.log1p (param $0 f64) (result f64) + (func $~lib/util/math/log1p64 (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -1160,7 +1150,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.log (param $0 f64) (result f64) + (func $~lib/util/math/log64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i64) @@ -1168,7 +1158,7 @@ (local $5 f64) (local $6 f64) (local $7 i32) - block $~lib/util/math/log_lut|inlined.0 (result f64) + block $~lib/util/math/log64_lut|inlined.0 (result f64) local.get $0 i64.reinterpret_f64 local.tee $1 @@ -1259,7 +1249,7 @@ f64.add local.get $6 f64.add - br $~lib/util/math/log_lut|inlined.0 + br $~lib/util/math/log64_lut|inlined.0 end local.get $1 i64.const 48 @@ -1280,13 +1270,13 @@ i64.const 1 i64.shl i64.eqz - br_if $~lib/util/math/log_lut|inlined.0 + br_if $~lib/util/math/log64_lut|inlined.0 drop local.get $0 local.get $1 i64.const 9218868437227405312 i64.eq - br_if $~lib/util/math/log_lut|inlined.0 + br_if $~lib/util/math/log64_lut|inlined.0 drop i32.const 1 local.get $2 @@ -1305,7 +1295,7 @@ local.tee $0 local.get $0 f64.div - br $~lib/util/math/log_lut|inlined.0 + br $~lib/util/math/log64_lut|inlined.0 end local.get $0 f64.const 4503599627370496 @@ -1403,7 +1393,7 @@ (func $std/math/test_acosh (param $0 f64) (param $1 f64) (param $2 f64) (result i32) (local $3 f64) (local $4 i64) - block $__inlined_func$~lib/math/NativeMath.acosh (result f64) + block $__inlined_func$~lib/util/math/acosh64 (result f64) local.get $0 local.get $0 f64.sub @@ -1414,7 +1404,7 @@ local.tee $4 i64.const 4607182418800017408 i64.lt_s - br_if $__inlined_func$~lib/math/NativeMath.acosh + br_if $__inlined_func$~lib/util/math/acosh64 drop local.get $4 i64.const 52 @@ -1438,8 +1428,8 @@ f64.add f64.sqrt f64.add - call $~lib/math/NativeMath.log1p - br $__inlined_func$~lib/math/NativeMath.acosh + call $~lib/util/math/log1p64 + br $__inlined_func$~lib/util/math/acosh64 end local.get $4 i64.const 1049 @@ -1459,11 +1449,11 @@ f64.add f64.div f64.sub - call $~lib/math/NativeMath.log - br $__inlined_func$~lib/math/NativeMath.acosh + call $~lib/util/math/log64 + br $__inlined_func$~lib/util/math/acosh64 end local.get $0 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const 0.6931471805599453 f64.add end @@ -1480,7 +1470,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.log1p (param $0 f32) (result f32) + (func $~lib/util/math/log1p32 (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 f32) @@ -1649,7 +1639,7 @@ f32.mul f32.add ) - (func $~lib/math/NativeMathf.log (param $0 f32) (result f32) + (func $~lib/util/math/log32 (param $0 f32) (result f32) (local $1 i32) (local $2 f64) (local $3 i32) @@ -1760,7 +1750,7 @@ ) (func $std/math/test_acoshf (param $0 f32) (param $1 f32) (param $2 f32) (result i32) (local $3 i32) - block $__inlined_func$~lib/math/NativeMathf.acosh (result f32) + block $__inlined_func$~lib/util/math/acosh32 (result f32) local.get $0 i32.reinterpret_f32 local.tee $3 @@ -1780,8 +1770,8 @@ f32.mul f32.sqrt f32.add - call $~lib/math/NativeMathf.log1p - br $__inlined_func$~lib/math/NativeMathf.acosh + call $~lib/util/math/log1p32 + br $__inlined_func$~lib/util/math/acosh32 end local.get $3 i32.const 1166016512 @@ -1801,11 +1791,11 @@ f32.add f32.div f32.sub - call $~lib/math/NativeMathf.log - br $__inlined_func$~lib/math/NativeMathf.acosh + call $~lib/util/math/log32 + br $__inlined_func$~lib/util/math/acosh32 end local.get $0 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const 0.6931471824645996 f32.add end @@ -1813,7 +1803,7 @@ local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.asin (param $0 f64) (result f64) + (func $~lib/util/math/asin64 (param $0 f64) (result f64) (local $1 i32) (local $2 i32) (local $3 f64) @@ -2029,59 +2019,91 @@ end local.get $0 ) - (func $~lib/math/NativeMathf.asin (param $0 f32) (result f32) - (local $1 i32) - (local $2 f64) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $1 - i32.const 1065353216 - i32.ge_u - if - local.get $1 + (func $std/math/test_asinf (param $0 f32) (param $1 f32) (param $2 f32) (result i32) + (local $3 i32) + (local $4 f64) + (local $5 f32) + block $__inlined_func$~lib/util/math/asin32 (result f32) + local.get $0 + i32.reinterpret_f32 + i32.const 2147483647 + i32.and + local.tee $3 i32.const 1065353216 - i32.eq + i32.ge_u if local.get $0 f32.const 1.5707963705062866 f32.mul f32.const 7.52316384526264e-37 f32.add - return + local.get $3 + i32.const 1065353216 + i32.eq + br_if $__inlined_func$~lib/util/math/asin32 + drop + f32.const 0 + local.get $0 + local.get $0 + f32.sub + f32.div + br $__inlined_func$~lib/util/math/asin32 end - f32.const 0 - local.get $0 - local.get $0 - f32.sub - f32.div - return - end - local.get $1 - i32.const 1056964608 - i32.lt_u - if - local.get $1 - i32.const 964689920 + local.get $3 + i32.const 1056964608 i32.lt_u - local.get $1 - i32.const 8388608 - i32.ge_u - i32.and if local.get $0 - return + local.get $3 + i32.const 964689920 + i32.lt_u + local.get $3 + i32.const 8388608 + i32.ge_u + i32.and + br_if $__inlined_func$~lib/util/math/asin32 + drop + local.get $0 + local.get $0 + local.get $0 + local.get $0 + f32.mul + local.tee $0 + local.get $0 + local.get $0 + f32.const -0.008656363002955914 + f32.mul + f32.const -0.04274342209100723 + f32.add + f32.mul + f32.const 0.16666586697101593 + f32.add + f32.mul + local.get $0 + f32.const -0.7066296339035034 + f32.mul + f32.const 1 + f32.add + f32.div + f32.mul + f32.add + br $__inlined_func$~lib/util/math/asin32 end + f64.const 1.5707963705062866 + f32.const 0.5 local.get $0 - local.get $0 - local.get $0 - local.get $0 + f32.abs + f32.const 0.5 f32.mul - local.tee $0 - local.get $0 - local.get $0 + f32.sub + local.tee $5 + f64.promote_f32 + f64.sqrt + local.tee $4 + local.get $4 + local.get $5 + local.get $5 + local.get $5 f32.const -0.008656363002955914 f32.mul f32.const -0.04274342209100723 @@ -2090,54 +2112,25 @@ f32.const 0.16666586697101593 f32.add f32.mul - local.get $0 + local.get $5 f32.const -0.7066296339035034 f32.mul f32.const 1 f32.add f32.div - f32.mul - f32.add - return + f64.promote_f32 + f64.mul + f64.add + f64.const 2 + f64.mul + f64.sub + f32.demote_f64 + local.get $0 + f32.copysign end - f64.const 1.5707963705062866 - f32.const 0.5 - local.get $0 - f32.abs - f32.const 0.5 - f32.mul - f32.sub - local.tee $3 - f64.promote_f32 - f64.sqrt - local.tee $2 + local.get $1 local.get $2 - local.get $3 - local.get $3 - local.get $3 - f32.const -0.008656363002955914 - f32.mul - f32.const -0.04274342209100723 - f32.add - f32.mul - f32.const 0.16666586697101593 - f32.add - f32.mul - local.get $3 - f32.const -0.7066296339035034 - f32.mul - f32.const 1 - f32.add - f32.div - f64.promote_f32 - f64.mul - f64.add - f64.const 2 - f64.mul - f64.sub - f32.demote_f64 - local.get $0 - f32.copysign + call $std/math/check ) (func $std/math/test_asinh (param $0 f64) (param $1 f64) (param $2 f64) (result i32) (local $3 i64) @@ -2161,7 +2154,7 @@ i64.ge_u if (result f64) local.get $5 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const 0.6931471805599453 f64.add else @@ -2183,7 +2176,7 @@ f64.add f64.div f64.add - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 else local.get $3 i64.const 997 @@ -2202,7 +2195,7 @@ f64.add f64.div f64.add - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 else local.get $5 end @@ -2238,7 +2231,7 @@ i32.ge_u if (result f32) local.get $4 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const 0.6931471824645996 f32.add else @@ -2260,7 +2253,7 @@ f32.add f32.div f32.add - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 else local.get $3 i32.const 964689920 @@ -2279,7 +2272,7 @@ f32.add f32.div f32.add - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 else local.get $4 end @@ -2291,7 +2284,7 @@ local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.atan (param $0 f64) (result f64) + (func $~lib/util/math/atan64 (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -2510,7 +2503,7 @@ local.get $1 f64.copysign ) - (func $~lib/math/NativeMathf.atan (param $0 f32) (result f32) + (func $~lib/util/math/atan32 (param $0 f32) (result f32) (local $1 f32) (local $2 i32) (local $3 i32) @@ -2735,7 +2728,7 @@ f64.sub f64.div f64.add - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 0.5 f64.mul else @@ -2749,7 +2742,7 @@ f64.div f64.const 2 f64.mul - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 0.5 f64.mul end @@ -2795,7 +2788,7 @@ f32.const 1 f32.add f32.mul - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 0.5 f32.mul else @@ -2809,7 +2802,7 @@ f32.div f32.const 2 f32.mul - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 0.5 f32.mul end @@ -2827,7 +2820,7 @@ (local $8 i32) (local $9 i32) (local $10 f64) - block $__inlined_func$~lib/math/NativeMath.atan2 (result f64) + block $__inlined_func$~lib/util/math/atan2_64 (result f64) local.get $1 local.get $0 f64.add @@ -2838,7 +2831,7 @@ local.get $1 f64.ne i32.or - br_if $__inlined_func$~lib/math/NativeMath.atan2 + br_if $__inlined_func$~lib/util/math/atan2_64 drop local.get $0 i64.reinterpret_f64 @@ -2864,8 +2857,8 @@ i32.eqz if local.get $0 - call $~lib/math/NativeMath.atan - br $__inlined_func$~lib/math/NativeMath.atan2 + call $~lib/util/math/atan64 + br $__inlined_func$~lib/util/math/atan2_64 end local.get $8 i32.const 30 @@ -2889,18 +2882,18 @@ block $break|0 block $case3|0 block $case2|0 - block $case0|0 + block $case1|0 local.get $4 - br_table $case0|0 $case0|0 $case2|0 $case3|0 $break|0 + br_table $case1|0 $case1|0 $case2|0 $case3|0 $break|0 end local.get $0 - br $__inlined_func$~lib/math/NativeMath.atan2 + br $__inlined_func$~lib/util/math/atan2_64 end f64.const 3.141592653589793 - br $__inlined_func$~lib/math/NativeMath.atan2 + br $__inlined_func$~lib/util/math/atan2_64 end f64.const -3.141592653589793 - br $__inlined_func$~lib/math/NativeMath.atan2 + br $__inlined_func$~lib/util/math/atan2_64 end end block $folding-inner0 @@ -2926,13 +2919,6 @@ i32.const 2 i32.and select - local.tee $10 - f64.neg - local.get $10 - local.get $4 - i32.const 1 - i32.and - select else f64.const 3.141592653589793 f64.const 0 @@ -2940,15 +2926,15 @@ i32.const 2 i32.and select - local.tee $10 - f64.neg - local.get $10 - local.get $4 - i32.const 1 - i32.and - select end - br $__inlined_func$~lib/math/NativeMath.atan2 + local.tee $10 + f64.neg + local.get $10 + local.get $4 + i32.const 1 + i32.and + select + br $__inlined_func$~lib/util/math/atan2_64 end local.get $9 i32.const 2146435072 @@ -2977,7 +2963,7 @@ local.get $1 f64.div f64.abs - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 end local.set $10 block $break|1 @@ -2989,25 +2975,25 @@ br_table $case0|1 $case1|1 $case2|1 $case3|1 $break|1 end local.get $10 - br $__inlined_func$~lib/math/NativeMath.atan2 + br $__inlined_func$~lib/util/math/atan2_64 end local.get $10 f64.neg - br $__inlined_func$~lib/math/NativeMath.atan2 + br $__inlined_func$~lib/util/math/atan2_64 end f64.const 3.141592653589793 local.get $10 f64.const 1.2246467991473532e-16 f64.sub f64.sub - br $__inlined_func$~lib/math/NativeMath.atan2 + br $__inlined_func$~lib/util/math/atan2_64 end local.get $10 f64.const 1.2246467991473532e-16 f64.sub f64.const 3.141592653589793 f64.sub - br $__inlined_func$~lib/math/NativeMath.atan2 + br $__inlined_func$~lib/util/math/atan2_64 end unreachable end @@ -3032,180 +3018,184 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.atan2 (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) + (func $std/math/test_atan2f (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) (local $4 i32) - local.get $0 - local.get $0 - f32.ne - local.get $1 - local.get $1 - f32.ne - i32.or - if + (local $5 i32) + (local $6 i32) + block $__inlined_func$~lib/util/math/atan2_32 (result f32) local.get $1 local.get $0 f32.add - return - end - local.get $1 - i32.reinterpret_f32 - local.tee $3 - i32.const 1065353216 - i32.eq - if local.get $0 - call $~lib/math/NativeMathf.atan - return - end - local.get $3 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and - local.get $0 - i32.reinterpret_f32 - local.tee $4 - i32.const 31 - i32.shr_u - i32.or - local.set $2 - local.get $4 - i32.const 2147483647 - i32.and - local.tee $4 - i32.eqz - if - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - local.get $2 - br_table $case1|0 $case1|0 $case2|0 $case3|0 $break|0 - end - local.get $0 - return - end - f32.const 3.1415927410125732 - return - end - f32.const -3.1415927410125732 - return + local.get $0 + f32.ne + local.get $1 + local.get $1 + f32.ne + i32.or + br_if $__inlined_func$~lib/util/math/atan2_32 + drop + local.get $1 + i32.reinterpret_f32 + local.tee $5 + i32.const 1065353216 + i32.eq + if + local.get $0 + call $~lib/util/math/atan32 + br $__inlined_func$~lib/util/math/atan2_32 end - end - block $folding-inner0 - local.get $3 + local.get $5 + i32.const 30 + i32.shr_u + i32.const 2 + i32.and + local.get $0 + i32.reinterpret_f32 + local.tee $6 + i32.const 31 + i32.shr_u + i32.or + local.set $4 + local.get $6 i32.const 2147483647 i32.and - local.tee $3 + local.tee $6 i32.eqz - br_if $folding-inner0 - local.get $3 - i32.const 2139095040 - i32.eq if - local.get $4 + block $break|0 + block $case3|0 + block $case2|0 + block $case1|0 + local.get $4 + br_table $case1|0 $case1|0 $case2|0 $case3|0 $break|0 + end + local.get $0 + br $__inlined_func$~lib/util/math/atan2_32 + end + f32.const 3.1415927410125732 + br $__inlined_func$~lib/util/math/atan2_32 + end + f32.const -3.1415927410125732 + br $__inlined_func$~lib/util/math/atan2_32 + end + end + block $folding-inner0 + local.get $5 + i32.const 2147483647 + i32.and + local.tee $5 + i32.eqz + br_if $folding-inner0 + local.get $5 i32.const 2139095040 i32.eq - if (result f32) - f32.const 2.356194496154785 - f32.const 0.7853981852531433 - local.get $2 - i32.const 2 - i32.and - select - else - f32.const 3.1415927410125732 - f32.const 0 - local.get $2 - i32.const 2 + if + local.get $6 + i32.const 2139095040 + i32.eq + if (result f32) + f32.const 2.356194496154785 + f32.const 0.7853981852531433 + local.get $4 + i32.const 2 + i32.and + select + else + f32.const 3.1415927410125732 + f32.const 0 + local.get $4 + i32.const 2 + i32.and + select + end + local.tee $0 + f32.neg + local.get $0 + local.get $4 + i32.const 1 i32.and select + br $__inlined_func$~lib/util/math/atan2_32 end - local.tee $0 - f32.neg - local.get $0 - local.get $2 - i32.const 1 + local.get $6 + i32.const 2139095040 + i32.eq + local.get $5 + i32.const 218103808 + i32.add + local.get $6 + i32.lt_u + i32.or + br_if $folding-inner0 + local.get $6 + i32.const 218103808 + i32.add + local.get $5 + i32.lt_u + i32.const 0 + local.get $4 + i32.const 2 i32.and select - return - end - local.get $4 - i32.const 2139095040 - i32.eq - local.get $3 - i32.const 218103808 - i32.add - local.get $4 - i32.lt_u - i32.or - br_if $folding-inner0 - local.get $4 - i32.const 218103808 - i32.add - local.get $3 - i32.lt_u - i32.const 0 - local.get $2 - i32.const 2 - i32.and - select - if (result f32) - f32.const 0 - else - local.get $0 - local.get $1 - f32.div - f32.abs - call $~lib/math/NativeMathf.atan - end - local.set $0 - block $break|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $2 - br_table $case0|1 $case1|1 $case2|1 $case3|1 $break|1 + if (result f32) + f32.const 0 + else + local.get $0 + local.get $1 + f32.div + f32.abs + call $~lib/util/math/atan32 + end + local.set $0 + block $break|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $4 + br_table $case0|1 $case1|1 $case2|1 $case3|1 $break|1 + end + local.get $0 + br $__inlined_func$~lib/util/math/atan2_32 end local.get $0 - return + f32.neg + br $__inlined_func$~lib/util/math/atan2_32 end + f32.const 3.1415927410125732 local.get $0 - f32.neg - return + f32.const -8.742277657347586e-08 + f32.sub + f32.sub + br $__inlined_func$~lib/util/math/atan2_32 end - f32.const 3.1415927410125732 local.get $0 f32.const -8.742277657347586e-08 f32.sub + f32.const 3.1415927410125732 f32.sub - return + br $__inlined_func$~lib/util/math/atan2_32 end - local.get $0 - f32.const -8.742277657347586e-08 - f32.sub - f32.const 3.1415927410125732 - f32.sub - return + unreachable end - unreachable + f32.const -1.5707963705062866 + f32.const 1.5707963705062866 + local.get $4 + i32.const 1 + i32.and + select end - f32.const -1.5707963705062866 - f32.const 1.5707963705062866 local.get $2 - i32.const 1 - i32.and - select + local.get $3 + call $std/math/check ) (func $std/math/test_cbrt (param $0 f64) (param $1 f64) (param $2 f64) (result i32) (local $3 i32) (local $4 i64) (local $5 f64) (local $6 f64) - block $__inlined_func$~lib/math/NativeMath.cbrt (result f64) + block $__inlined_func$~lib/util/math/cbrt64 (result f64) local.get $0 local.get $0 f64.add @@ -3220,7 +3210,7 @@ local.tee $3 i32.const 2146435072 i32.ge_u - br_if $__inlined_func$~lib/math/NativeMath.cbrt + br_if $__inlined_func$~lib/util/math/cbrt64 drop local.get $3 i32.const 1048576 @@ -3239,7 +3229,7 @@ i32.and local.tee $3 i32.eqz - br_if $__inlined_func$~lib/math/NativeMath.cbrt + br_if $__inlined_func$~lib/util/math/cbrt64 drop local.get $3 i32.const 3 @@ -3340,7 +3330,7 @@ (local $6 f64) (local $7 f64) (local $8 f64) - block $__inlined_func$~lib/math/NativeMathf.cbrt (result f32) + block $__inlined_func$~lib/util/math/cbrt32 (result f32) local.get $0 local.get $0 f32.add @@ -3352,7 +3342,7 @@ local.tee $4 i32.const 2139095040 i32.ge_u - br_if $__inlined_func$~lib/math/NativeMathf.cbrt + br_if $__inlined_func$~lib/util/math/cbrt32 drop local.get $4 i32.const 8388608 @@ -3361,7 +3351,7 @@ local.get $0 local.get $4 i32.eqz - br_if $__inlined_func$~lib/math/NativeMathf.cbrt + br_if $__inlined_func$~lib/util/math/cbrt32 drop local.get $0 f32.const 16777216 @@ -3432,7 +3422,7 @@ local.get $2 call $std/math/check ) - (func $~lib/math/pio2_large_quot (param $0 i64) (result i32) + (func $~lib/util/math/pio2_64_large_quot (param $0 i64) (result i32) (local $1 i64) (local $2 i64) (local $3 i64) @@ -3553,7 +3543,7 @@ i64.const 32 i64.shr_u i64.add - global.set $~lib/math/res128_hi + global.set $~lib/util/math/res128_hi local.get $10 local.get $1 i64.const 32 @@ -3572,7 +3562,7 @@ local.get $1 i64.lt_u i64.extend_i32_u - global.get $~lib/math/res128_hi + global.get $~lib/util/math/res128_hi local.get $3 local.get $6 i64.mul @@ -3646,7 +3636,7 @@ i64.const 32 i64.shr_u i64.add - global.set $~lib/math/res128_hi + global.set $~lib/util/math/res128_hi local.get $11 i64.const 4294967295 i64.and @@ -3670,13 +3660,13 @@ local.tee $2 i64.lt_u i64.extend_i32_u - global.get $~lib/math/res128_hi + global.get $~lib/util/math/res128_hi local.tee $9 i64.const 11 i64.shr_u i64.add f64.convert_i64_u - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $9 i64.const 53 i64.shl @@ -3689,8 +3679,8 @@ f64.convert_i64_u f64.const 5.421010862427522e-20 f64.mul - global.set $~lib/math/rempio2_y1 - global.get $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y1 + global.get $~lib/util/math/rempio2_y0 i64.const 4372995238176751616 local.get $8 i64.const 52 @@ -3705,11 +3695,11 @@ f64.reinterpret_i64 local.tee $5 f64.mul - global.set $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y1 local.get $5 f64.mul - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $3 i64.const 62 i64.shr_s @@ -3717,7 +3707,7 @@ i64.sub i32.wrap_i64 ) - (func $~lib/math/NativeMath.cos (param $0 f64) (result f64) + (func $~lib/util/math/cos64 (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 i32) @@ -3814,7 +3804,7 @@ f64.sub return end - block $~lib/math/rempio2|inlined.0 (result i32) + block $~lib/util/math/rempio2_64|inlined.0 (result i32) local.get $5 i64.const 32 i64.shr_u @@ -3894,10 +3884,10 @@ end end local.get $0 - global.set $~lib/math/rempio2_y0 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y1 local.get $3 - br $~lib/math/rempio2|inlined.0 + br $~lib/util/math/rempio2_64|inlined.0 end local.get $4 i32.const 1094263291 @@ -3991,20 +3981,20 @@ end end local.get $1 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $0 local.get $1 f64.sub local.get $2 f64.sub - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $7 i32.trunc_sat_f64_s - br $~lib/math/rempio2|inlined.0 + br $~lib/util/math/rempio2_64|inlined.0 end i32.const 0 local.get $5 - call $~lib/math/pio2_large_quot + call $~lib/util/math/pio2_64_large_quot local.tee $3 i32.sub local.get $3 @@ -4012,9 +4002,9 @@ select end local.set $3 - global.get $~lib/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y0 local.set $1 - global.get $~lib/math/rempio2_y1 + global.get $~lib/util/math/rempio2_y1 local.set $2 local.get $3 i32.const 1 @@ -4128,7 +4118,7 @@ i32.and select ) - (func $~lib/math/NativeMathf.cos (param $0 f32) (result f32) + (func $~lib/util/math/cos32 (param $0 f32) (result f32) (local $1 f64) (local $2 f64) (local $3 i32) @@ -4357,7 +4347,7 @@ f32.sub return end - block $~lib/math/rempio2f|inlined.0 (result i32) + block $~lib/util/math/rempio2_32|inlined.0 (result i32) local.get $3 i32.const 1305022427 i32.lt_u @@ -4378,10 +4368,10 @@ f64.const 1.5893254773528196e-08 f64.mul f64.sub - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $2 i32.trunc_sat_f64_s - br $~lib/math/rempio2f|inlined.0 + br $~lib/util/math/rempio2_32|inlined.0 end local.get $3 i32.const 23 @@ -4459,7 +4449,7 @@ local.tee $8 f64.convert_i64_s f64.mul - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y i32.const 0 local.get $4 i64.const 62 @@ -4476,7 +4466,7 @@ select end local.set $3 - global.get $~lib/math/rempio2f_y + global.get $~lib/util/math/rempio2_32_y local.set $1 local.get $3 i32.const 1 @@ -4571,7 +4561,7 @@ f64.add f32.demote_f64 ) - (func $~lib/math/NativeMath.expm1 (param $0 f64) (result f64) + (func $~lib/util/math/expm1_64 (param $0 f64) (result f64) (local $1 i32) (local $2 f64) (local $3 i32) @@ -4842,7 +4832,7 @@ local.get $6 f64.mul ) - (func $~lib/math/NativeMath.exp (param $0 f64) (result f64) + (func $~lib/util/math/exp64 (param $0 f64) (result f64) (local $1 i32) (local $2 i64) (local $3 i32) @@ -5059,7 +5049,7 @@ (local $3 i32) (local $4 i64) (local $5 f64) - block $__inlined_func$~lib/math/NativeMath.cosh (result f64) + block $__inlined_func$~lib/util/math/cosh64 (result f64) local.get $0 i64.reinterpret_f64 i64.const 9223372036854775807 @@ -5079,10 +5069,10 @@ local.get $3 i32.const 1045430272 i32.lt_u - br_if $__inlined_func$~lib/math/NativeMath.cosh + br_if $__inlined_func$~lib/util/math/cosh64 drop local.get $5 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.tee $5 local.get $5 f64.mul @@ -5094,14 +5084,14 @@ f64.div f64.const 1 f64.add - br $__inlined_func$~lib/math/NativeMath.cosh + br $__inlined_func$~lib/util/math/cosh64 end local.get $3 i32.const 1082535490 i32.lt_u if local.get $5 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 local.tee $5 f64.const 1 local.get $5 @@ -5109,12 +5099,12 @@ f64.add f64.const 0.5 f64.mul - br $__inlined_func$~lib/math/NativeMath.cosh + br $__inlined_func$~lib/util/math/cosh64 end local.get $5 f64.const 1416.0996898839683 f64.sub - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2247116418577894884661631e283 f64.mul f64.const 2247116418577894884661631e283 @@ -5133,7 +5123,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.expm1 (param $0 f32) (result f32) + (func $~lib/util/math/expm1_32 (param $0 f32) (result f32) (local $1 i32) (local $2 f32) (local $3 i32) @@ -5381,13 +5371,13 @@ local.get $4 f32.mul ) - (func $~lib/math/NativeMathf.exp (param $0 f32) (result f32) + (func $~lib/util/math/exp32 (param $0 f32) (result f32) (local $1 f64) (local $2 i64) (local $3 i32) (local $4 i32) (local $5 f64) - block $~lib/util/math/expf_lut|inlined.0 (result f32) + block $~lib/util/math/exp32_lut|inlined.0 (result f32) local.get $0 i32.reinterpret_f32 local.tee $3 @@ -5403,7 +5393,7 @@ local.get $3 i32.const -8388608 i32.eq - br_if $~lib/util/math/expf_lut|inlined.0 + br_if $~lib/util/math/exp32_lut|inlined.0 drop local.get $0 local.get $0 @@ -5411,7 +5401,7 @@ local.get $4 i32.const 2040 i32.ge_u - br_if $~lib/util/math/expf_lut|inlined.0 + br_if $~lib/util/math/exp32_lut|inlined.0 drop local.get $0 f32.const 1701411834604692317316873e14 @@ -5419,13 +5409,13 @@ local.get $0 f32.const 88.72283172607422 f32.gt - br_if $~lib/util/math/expf_lut|inlined.0 + br_if $~lib/util/math/exp32_lut|inlined.0 drop f32.const 0 local.get $0 f32.const -103.97207641601562 f32.lt - br_if $~lib/util/math/expf_lut|inlined.0 + br_if $~lib/util/math/exp32_lut|inlined.0 drop end local.get $0 @@ -5478,7 +5468,7 @@ ) (func $std/math/test_coshf (param $0 f32) (param $1 f32) (param $2 f32) (result i32) (local $3 i32) - block $__inlined_func$~lib/math/NativeMathf.cosh (result f32) + block $__inlined_func$~lib/util/math/cosh32 (result f32) local.get $0 i32.reinterpret_f32 i32.const 2147483647 @@ -5494,10 +5484,10 @@ local.get $3 i32.const 964689920 i32.lt_u - br_if $__inlined_func$~lib/math/NativeMathf.cosh + br_if $__inlined_func$~lib/util/math/cosh32 drop local.get $0 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.tee $0 local.get $0 f32.mul @@ -5509,14 +5499,14 @@ f32.div f32.const 1 f32.add - br $__inlined_func$~lib/math/NativeMathf.cosh + br $__inlined_func$~lib/util/math/cosh32 end local.get $3 i32.const 1118925335 i32.lt_u if local.get $0 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 local.tee $0 f32.const 0.5 f32.mul @@ -5524,12 +5514,12 @@ local.get $0 f32.div f32.add - br $__inlined_func$~lib/math/NativeMathf.cosh + br $__inlined_func$~lib/util/math/cosh32 end local.get $0 f32.const 162.88958740234375 f32.sub - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1661534994731144841129758e11 f32.mul f32.const 1661534994731144841129758e11 @@ -5548,7 +5538,7 @@ (local $8 i64) (local $9 f64) (local $10 f64) - block $~lib/util/math/exp2_lut|inlined.0 (result f64) + block $__inlined_func$~lib/util/math/exp2_64_lut (result f64) local.get $0 i64.reinterpret_f64 local.tee $4 @@ -5569,7 +5559,7 @@ i32.sub i32.const -2147483648 i32.ge_u - br_if $~lib/util/math/exp2_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_64_lut drop local.get $3 i32.const 1033 @@ -5579,7 +5569,7 @@ local.get $4 i64.const -4503599627370496 i64.eq - br_if $~lib/util/math/exp2_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_64_lut drop local.get $0 f64.const 1 @@ -5587,20 +5577,20 @@ local.get $3 i32.const 2047 i32.ge_u - br_if $~lib/util/math/exp2_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_64_lut drop f64.const inf local.get $4 i64.const 63 i64.shr_u i64.eqz - br_if $~lib/util/math/exp2_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_64_lut drop f64.const 0 local.get $4 i64.const -4570929321408987136 i64.ge_u - br_if $~lib/util/math/exp2_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_64_lut drop end i32.const 0 @@ -5730,7 +5720,7 @@ f64.const 2.2250738585072014e-308 f64.mul end - br $~lib/util/math/exp2_lut|inlined.0 + br $__inlined_func$~lib/util/math/exp2_64_lut end local.get $4 f64.reinterpret_i64 @@ -5760,7 +5750,7 @@ (local $5 i32) (local $6 i32) (local $7 f64) - block $~lib/util/math/exp2f_lut|inlined.0 (result f32) + block $__inlined_func$~lib/util/math/exp2_32_lut (result f32) local.get $0 i32.reinterpret_f32 local.tee $5 @@ -5776,7 +5766,7 @@ local.get $5 i32.const -8388608 i32.eq - br_if $~lib/util/math/exp2f_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_32_lut drop local.get $0 local.get $0 @@ -5784,7 +5774,7 @@ local.get $6 i32.const 2040 i32.ge_u - br_if $~lib/util/math/exp2f_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_32_lut drop local.get $0 f32.const 1701411834604692317316873e14 @@ -5792,13 +5782,13 @@ local.get $0 f32.const 0 f32.gt - br_if $~lib/util/math/exp2f_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_32_lut drop f32.const 0 local.get $0 f32.const -150 f32.le - br_if $~lib/util/math/exp2f_lut|inlined.0 + br_if $__inlined_func$~lib/util/math/exp2_32_lut drop end local.get $0 @@ -5882,7 +5872,7 @@ f64.reinterpret_i64 local.tee $9 local.set $0 - block $__inlined_func$~lib/math/NativeMath.hypot + block $__inlined_func$~lib/util/math/hypot64 local.get $5 i64.const 52 i64.shr_u @@ -5890,7 +5880,7 @@ local.tee $7 i32.const 2047 i32.eq - br_if $__inlined_func$~lib/math/NativeMath.hypot + br_if $__inlined_func$~lib/util/math/hypot64 local.get $4 f64.reinterpret_i64 local.tee $1 @@ -5905,7 +5895,7 @@ i32.const 2047 i32.eq i32.or - br_if $__inlined_func$~lib/math/NativeMath.hypot + br_if $__inlined_func$~lib/util/math/hypot64 local.get $1 local.get $9 f64.add @@ -5915,7 +5905,7 @@ i32.sub i32.const 64 i32.gt_s - br_if $__inlined_func$~lib/math/NativeMath.hypot + br_if $__inlined_func$~lib/util/math/hypot64 f64.const 1 local.set $0 local.get $8 @@ -6026,7 +6016,7 @@ (local $5 i32) (local $6 i32) (local $7 f64) - block $__inlined_func$~lib/math/NativeMathf.hypot (result f32) + block $__inlined_func$~lib/util/math/hypot32 (result f32) local.get $1 i32.reinterpret_f32 i32.const 2147483647 @@ -6053,7 +6043,7 @@ local.get $5 i32.const 2139095040 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.hypot + br_if $__inlined_func$~lib/util/math/hypot32 drop local.get $0 local.get $1 @@ -6070,7 +6060,7 @@ i32.const 209715200 i32.ge_u i32.or - br_if $__inlined_func$~lib/math/NativeMathf.hypot + br_if $__inlined_func$~lib/util/math/hypot32 drop local.get $4 i32.const 1568669696 @@ -6132,7 +6122,7 @@ (local $9 f64) (local $10 f64) (local $11 f64) - block $__inlined_func$~lib/math/NativeMath.log10 (result f64) + block $__inlined_func$~lib/util/math/log10_64 (result f64) local.get $0 i64.reinterpret_f64 local.tee $4 @@ -6156,7 +6146,7 @@ i64.const 1 i64.shl i64.eqz - br_if $__inlined_func$~lib/math/NativeMath.log10 + br_if $__inlined_func$~lib/util/math/log10_64 drop local.get $0 local.get $0 @@ -6166,7 +6156,7 @@ local.get $3 i32.const 31 i32.shr_u - br_if $__inlined_func$~lib/math/NativeMath.log10 + br_if $__inlined_func$~lib/util/math/log10_64 drop i32.const -54 local.set $5 @@ -6185,7 +6175,7 @@ i32.ge_u if local.get $0 - br $__inlined_func$~lib/math/NativeMath.log10 + br $__inlined_func$~lib/util/math/log10_64 else f64.const 0 local.get $4 @@ -6196,7 +6186,7 @@ i32.const 1072693248 i32.eq i32.and - br_if $__inlined_func$~lib/math/NativeMath.log10 + br_if $__inlined_func$~lib/util/math/log10_64 drop end end @@ -6342,7 +6332,7 @@ (local $7 f32) (local $8 f32) (local $9 f32) - block $__inlined_func$~lib/math/NativeMathf.log10 (result f32) + block $__inlined_func$~lib/util/math/log10_32 (result f32) local.get $0 i32.reinterpret_f32 local.tee $3 @@ -6362,7 +6352,7 @@ i32.const 1 i32.shl i32.eqz - br_if $__inlined_func$~lib/math/NativeMathf.log10 + br_if $__inlined_func$~lib/util/math/log10_32 drop local.get $0 local.get $0 @@ -6372,7 +6362,7 @@ local.get $3 i32.const 31 i32.shr_u - br_if $__inlined_func$~lib/math/NativeMathf.log10 + br_if $__inlined_func$~lib/util/math/log10_32 drop i32.const -25 local.set $5 @@ -6387,13 +6377,13 @@ i32.ge_u if local.get $0 - br $__inlined_func$~lib/math/NativeMathf.log10 + br $__inlined_func$~lib/util/math/log10_32 else f32.const 0 local.get $3 i32.const 1065353216 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.log10 + br_if $__inlined_func$~lib/util/math/log10_32 drop end end @@ -6491,7 +6481,7 @@ local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.log2 (param $0 f64) (result f64) + (func $~lib/util/math/log2_64 (param $0 f64) (result f64) (local $1 i64) (local $2 i32) (local $3 i64) @@ -6502,7 +6492,7 @@ (local $8 f64) (local $9 f64) (local $10 i32) - block $~lib/util/math/log2_lut|inlined.0 (result f64) + block $~lib/util/math/log2_64_lut|inlined.0 (result f64) local.get $0 i64.reinterpret_f64 local.tee $1 @@ -6589,7 +6579,7 @@ f64.mul f64.add f64.add - br $~lib/util/math/log2_lut|inlined.0 + br $~lib/util/math/log2_64_lut|inlined.0 end local.get $1 i64.const 48 @@ -6610,13 +6600,13 @@ i64.const 1 i64.shl i64.eqz - br_if $~lib/util/math/log2_lut|inlined.0 + br_if $~lib/util/math/log2_64_lut|inlined.0 drop local.get $0 local.get $1 i64.const 9218868437227405312 i64.eq - br_if $~lib/util/math/log2_lut|inlined.0 + br_if $~lib/util/math/log2_64_lut|inlined.0 drop i32.const 1 local.get $2 @@ -6635,7 +6625,7 @@ local.tee $0 local.get $0 f64.div - br $~lib/util/math/log2_lut|inlined.0 + br $~lib/util/math/log2_64_lut|inlined.0 end local.get $0 f64.const 4503599627370496 @@ -6751,7 +6741,7 @@ (local $5 i32) (local $6 i32) (local $7 f64) - block $~lib/util/math/log2f_lut|inlined.0 (result f32) + block $~lib/util/math/log2_32_lut|inlined.0 (result f32) local.get $0 i32.reinterpret_f32 local.tee $3 @@ -6765,13 +6755,13 @@ i32.const 1 i32.shl i32.eqz - br_if $~lib/util/math/log2f_lut|inlined.0 + br_if $~lib/util/math/log2_32_lut|inlined.0 drop local.get $0 local.get $3 i32.const 2139095040 i32.eq - br_if $~lib/util/math/log2f_lut|inlined.0 + br_if $~lib/util/math/log2_32_lut|inlined.0 drop local.get $3 i32.const 31 @@ -6789,7 +6779,7 @@ local.tee $0 local.get $0 f32.div - br $~lib/util/math/log2f_lut|inlined.0 + br $~lib/util/math/log2_32_lut|inlined.0 end local.get $0 f32.const 8388608 @@ -6901,7 +6891,7 @@ (local $7 f64) (local $8 i64) (local $9 i64) - block $__inlined_func$~lib/math/NativeMath.mod (result f64) + block $__inlined_func$~lib/util/math/mod64 (result f64) local.get $0 local.get $0 f64.trunc @@ -6912,7 +6902,7 @@ f64.abs f64.const 1 f64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $1 i64.reinterpret_f64 @@ -6949,7 +6939,7 @@ local.tee $7 local.get $7 f64.div - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/util/math/mod64 end local.get $6 i64.const 1 @@ -6964,7 +6954,7 @@ i64.ne f64.convert_i32_u f64.mul - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/util/math/mod64 end local.get $9 i64.eqz @@ -7025,7 +7015,7 @@ local.get $3 local.get $4 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $3 local.get $4 @@ -7053,7 +7043,7 @@ local.get $3 local.get $4 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $3 local.get $4 @@ -7109,7 +7099,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.mod (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/mod32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7310,7 +7300,7 @@ i32.or f32.reinterpret_i32 ) - (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/pow64 (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i32) (local $4 i64) @@ -7380,7 +7370,7 @@ return end end - block $~lib/util/math/pow_lut|inlined.0 (result f64) + block $~lib/util/math/pow64_lut|inlined.0 (result f64) local.get $1 i64.reinterpret_f64 local.tee $12 @@ -7418,13 +7408,13 @@ i64.const 1 i64.shl i64.eqz - br_if $~lib/util/math/pow_lut|inlined.0 + br_if $~lib/util/math/pow64_lut|inlined.0 drop f64.const nan:0x8000000000000 local.get $2 i64.const 4607182418800017408 i64.eq - br_if $~lib/util/math/pow_lut|inlined.0 + br_if $~lib/util/math/pow64_lut|inlined.0 drop local.get $0 local.get $1 @@ -7440,7 +7430,7 @@ i64.const -9007199254740992 i64.gt_u i32.or - br_if $~lib/util/math/pow_lut|inlined.0 + br_if $~lib/util/math/pow64_lut|inlined.0 drop f64.const nan:0x8000000000000 local.get $2 @@ -7448,7 +7438,7 @@ i64.shl i64.const 9214364837600034816 i64.eq - br_if $~lib/util/math/pow_lut|inlined.0 + br_if $~lib/util/math/pow64_lut|inlined.0 drop f64.const 0 local.get $12 @@ -7461,12 +7451,12 @@ i64.const 9214364837600034816 i64.lt_u i32.eq - br_if $~lib/util/math/pow_lut|inlined.0 + br_if $~lib/util/math/pow64_lut|inlined.0 drop local.get $1 local.get $1 f64.mul - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $2 i64.const 1 @@ -7488,7 +7478,7 @@ i64.shr_u i32.wrap_i64 if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) + block $~lib/util/math/checkint64|inlined.0 (result i32) i32.const 0 local.get $12 i64.const 52 @@ -7498,13 +7488,13 @@ local.tee $2 i64.const 1023 i64.lt_u - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint64|inlined.0 drop i32.const 2 local.get $2 i64.const 1075 i64.gt_u - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint64|inlined.0 drop i32.const 0 local.get $12 @@ -7519,7 +7509,7 @@ i64.and i64.const 0 i64.ne - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint64|inlined.0 drop i32.const 1 local.get $2 @@ -7527,7 +7517,7 @@ i64.and i64.const 0 i64.ne - br_if $~lib/util/math/checkint|inlined.0 + br_if $~lib/util/math/checkint64|inlined.0 drop i32.const 2 end @@ -7545,14 +7535,14 @@ i64.shr_u i32.wrap_i64 select - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $2 i64.const 63 i64.shr_u i32.wrap_i64 if - block $~lib/util/math/checkint|inlined.1 (result i32) + block $~lib/util/math/checkint64|inlined.1 (result i32) i32.const 0 local.get $12 i64.const 52 @@ -7562,13 +7552,13 @@ local.tee $13 i64.const 1023 i64.lt_u - br_if $~lib/util/math/checkint|inlined.1 + br_if $~lib/util/math/checkint64|inlined.1 drop i32.const 2 local.get $13 i64.const 1075 i64.gt_u - br_if $~lib/util/math/checkint|inlined.1 + br_if $~lib/util/math/checkint64|inlined.1 drop i32.const 0 local.get $12 @@ -7583,7 +7573,7 @@ i64.and i64.const 0 i64.ne - br_if $~lib/util/math/checkint|inlined.1 + br_if $~lib/util/math/checkint64|inlined.1 drop i32.const 1 local.get $12 @@ -7591,7 +7581,7 @@ i64.and i64.const 0 i64.ne - br_if $~lib/util/math/checkint|inlined.1 + br_if $~lib/util/math/checkint64|inlined.1 drop i32.const 2 end @@ -7604,7 +7594,7 @@ local.tee $0 local.get $0 f64.div - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $4 i64.const 2047 @@ -7634,7 +7624,7 @@ local.get $2 i64.const 4607182418800017408 i64.eq - br_if $~lib/util/math/pow_lut|inlined.0 + br_if $~lib/util/math/pow64_lut|inlined.0 drop f64.const 1 local.get $6 @@ -7642,7 +7632,7 @@ i64.and i64.const 958 i64.lt_u - br_if $~lib/util/math/pow_lut|inlined.0 + br_if $~lib/util/math/pow64_lut|inlined.0 drop f64.const inf f64.const 0 @@ -7654,7 +7644,7 @@ i64.gt_u i32.eq select - br $~lib/util/math/pow_lut|inlined.0 + br $~lib/util/math/pow64_lut|inlined.0 end local.get $0 f64.const 4503599627370496 @@ -7800,7 +7790,7 @@ local.get $0 f64.add global.set $~lib/util/math/log_tail - block $~lib/util/math/exp_inline|inlined.0 (result f64) + block $~lib/util/math/exp64_inline|inlined.0 (result f64) local.get $12 i64.const -134217728 i64.and @@ -7836,7 +7826,7 @@ i32.sub i32.const -2147483648 i32.ge_u - br_if $~lib/util/math/exp_inline|inlined.0 + br_if $~lib/util/math/exp64_inline|inlined.0 drop local.get $2 i64.const 63 @@ -7860,7 +7850,7 @@ local.get $3 i32.const 1033 i32.ge_u - br_if $~lib/util/math/exp_inline|inlined.0 + br_if $~lib/util/math/exp64_inline|inlined.0 drop i32.const 0 local.set $3 @@ -8022,7 +8012,7 @@ f64.const 2.2250738585072014e-308 f64.mul end - br $~lib/util/math/exp_inline|inlined.0 + br $~lib/util/math/exp64_inline|inlined.0 end local.get $4 f64.reinterpret_i64 @@ -8037,7 +8027,7 @@ (func $std/math/test_pow (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 + call $~lib/util/math/pow64 local.get $2 local.get $3 call $std/math/check @@ -8052,7 +8042,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.pow (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/pow32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -8112,7 +8102,7 @@ return end end - block $~lib/util/math/powf_lut|inlined.0 (result f32) + block $~lib/util/math/pow32_lut|inlined.0 (result f32) local.get $1 i32.reinterpret_f32 local.tee $7 @@ -8139,13 +8129,13 @@ i32.const 1 i32.shl i32.eqz - br_if $~lib/util/math/powf_lut|inlined.0 + br_if $~lib/util/math/pow32_lut|inlined.0 drop f32.const nan:0x400000 local.get $2 i32.const 1065353216 i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 + br_if $~lib/util/math/pow32_lut|inlined.0 drop local.get $0 local.get $1 @@ -8161,7 +8151,7 @@ i32.const -16777216 i32.gt_u i32.or - br_if $~lib/util/math/powf_lut|inlined.0 + br_if $~lib/util/math/pow32_lut|inlined.0 drop f32.const nan:0x400000 local.get $2 @@ -8169,7 +8159,7 @@ i32.shl i32.const 2130706432 i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 + br_if $~lib/util/math/pow32_lut|inlined.0 drop f32.const 0 local.get $7 @@ -8182,12 +8172,12 @@ i32.const 2130706432 i32.lt_u i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 + br_if $~lib/util/math/pow32_lut|inlined.0 drop local.get $1 local.get $1 f32.mul - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $2 i32.const 1 @@ -8208,7 +8198,7 @@ i32.const 31 i32.shr_u if (result i32) - block $~lib/util/math/checkintf|inlined.0 (result i32) + block $~lib/util/math/checkint32|inlined.0 (result i32) i32.const 0 local.get $7 i32.const 23 @@ -8218,13 +8208,13 @@ local.tee $2 i32.const 127 i32.lt_u - br_if $~lib/util/math/checkintf|inlined.0 + br_if $~lib/util/math/checkint32|inlined.0 drop i32.const 2 local.get $2 i32.const 150 i32.gt_u - br_if $~lib/util/math/checkintf|inlined.0 + br_if $~lib/util/math/checkint32|inlined.0 drop i32.const 0 local.get $7 @@ -8237,13 +8227,13 @@ i32.const 1 i32.sub i32.and - br_if $~lib/util/math/checkintf|inlined.0 + br_if $~lib/util/math/checkint32|inlined.0 drop i32.const 1 local.get $2 local.get $7 i32.and - br_if $~lib/util/math/checkintf|inlined.0 + br_if $~lib/util/math/checkint32|inlined.0 drop i32.const 2 end @@ -8260,13 +8250,13 @@ i32.const 31 i32.shr_u select - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end local.get $2 i32.const 31 i32.shr_u if - block $~lib/util/math/checkintf|inlined.1 (result i32) + block $~lib/util/math/checkint32|inlined.1 (result i32) i32.const 0 local.get $7 i32.const 23 @@ -8276,13 +8266,13 @@ local.tee $4 i32.const 127 i32.lt_u - br_if $~lib/util/math/checkintf|inlined.1 + br_if $~lib/util/math/checkint32|inlined.1 drop i32.const 2 local.get $4 i32.const 150 i32.gt_u - br_if $~lib/util/math/checkintf|inlined.1 + br_if $~lib/util/math/checkint32|inlined.1 drop i32.const 0 local.get $7 @@ -8295,13 +8285,13 @@ i32.const 1 i32.sub i32.and - br_if $~lib/util/math/checkintf|inlined.1 + br_if $~lib/util/math/checkint32|inlined.1 drop i32.const 1 local.get $4 local.get $7 i32.and - br_if $~lib/util/math/checkintf|inlined.1 + br_if $~lib/util/math/checkint32|inlined.1 drop i32.const 2 end @@ -8314,7 +8304,7 @@ local.tee $0 local.get $0 f32.div - br $~lib/util/math/powf_lut|inlined.0 + br $~lib/util/math/pow32_lut|inlined.0 end i32.const 65536 i32.const 0 @@ -8422,7 +8412,7 @@ local.get $3 f64.const 127.99999995700433 f64.gt - br_if $~lib/util/math/powf_lut|inlined.0 + br_if $~lib/util/math/pow32_lut|inlined.0 drop f32.const -2.524354896707238e-29 f32.const 2.524354896707238e-29 @@ -8433,7 +8423,7 @@ local.get $3 f64.const -150 f64.le - br_if $~lib/util/math/powf_lut|inlined.0 + br_if $~lib/util/math/pow32_lut|inlined.0 drop end local.get $3 @@ -8483,123 +8473,6 @@ f32.demote_f64 end ) - (func $~lib/math/NativeMath.seedRandom (param $0 i64) - (local $1 i32) - (local $2 i64) - i64.const -7046029254386353131 - local.get $0 - local.get $0 - i64.eqz - select - local.tee $0 - i64.const 33 - i64.shr_u - local.get $0 - i64.xor - i64.const -49064778989728563 - i64.mul - local.tee $2 - i64.const 33 - i64.shr_u - local.get $2 - i64.xor - i64.const -4265267296055464877 - i64.mul - local.tee $2 - i64.const 33 - i64.shr_u - local.get $2 - i64.xor - global.set $~lib/math/random_state0_64 - global.get $~lib/math/random_state0_64 - i64.const -1 - i64.xor - local.tee $2 - i64.const 33 - i64.shr_u - local.get $2 - i64.xor - i64.const -49064778989728563 - i64.mul - local.tee $2 - i64.const 33 - i64.shr_u - local.get $2 - i64.xor - i64.const -4265267296055464877 - i64.mul - local.tee $2 - i64.const 33 - i64.shr_u - local.get $2 - i64.xor - global.set $~lib/math/random_state1_64 - local.get $0 - i32.wrap_i64 - i32.const 1831565813 - i32.add - local.tee $1 - i32.const 1 - i32.or - local.get $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.mul - local.tee $1 - i32.const 61 - i32.or - local.get $1 - local.get $1 - i32.const 7 - i32.shr_u - i32.xor - i32.mul - local.get $1 - i32.add - local.get $1 - i32.xor - local.tee $1 - i32.const 14 - i32.shr_u - local.get $1 - i32.xor - global.set $~lib/math/random_state0_32 - global.get $~lib/math/random_state0_32 - i32.const 1831565813 - i32.add - local.tee $1 - i32.const 1 - i32.or - local.get $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.mul - local.tee $1 - i32.const 61 - i32.or - local.get $1 - local.get $1 - i32.const 7 - i32.shr_u - i32.xor - i32.mul - local.get $1 - i32.add - local.get $1 - i32.xor - local.tee $1 - i32.const 14 - i32.shr_u - local.get $1 - i32.xor - global.set $~lib/math/random_state1_32 - i32.const 1 - global.set $~lib/math/random_seeded - ) (func $std/math/test_round (param $0 f64) (param $1 f64) (result i32) (local $2 f64) local.get $0 @@ -8677,482 +8550,7 @@ f32.const 0 call $std/math/check ) - (func $~lib/math/NativeMath.rem (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 i64) - (local $8 f64) - local.get $1 - i64.reinterpret_f64 - local.tee $7 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $4 - local.get $7 - i64.const 1 - i64.shl - i64.eqz - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.tee $3 - i64.const 2047 - i64.eq - i32.or - local.get $1 - local.get $1 - f64.ne - i32.or - if - local.get $0 - local.get $1 - f64.mul - local.tee $0 - local.get $0 - f64.div - return - end - local.get $2 - i64.const 1 - i64.shl - i64.eqz - if - local.get $0 - return - end - local.get $2 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.set $6 - local.get $3 - i64.eqz - if (result i64) - local.get $2 - i64.const 1 - local.get $3 - local.get $2 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.tee $3 - i64.sub - i64.shl - else - local.get $2 - i64.const 4503599627370495 - i64.and - i64.const 4503599627370496 - i64.or - end - local.set $2 - local.get $4 - i64.eqz - if (result i64) - local.get $7 - i64.const 1 - local.get $4 - local.get $7 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.tee $4 - i64.sub - i64.shl - else - local.get $7 - i64.const 4503599627370495 - i64.and - i64.const 4503599627370496 - i64.or - end - local.set $7 - block $do-break|0 - local.get $3 - local.get $4 - i64.lt_s - if - local.get $3 - i64.const 1 - i64.add - local.get $4 - i64.eq - br_if $do-break|0 - local.get $0 - return - end - loop $while-continue|1 - local.get $3 - local.get $4 - i64.gt_s - if - local.get $2 - local.get $7 - i64.ge_u - if (result i64) - local.get $5 - i32.const 1 - i32.add - local.set $5 - local.get $2 - local.get $7 - i64.sub - else - local.get $2 - end - i64.const 1 - i64.shl - local.set $2 - local.get $5 - i32.const 1 - i32.shl - local.set $5 - local.get $3 - i64.const 1 - i64.sub - local.set $3 - br $while-continue|1 - end - end - local.get $2 - local.get $7 - i64.ge_u - if - local.get $5 - i32.const 1 - i32.add - local.set $5 - local.get $2 - local.get $7 - i64.sub - local.set $2 - end - local.get $2 - i64.eqz - if - i64.const -60 - local.set $3 - else - local.get $3 - local.get $2 - i64.const 11 - i64.shl - i64.clz - local.tee $7 - i64.sub - local.set $3 - local.get $2 - local.get $7 - i64.shl - local.set $2 - end - end - local.get $2 - i64.const 4503599627370496 - i64.sub - local.get $3 - i64.const 52 - i64.shl - i64.or - local.get $2 - i64.const 1 - local.get $3 - i64.sub - i64.shr_u - local.get $3 - i64.const 0 - i64.gt_s - select - f64.reinterpret_i64 - local.tee $0 - local.get $0 - f64.add - local.set $8 - local.get $0 - local.get $1 - f64.abs - local.tee $1 - f64.sub - local.get $0 - local.get $3 - local.get $4 - i64.eq - if (result i32) - i32.const 1 - else - local.get $5 - i32.const 1 - i32.and - local.get $1 - local.get $8 - f64.eq - i32.and - local.get $1 - local.get $8 - f64.lt - i32.or - local.get $3 - i64.const 1 - i64.add - local.get $4 - i64.eq - i32.and - end - select - local.tee $0 - f64.neg - local.get $0 - local.get $6 - select - ) - (func $~lib/math/NativeMathf.rem (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.get $1 - i32.reinterpret_f32 - local.tee $7 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $4 - i32.const 1 - local.get $1 - local.get $1 - f32.ne - local.get $0 - i32.reinterpret_f32 - local.tee $2 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.tee $3 - i32.const 255 - i32.eq - i32.const 1 - local.get $7 - i32.const 1 - i32.shl - select - select - if - local.get $0 - local.get $1 - f32.mul - local.tee $0 - local.get $0 - f32.div - return - end - local.get $2 - i32.const 1 - i32.shl - i32.eqz - if - local.get $0 - return - end - local.get $2 - i32.const 31 - i32.shr_u - local.set $6 - local.get $3 - if (result i32) - local.get $2 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - else - local.get $2 - i32.const 1 - local.get $3 - local.get $2 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.tee $3 - i32.sub - i32.shl - end - local.set $2 - local.get $4 - if (result i32) - local.get $7 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - else - local.get $7 - i32.const 1 - local.get $4 - local.get $7 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.tee $4 - i32.sub - i32.shl - end - local.set $7 - block $do-break|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $3 - i32.const 1 - i32.add - local.get $4 - i32.eq - br_if $do-break|0 - local.get $0 - return - end - loop $while-continue|1 - local.get $3 - local.get $4 - i32.gt_s - if - local.get $2 - local.get $7 - i32.ge_u - if (result i32) - local.get $5 - i32.const 1 - i32.add - local.set $5 - local.get $2 - local.get $7 - i32.sub - else - local.get $2 - end - i32.const 1 - i32.shl - local.set $2 - local.get $5 - i32.const 1 - i32.shl - local.set $5 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|1 - end - end - local.get $2 - local.get $7 - i32.ge_u - if - local.get $5 - i32.const 1 - i32.add - local.set $5 - local.get $2 - local.get $7 - i32.sub - local.set $2 - end - local.get $2 - if - local.get $3 - local.get $2 - i32.const 8 - i32.shl - i32.clz - local.tee $7 - i32.sub - local.set $3 - local.get $2 - local.get $7 - i32.shl - local.set $2 - else - i32.const -30 - local.set $3 - end - end - local.get $2 - i32.const 8388608 - i32.sub - local.get $3 - i32.const 23 - i32.shl - i32.or - local.get $2 - i32.const 1 - local.get $3 - i32.sub - i32.shr_u - local.get $3 - i32.const 0 - i32.gt_s - select - f32.reinterpret_i32 - local.tee $0 - local.get $0 - f32.add - local.set $8 - local.get $0 - local.get $1 - f32.abs - local.tee $1 - f32.sub - local.get $0 - local.get $3 - local.get $4 - i32.eq - if (result i32) - i32.const 1 - else - local.get $5 - i32.const 1 - i32.and - local.get $1 - local.get $8 - f32.eq - i32.and - local.get $1 - local.get $8 - f32.lt - i32.or - local.get $3 - i32.const 1 - i32.add - local.get $4 - i32.eq - i32.and - end - select - local.tee $0 - f32.neg - local.get $0 - local.get $6 - select - ) - (func $~lib/math/NativeMath.sin (param $0 f64) (result f64) + (func $~lib/util/math/sin64 (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 i32) @@ -9231,7 +8629,7 @@ f64.sub return end - block $~lib/math/rempio2|inlined.1 (result i32) + block $~lib/util/math/rempio2_64|inlined.1 (result i32) local.get $5 i64.const 32 i64.shr_u @@ -9311,10 +8709,10 @@ end end local.get $0 - global.set $~lib/math/rempio2_y0 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y1 local.get $3 - br $~lib/math/rempio2|inlined.1 + br $~lib/util/math/rempio2_64|inlined.1 end local.get $4 i32.const 1094263291 @@ -9408,20 +8806,20 @@ end end local.get $1 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $0 local.get $1 f64.sub local.get $2 f64.sub - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $7 i32.trunc_sat_f64_s - br $~lib/math/rempio2|inlined.1 + br $~lib/util/math/rempio2_64|inlined.1 end i32.const 0 local.get $5 - call $~lib/math/pio2_large_quot + call $~lib/util/math/pio2_64_large_quot local.tee $3 i32.sub local.get $3 @@ -9429,9 +8827,9 @@ select end local.set $3 - global.get $~lib/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y0 local.set $2 - global.get $~lib/math/rempio2_y1 + global.get $~lib/util/math/rempio2_y1 local.set $7 local.get $3 i32.const 1 @@ -9543,7 +8941,7 @@ i32.and select ) - (func $~lib/math/NativeMathf.sin (param $0 f32) (result f32) + (func $~lib/util/math/sin32 (param $0 f32) (result f32) (local $1 f64) (local $2 f64) (local $3 i32) @@ -9787,7 +9185,7 @@ f32.sub return end - block $~lib/math/rempio2f|inlined.1 (result i32) + block $~lib/util/math/rempio2_32|inlined.1 (result i32) local.get $3 i32.const 1305022427 i32.lt_u @@ -9808,10 +9206,10 @@ f64.const 1.5893254773528196e-08 f64.mul f64.sub - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $2 i32.trunc_sat_f64_s - br $~lib/math/rempio2f|inlined.1 + br $~lib/util/math/rempio2_32|inlined.1 end local.get $3 i32.const 23 @@ -9889,7 +9287,7 @@ local.tee $8 f64.convert_i64_s f64.mul - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y i32.const 0 local.get $5 i64.const 62 @@ -9906,7 +9304,7 @@ select end local.set $3 - global.get $~lib/math/rempio2f_y + global.get $~lib/util/math/rempio2_32_y local.set $1 local.get $3 i32.const 1 @@ -10006,7 +9404,7 @@ (local $4 i32) (local $5 i64) (local $6 f64) - block $__inlined_func$~lib/math/NativeMath.sinh (result f64) + block $__inlined_func$~lib/util/math/sinh64 (result f64) local.get $0 i64.reinterpret_f64 i64.const 9223372036854775807 @@ -10027,7 +9425,7 @@ i32.lt_u if local.get $6 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.set $6 local.get $4 i32.const 1072693248 @@ -10037,7 +9435,7 @@ local.get $4 i32.const 1045430272 i32.lt_u - br_if $__inlined_func$~lib/math/NativeMath.sinh + br_if $__inlined_func$~lib/util/math/sinh64 drop local.get $3 local.get $6 @@ -10052,7 +9450,7 @@ f64.div f64.sub f64.mul - br $__inlined_func$~lib/math/NativeMath.sinh + br $__inlined_func$~lib/util/math/sinh64 end local.get $3 local.get $6 @@ -10063,12 +9461,12 @@ f64.div f64.add f64.mul - br $__inlined_func$~lib/math/NativeMath.sinh + br $__inlined_func$~lib/util/math/sinh64 end local.get $6 f64.const 1416.0996898839683 f64.sub - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 local.get $3 local.get $3 f64.add @@ -10106,13 +9504,13 @@ local.get $0 f32.copysign local.set $3 - block $__inlined_func$~lib/math/NativeMathf.sinh + block $__inlined_func$~lib/util/math/sinh32 local.get $4 i32.const 1118925335 i32.lt_u if local.get $5 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.set $5 local.get $4 i32.const 1065353216 @@ -10121,7 +9519,7 @@ local.get $4 i32.const 964689920 i32.lt_u - br_if $__inlined_func$~lib/math/NativeMathf.sinh + br_if $__inlined_func$~lib/util/math/sinh32 local.get $3 local.get $5 local.get $5 @@ -10136,7 +9534,7 @@ f32.sub f32.mul local.set $0 - br $__inlined_func$~lib/math/NativeMathf.sinh + br $__inlined_func$~lib/util/math/sinh32 end local.get $3 local.get $5 @@ -10148,12 +9546,12 @@ f32.add f32.mul local.set $0 - br $__inlined_func$~lib/math/NativeMathf.sinh + br $__inlined_func$~lib/util/math/sinh32 end local.get $5 f32.const 162.88958740234375 f32.sub - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 local.get $3 local.get $3 f32.add @@ -10169,7 +9567,7 @@ local.get $2 call $std/math/check ) - (func $~lib/math/tan_kern (param $0 f64) (param $1 f64) (param $2 i32) (result f64) + (func $~lib/util/math/tan64_kern (param $0 f64) (param $1 f64) (param $2 i32) (result f64) (local $3 i32) (local $4 i32) (local $5 f64) @@ -10348,7 +9746,7 @@ f64.mul f64.add ) - (func $~lib/math/NativeMath.tan (param $0 f64) (result f64) + (func $~lib/util/math/tan64 (param $0 f64) (result f64) (local $1 f64) (local $2 i32) (local $3 i64) @@ -10383,7 +9781,7 @@ local.get $0 f64.const 0 i32.const 1 - call $~lib/math/tan_kern + call $~lib/util/math/tan64_kern return end local.get $2 @@ -10395,7 +9793,7 @@ f64.sub return end - block $~lib/math/rempio2|inlined.2 + block $~lib/util/math/rempio2_64|inlined.2 local.get $3 i64.const 32 i64.shr_u @@ -10475,9 +9873,9 @@ end end local.get $0 - global.set $~lib/math/rempio2_y0 - global.set $~lib/math/rempio2_y1 - br $~lib/math/rempio2|inlined.2 + global.set $~lib/util/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y1 + br $~lib/util/math/rempio2_64|inlined.2 end local.get $7 i32.const 1094263291 @@ -10571,21 +9969,21 @@ end end local.get $1 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $0 local.get $1 f64.sub local.get $5 f64.sub - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $4 i32.trunc_sat_f64_s local.set $2 - br $~lib/math/rempio2|inlined.2 + br $~lib/util/math/rempio2_64|inlined.2 end i32.const 0 local.get $3 - call $~lib/math/pio2_large_quot + call $~lib/util/math/pio2_64_large_quot local.tee $2 i32.sub local.get $2 @@ -10593,8 +9991,8 @@ select local.set $2 end - global.get $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 + global.get $~lib/util/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y1 i32.const 1 local.get $2 i32.const 1 @@ -10602,9 +10000,9 @@ i32.const 1 i32.shl i32.sub - call $~lib/math/tan_kern + call $~lib/util/math/tan64_kern ) - (func $~lib/math/NativeMathf.tan (param $0 f32) (result f32) + (func $~lib/util/math/tan32 (param $0 f32) (result f32) (local $1 f64) (local $2 f64) (local $3 f64) @@ -10752,7 +10150,7 @@ f32.sub return end - block $~lib/math/rempio2f|inlined.2 (result i32) + block $~lib/util/math/rempio2_32|inlined.2 (result i32) local.get $4 i32.const 1305022427 i32.lt_u @@ -10773,10 +10171,10 @@ f64.const 1.5893254773528196e-08 f64.mul f64.sub - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y local.get $2 i32.trunc_sat_f64_s - br $~lib/math/rempio2f|inlined.2 + br $~lib/util/math/rempio2_32|inlined.2 end local.get $4 i32.const 23 @@ -10854,7 +10252,7 @@ local.tee $8 f64.convert_i64_s f64.mul - global.set $~lib/math/rempio2f_y + global.set $~lib/util/math/rempio2_32_y i32.const 0 local.get $5 i64.const 62 @@ -10871,7 +10269,7 @@ select end local.set $4 - global.get $~lib/math/rempio2f_y + global.get $~lib/util/math/rempio2_32_y local.tee $1 local.get $1 f64.mul @@ -11021,7 +10419,7 @@ local.get $5 local.get $5 f64.add - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 2 f64.add f64.div @@ -11035,7 +10433,7 @@ local.get $5 local.get $5 f64.add - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.tee $5 local.get $5 f64.const 2 @@ -11049,7 +10447,7 @@ local.get $5 f64.const -2 f64.mul - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 local.tee $5 f64.neg local.get $5 @@ -11105,7 +10503,7 @@ local.get $4 local.get $4 f32.add - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 2 f32.add f32.div @@ -11119,7 +10517,7 @@ local.get $4 local.get $4 f32.add - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.tee $4 local.get $4 f32.const 2 @@ -11133,7 +10531,7 @@ local.get $4 f32.const -2 f32.mul - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 local.tee $4 f32.neg local.get $4 @@ -11151,7 +10549,7 @@ local.get $2 call $std/math/check ) - (func $~lib/math/NativeMath.sincos (param $0 f64) + (func $~lib/util/math/sincos64 (param $0 f64) (result f64) (local $1 f64) (local $2 f64) (local $3 i32) @@ -11183,48 +10581,18 @@ 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 + global.set $~lib/util/math/sincos_cos64 + local.get $0 return end local.get $0 local.get $0 - local.get $0 f64.mul local.tee $1 - local.get $0 - f64.mul - local.get $1 - local.get $1 - local.get $1 - f64.const 2.7557313707070068e-06 - f64.mul - f64.const -1.984126982985795e-04 - f64.add - f64.mul - f64.const 0.00833333333332249 - f64.add - local.get $1 - local.get $1 local.get $1 f64.mul - local.tee $2 - f64.mul - local.get $1 - f64.const 1.58969099521155e-10 - f64.mul - f64.const -2.5050760253406863e-08 - f64.add - f64.mul - f64.add - f64.mul - f64.const -0.16666666666666632 - f64.add - f64.mul - f64.add - global.set $~lib/math/NativeMath.sincos_sin + local.set $2 f64.const 1 local.get $1 f64.const 0.5 @@ -11270,7 +10638,38 @@ f64.sub f64.add f64.add - global.set $~lib/math/NativeMath.sincos_cos + global.set $~lib/util/math/sincos_cos64 + local.get $0 + local.get $1 + local.get $0 + f64.mul + local.get $1 + local.get $1 + local.get $1 + f64.const 2.7557313707070068e-06 + f64.mul + f64.const -1.984126982985795e-04 + f64.add + f64.mul + f64.const 0.00833333333332249 + f64.add + local.get $1 + local.get $1 + local.get $1 + f64.mul + f64.mul + local.get $1 + f64.const 1.58969099521155e-10 + f64.mul + f64.const -2.5050760253406863e-08 + f64.add + f64.mul + f64.add + f64.mul + f64.const -0.16666666666666632 + f64.add + f64.mul + f64.add return end local.get $3 @@ -11281,12 +10680,11 @@ local.get $0 f64.sub local.tee $0 - global.set $~lib/math/NativeMath.sincos_sin + global.set $~lib/util/math/sincos_cos64 local.get $0 - global.set $~lib/math/NativeMath.sincos_cos return end - block $~lib/math/rempio2|inlined.3 (result i32) + block $~lib/util/math/rempio2_64|inlined.3 (result i32) local.get $5 i64.const 32 i64.shr_u @@ -11366,10 +10764,10 @@ end end local.get $0 - global.set $~lib/math/rempio2_y0 - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y1 local.get $3 - br $~lib/math/rempio2|inlined.3 + br $~lib/util/math/rempio2_64|inlined.3 end local.get $4 i32.const 1094263291 @@ -11463,20 +10861,20 @@ end end local.get $2 - global.set $~lib/math/rempio2_y0 + global.set $~lib/util/math/rempio2_y0 local.get $0 local.get $2 f64.sub local.get $1 f64.sub - global.set $~lib/math/rempio2_y1 + global.set $~lib/util/math/rempio2_y1 local.get $7 i32.trunc_sat_f64_s - br $~lib/math/rempio2|inlined.3 + br $~lib/util/math/rempio2_64|inlined.3 end i32.const 0 local.get $5 - call $~lib/math/pio2_large_quot + call $~lib/util/math/pio2_64_large_quot local.tee $3 i32.sub local.get $3 @@ -11484,7 +10882,7 @@ select end local.set $3 - global.get $~lib/math/rempio2_y0 + global.get $~lib/util/math/rempio2_y0 local.tee $7 local.get $7 f64.mul @@ -11495,7 +10893,7 @@ local.set $1 local.get $7 local.get $0 - global.get $~lib/math/rempio2_y1 + global.get $~lib/util/math/rempio2_y1 local.tee $9 f64.const 0.5 f64.mul @@ -11595,18 +10993,17 @@ local.get $3 i32.const 2 i32.and - if (result f64) + if local.get $1 f64.neg local.set $1 local.get $0 f64.neg - else - local.get $0 + local.set $0 end - global.set $~lib/math/NativeMath.sincos_sin local.get $1 - global.set $~lib/math/NativeMath.sincos_cos + global.set $~lib/util/math/sincos_cos64 + local.get $0 ) (func $std/math/test_sincos (param $0 i64) (param $1 i64) (param $2 i64) (param $3 i64) (param $4 i64) (local $5 f64) @@ -11619,7 +11016,10 @@ local.set $6 local.get $0 f64.reinterpret_i64 - call $~lib/math/NativeMath.sincos + call $~lib/util/math/sincos64 + global.set $~lib/math/NativeMath.sincos_sin + global.get $~lib/util/math/sincos_cos64 + global.set $~lib/math/NativeMath.sincos_cos global.get $~lib/math/NativeMath.sincos_sin local.get $1 f64.reinterpret_i64 @@ -11634,7 +11034,7 @@ drop end ) - (func $~lib/math/NativeMath.imul (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.imul (param $0 f64) (param $1 f64) (result f64) (local $2 i32) (local $3 i64) (local $4 f64) @@ -11740,7 +11140,7 @@ i32.mul f64.convert_i32_s ) - (func $~lib/math/ipow64 (param $0 i64) (param $1 i64) (result i64) + (func $~lib/util/math/ipow64 (param $0 i64) (param $1 i64) (result i64) (local $2 i64) i64.const 1 local.set $2 @@ -11958,13 +11358,10 @@ local.get $2 ) (func $start:std/math - (local $0 f64) - (local $1 i32) - (local $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i64) + (local $0 i64) + (local $1 f64) + (local $2 i32) + (local $3 i64) f64.const 2.718281828459045 global.get $~lib/bindings/dom/Math.E f64.const 0 @@ -11973,7 +11370,7 @@ if i32.const 0 i32.const 1056 - i32.const 111 + i32.const 115 i32.const 1 call $~lib/builtins/abort unreachable @@ -11986,7 +11383,7 @@ if i32.const 0 i32.const 1056 - i32.const 112 + i32.const 116 i32.const 1 call $~lib/builtins/abort unreachable @@ -11999,7 +11396,7 @@ if i32.const 0 i32.const 1056 - i32.const 113 + i32.const 117 i32.const 1 call $~lib/builtins/abort unreachable @@ -12012,7 +11409,7 @@ if i32.const 0 i32.const 1056 - i32.const 114 + i32.const 118 i32.const 1 call $~lib/builtins/abort unreachable @@ -12025,7 +11422,7 @@ if i32.const 0 i32.const 1056 - i32.const 115 + i32.const 119 i32.const 1 call $~lib/builtins/abort unreachable @@ -12038,7 +11435,7 @@ if i32.const 0 i32.const 1056 - i32.const 116 + i32.const 120 i32.const 1 call $~lib/builtins/abort unreachable @@ -12048,48 +11445,6 @@ f64.const 0 call $std/math/check i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 117 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 2.7182817459106445 - global.get $~lib/bindings/dom/Math.E - f32.demote_f64 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 119 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6931471824645996 - global.get $~lib/bindings/dom/Math.LN2 - f32.demote_f64 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 120 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 2.3025851249694824 - global.get $~lib/bindings/dom/Math.LN10 - f32.demote_f64 - f32.const 0 - call $std/math/check - i32.eqz if i32.const 0 i32.const 1056 @@ -12098,65 +11453,9 @@ call $~lib/builtins/abort unreachable end - f32.const 1.4426950216293335 - global.get $~lib/bindings/dom/Math.LOG2E - f32.demote_f64 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 122 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 3.1415927410125732 - global.get $~lib/bindings/dom/Math.PI - f32.demote_f64 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 123 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7071067690849304 - global.get $~lib/bindings/dom/Math.SQRT1_2 - f32.demote_f64 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 124 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1.4142135381698608 - global.get $~lib/bindings/dom/Math.SQRT2 - f32.demote_f64 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 125 - i32.const 1 - call $~lib/builtins/abort - unreachable - end f64.const -8.06684839057968 i32.const -2 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -2.01671209764492 f64.const 0 call $std/math/check @@ -12164,14 +11463,14 @@ if i32.const 0 i32.const 1056 - i32.const 136 + i32.const 132 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 i32.const -1 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 2.1726199246691524 f64.const 0 call $std/math/check @@ -12179,14 +11478,14 @@ if i32.const 0 i32.const 1056 - i32.const 137 + i32.const 133 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 i32.const 0 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -8.38143342755525 f64.const 0 call $std/math/check @@ -12194,14 +11493,14 @@ if i32.const 0 i32.const 1056 - i32.const 138 + i32.const 134 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 i32.const 1 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -13.063347163826968 f64.const 0 call $std/math/check @@ -12209,14 +11508,14 @@ if i32.const 0 i32.const 1056 - i32.const 139 + i32.const 135 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 i32.const 2 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 37.06822786789034 f64.const 0 call $std/math/check @@ -12224,14 +11523,14 @@ if i32.const 0 i32.const 1056 - i32.const 140 + i32.const 136 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 i32.const 3 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 5.295887184796036 f64.const 0 call $std/math/check @@ -12239,14 +11538,14 @@ if i32.const 0 i32.const 1056 - i32.const 141 + i32.const 137 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 i32.const 4 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -6.505662758165685 f64.const 0 call $std/math/check @@ -12254,14 +11553,14 @@ if i32.const 0 i32.const 1056 - i32.const 142 + i32.const 138 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 i32.const 5 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 17.97631187906317 f64.const 0 call $std/math/check @@ -12269,14 +11568,14 @@ if i32.const 0 i32.const 1056 - i32.const 143 + i32.const 139 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 i32.const 6 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 49.545746981843436 f64.const 0 call $std/math/check @@ -12284,14 +11583,14 @@ if i32.const 0 i32.const 1056 - i32.const 144 + i32.const 140 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 i32.const 7 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -86.88175393784351 f64.const 0 call $std/math/check @@ -12299,14 +11598,14 @@ if i32.const 0 i32.const 1056 - i32.const 145 + i32.const 141 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 i32.const 2147483647 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 0 f64.const 0 call $std/math/check @@ -12314,14 +11613,14 @@ if i32.const 0 i32.const 1056 - i32.const 148 + i32.const 144 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 i32.const -2147483647 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 0 f64.const 0 call $std/math/check @@ -12329,14 +11628,14 @@ if i32.const 0 i32.const 1056 - i32.const 149 + i32.const 145 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 i32.const 2147483647 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -0 f64.const 0 call $std/math/check @@ -12344,14 +11643,14 @@ if i32.const 0 i32.const 1056 - i32.const 150 + i32.const 146 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 i32.const 0 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -12359,14 +11658,14 @@ if i32.const 0 i32.const 1056 - i32.const 151 + i32.const 147 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf i32.const 0 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const inf f64.const 0 call $std/math/check @@ -12374,14 +11673,14 @@ if i32.const 0 i32.const 1056 - i32.const 152 + i32.const 148 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf i32.const 0 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -inf f64.const 0 call $std/math/check @@ -12389,14 +11688,14 @@ if i32.const 0 i32.const 1056 - i32.const 153 + i32.const 149 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 i32.const 0 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 1 f64.const 0 call $std/math/check @@ -12404,14 +11703,14 @@ if i32.const 0 i32.const 1056 - i32.const 154 + i32.const 150 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 i32.const 1 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 2 f64.const 0 call $std/math/check @@ -12419,14 +11718,14 @@ if i32.const 0 i32.const 1056 - i32.const 155 + i32.const 151 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 i32.const -1 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 0.5 f64.const 0 call $std/math/check @@ -12434,14 +11733,14 @@ if i32.const 0 i32.const 1056 - i32.const 156 + i32.const 152 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 i32.const 2147483647 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const inf f64.const 0 call $std/math/check @@ -12449,14 +11748,14 @@ if i32.const 0 i32.const 1056 - i32.const 157 + i32.const 153 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 i32.const 1 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -12464,14 +11763,14 @@ if i32.const 0 i32.const 1056 - i32.const 158 + i32.const 154 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf i32.const 2147483647 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const inf f64.const 0 call $std/math/check @@ -12479,14 +11778,14 @@ if i32.const 0 i32.const 1056 - i32.const 159 + i32.const 155 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf i32.const -2147483647 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const inf f64.const 0 call $std/math/check @@ -12494,14 +11793,14 @@ if i32.const 0 i32.const 1056 - i32.const 160 + i32.const 156 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf i32.const 2147483647 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const -inf f64.const 0 call $std/math/check @@ -12509,14 +11808,14 @@ if i32.const 0 i32.const 1056 - i32.const 161 + i32.const 157 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8988465674311579538646525e283 i32.const -2097 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 5e-324 f64.const 0 call $std/math/check @@ -12524,14 +11823,14 @@ if i32.const 0 i32.const 1056 - i32.const 162 + i32.const 158 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 i32.const 2097 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 8988465674311579538646525e283 f64.const 0 call $std/math/check @@ -12539,14 +11838,14 @@ if i32.const 0 i32.const 1056 - i32.const 163 + i32.const 159 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.000244140625 i32.const -1074 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 5e-324 f64.const 0 call $std/math/check @@ -12554,14 +11853,14 @@ if i32.const 0 i32.const 1056 - i32.const 164 + i32.const 160 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7499999999999999 i32.const -1073 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 5e-324 f64.const 0 call $std/math/check @@ -12569,14 +11868,14 @@ if i32.const 0 i32.const 1056 - i32.const 165 + i32.const 161 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5000000000000012 i32.const -1024 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 f64.const 2.781342323134007e-309 f64.const 0 call $std/math/check @@ -12584,7 +11883,7 @@ if i32.const 0 i32.const 1056 - i32.const 166 + i32.const 162 i32.const 1 call $~lib/builtins/abort unreachable @@ -12597,7 +11896,7 @@ if i32.const 0 i32.const 1056 - i32.const 175 + i32.const 171 i32.const 1 call $~lib/builtins/abort unreachable @@ -12610,7 +11909,7 @@ if i32.const 0 i32.const 1056 - i32.const 176 + i32.const 172 i32.const 1 call $~lib/builtins/abort unreachable @@ -12623,7 +11922,7 @@ if i32.const 0 i32.const 1056 - i32.const 177 + i32.const 173 i32.const 1 call $~lib/builtins/abort unreachable @@ -12636,7 +11935,7 @@ if i32.const 0 i32.const 1056 - i32.const 178 + i32.const 174 i32.const 1 call $~lib/builtins/abort unreachable @@ -12649,7 +11948,7 @@ if i32.const 0 i32.const 1056 - i32.const 179 + i32.const 175 i32.const 1 call $~lib/builtins/abort unreachable @@ -12662,7 +11961,7 @@ if i32.const 0 i32.const 1056 - i32.const 180 + i32.const 176 i32.const 1 call $~lib/builtins/abort unreachable @@ -12675,7 +11974,7 @@ if i32.const 0 i32.const 1056 - i32.const 181 + i32.const 177 i32.const 1 call $~lib/builtins/abort unreachable @@ -12688,7 +11987,7 @@ if i32.const 0 i32.const 1056 - i32.const 182 + i32.const 178 i32.const 1 call $~lib/builtins/abort unreachable @@ -12701,7 +12000,7 @@ if i32.const 0 i32.const 1056 - i32.const 183 + i32.const 179 i32.const 1 call $~lib/builtins/abort unreachable @@ -12714,7 +12013,7 @@ if i32.const 0 i32.const 1056 - i32.const 184 + i32.const 180 i32.const 1 call $~lib/builtins/abort unreachable @@ -12727,7 +12026,7 @@ if i32.const 0 i32.const 1056 - i32.const 187 + i32.const 183 i32.const 1 call $~lib/builtins/abort unreachable @@ -12740,7 +12039,7 @@ if i32.const 0 i32.const 1056 - i32.const 188 + i32.const 184 i32.const 1 call $~lib/builtins/abort unreachable @@ -12753,7 +12052,7 @@ if i32.const 0 i32.const 1056 - i32.const 189 + i32.const 185 i32.const 1 call $~lib/builtins/abort unreachable @@ -12766,7 +12065,7 @@ if i32.const 0 i32.const 1056 - i32.const 190 + i32.const 186 i32.const 1 call $~lib/builtins/abort unreachable @@ -12779,7 +12078,7 @@ if i32.const 0 i32.const 1056 - i32.const 191 + i32.const 187 i32.const 1 call $~lib/builtins/abort unreachable @@ -12792,7 +12091,7 @@ if i32.const 0 i32.const 1056 - i32.const 192 + i32.const 188 i32.const 1 call $~lib/builtins/abort unreachable @@ -12805,7 +12104,7 @@ if i32.const 0 i32.const 1056 - i32.const 193 + i32.const 189 i32.const 1 call $~lib/builtins/abort unreachable @@ -12818,7 +12117,7 @@ if i32.const 0 i32.const 1056 - i32.const 194 + i32.const 190 i32.const 1 call $~lib/builtins/abort unreachable @@ -12831,7 +12130,7 @@ if i32.const 0 i32.const 1056 - i32.const 195 + i32.const 191 i32.const 1 call $~lib/builtins/abort unreachable @@ -12844,7 +12143,7 @@ if i32.const 0 i32.const 1056 - i32.const 196 + i32.const 192 i32.const 1 call $~lib/builtins/abort unreachable @@ -12857,7 +12156,7 @@ if i32.const 0 i32.const 1056 - i32.const 197 + i32.const 193 i32.const 1 call $~lib/builtins/abort unreachable @@ -12870,7 +12169,7 @@ if i32.const 0 i32.const 1056 - i32.const 198 + i32.const 194 i32.const 1 call $~lib/builtins/abort unreachable @@ -12883,7 +12182,7 @@ if i32.const 0 i32.const 1056 - i32.const 199 + i32.const 195 i32.const 1 call $~lib/builtins/abort unreachable @@ -12896,7 +12195,7 @@ if i32.const 0 i32.const 1056 - i32.const 200 + i32.const 196 i32.const 1 call $~lib/builtins/abort unreachable @@ -12909,7 +12208,7 @@ if i32.const 0 i32.const 1056 - i32.const 201 + i32.const 197 i32.const 1 call $~lib/builtins/abort unreachable @@ -12922,7 +12221,7 @@ if i32.const 0 i32.const 1056 - i32.const 202 + i32.const 198 i32.const 1 call $~lib/builtins/abort unreachable @@ -12935,7 +12234,7 @@ if i32.const 0 i32.const 1056 - i32.const 203 + i32.const 199 i32.const 1 call $~lib/builtins/abort unreachable @@ -12948,7 +12247,7 @@ if i32.const 0 i32.const 1056 - i32.const 204 + i32.const 200 i32.const 1 call $~lib/builtins/abort unreachable @@ -12961,7 +12260,7 @@ if i32.const 0 i32.const 1056 - i32.const 205 + i32.const 201 i32.const 1 call $~lib/builtins/abort unreachable @@ -12983,7 +12282,7 @@ if i32.const 0 i32.const 1056 - i32.const 217 + i32.const 213 i32.const 1 call $~lib/builtins/abort unreachable @@ -13005,7 +12304,7 @@ if i32.const 0 i32.const 1056 - i32.const 218 + i32.const 214 i32.const 1 call $~lib/builtins/abort unreachable @@ -13027,7 +12326,7 @@ if i32.const 0 i32.const 1056 - i32.const 219 + i32.const 215 i32.const 1 call $~lib/builtins/abort unreachable @@ -13049,7 +12348,7 @@ if i32.const 0 i32.const 1056 - i32.const 220 + i32.const 216 i32.const 1 call $~lib/builtins/abort unreachable @@ -13071,7 +12370,7 @@ if i32.const 0 i32.const 1056 - i32.const 221 + i32.const 217 i32.const 1 call $~lib/builtins/abort unreachable @@ -13093,7 +12392,7 @@ if i32.const 0 i32.const 1056 - i32.const 222 + i32.const 218 i32.const 1 call $~lib/builtins/abort unreachable @@ -13115,7 +12414,7 @@ if i32.const 0 i32.const 1056 - i32.const 223 + i32.const 219 i32.const 1 call $~lib/builtins/abort unreachable @@ -13137,7 +12436,7 @@ if i32.const 0 i32.const 1056 - i32.const 224 + i32.const 220 i32.const 1 call $~lib/builtins/abort unreachable @@ -13159,7 +12458,7 @@ if i32.const 0 i32.const 1056 - i32.const 225 + i32.const 221 i32.const 1 call $~lib/builtins/abort unreachable @@ -13181,7 +12480,7 @@ if i32.const 0 i32.const 1056 - i32.const 226 + i32.const 222 i32.const 1 call $~lib/builtins/abort unreachable @@ -13203,7 +12502,7 @@ if i32.const 0 i32.const 1056 - i32.const 229 + i32.const 225 i32.const 1 call $~lib/builtins/abort unreachable @@ -13225,7 +12524,7 @@ if i32.const 0 i32.const 1056 - i32.const 230 + i32.const 226 i32.const 1 call $~lib/builtins/abort unreachable @@ -13247,7 +12546,7 @@ if i32.const 0 i32.const 1056 - i32.const 231 + i32.const 227 i32.const 1 call $~lib/builtins/abort unreachable @@ -13269,7 +12568,7 @@ if i32.const 0 i32.const 1056 - i32.const 232 + i32.const 228 i32.const 1 call $~lib/builtins/abort unreachable @@ -13291,7 +12590,7 @@ if i32.const 0 i32.const 1056 - i32.const 233 + i32.const 229 i32.const 1 call $~lib/builtins/abort unreachable @@ -13313,7 +12612,7 @@ if i32.const 0 i32.const 1056 - i32.const 234 + i32.const 230 i32.const 1 call $~lib/builtins/abort unreachable @@ -13335,7 +12634,7 @@ if i32.const 0 i32.const 1056 - i32.const 235 + i32.const 231 i32.const 1 call $~lib/builtins/abort unreachable @@ -13348,7 +12647,7 @@ if i32.const 0 i32.const 1056 - i32.const 244 + i32.const 240 i32.const 1 call $~lib/builtins/abort unreachable @@ -13361,7 +12660,7 @@ if i32.const 0 i32.const 1056 - i32.const 245 + i32.const 241 i32.const 1 call $~lib/builtins/abort unreachable @@ -13374,7 +12673,7 @@ if i32.const 0 i32.const 1056 - i32.const 246 + i32.const 242 i32.const 1 call $~lib/builtins/abort unreachable @@ -13387,7 +12686,7 @@ if i32.const 0 i32.const 1056 - i32.const 247 + i32.const 243 i32.const 1 call $~lib/builtins/abort unreachable @@ -13400,7 +12699,7 @@ if i32.const 0 i32.const 1056 - i32.const 248 + i32.const 244 i32.const 1 call $~lib/builtins/abort unreachable @@ -13413,7 +12712,7 @@ if i32.const 0 i32.const 1056 - i32.const 249 + i32.const 245 i32.const 1 call $~lib/builtins/abort unreachable @@ -13426,7 +12725,7 @@ if i32.const 0 i32.const 1056 - i32.const 250 + i32.const 246 i32.const 1 call $~lib/builtins/abort unreachable @@ -13439,7 +12738,7 @@ if i32.const 0 i32.const 1056 - i32.const 251 + i32.const 247 i32.const 1 call $~lib/builtins/abort unreachable @@ -13452,7 +12751,7 @@ if i32.const 0 i32.const 1056 - i32.const 252 + i32.const 248 i32.const 1 call $~lib/builtins/abort unreachable @@ -13465,7 +12764,7 @@ if i32.const 0 i32.const 1056 - i32.const 253 + i32.const 249 i32.const 1 call $~lib/builtins/abort unreachable @@ -13478,7 +12777,7 @@ if i32.const 0 i32.const 1056 - i32.const 256 + i32.const 252 i32.const 1 call $~lib/builtins/abort unreachable @@ -13491,7 +12790,7 @@ if i32.const 0 i32.const 1056 - i32.const 257 + i32.const 253 i32.const 1 call $~lib/builtins/abort unreachable @@ -13504,7 +12803,7 @@ if i32.const 0 i32.const 1056 - i32.const 258 + i32.const 254 i32.const 1 call $~lib/builtins/abort unreachable @@ -13517,7 +12816,7 @@ if i32.const 0 i32.const 1056 - i32.const 259 + i32.const 255 i32.const 1 call $~lib/builtins/abort unreachable @@ -13530,7 +12829,7 @@ if i32.const 0 i32.const 1056 - i32.const 260 + i32.const 256 i32.const 1 call $~lib/builtins/abort unreachable @@ -13543,7 +12842,7 @@ if i32.const 0 i32.const 1056 - i32.const 261 + i32.const 257 i32.const 1 call $~lib/builtins/abort unreachable @@ -13556,13 +12855,13 @@ if i32.const 0 i32.const 1056 - i32.const 262 + i32.const 258 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13579,13 +12878,13 @@ if i32.const 0 i32.const 1056 - i32.const 274 + i32.const 270 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13602,13 +12901,13 @@ if i32.const 0 i32.const 1056 - i32.const 275 + i32.const 271 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13625,13 +12924,13 @@ if i32.const 0 i32.const 1056 - i32.const 276 + i32.const 272 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13648,13 +12947,13 @@ if i32.const 0 i32.const 1056 - i32.const 277 + i32.const 273 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13671,13 +12970,13 @@ if i32.const 0 i32.const 1056 - i32.const 278 + i32.const 274 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 0.8473310828433507 f64.const -0.41553276777267456 call $std/math/check @@ -13694,13 +12993,13 @@ if i32.const 0 i32.const 1056 - i32.const 279 + i32.const 275 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 1.989530071088669 f64.const 0.4973946213722229 call $std/math/check @@ -13717,13 +13016,13 @@ if i32.const 0 i32.const 1056 - i32.const 280 + i32.const 276 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 0.9742849645674904 f64.const -0.4428897500038147 call $std/math/check @@ -13740,13 +13039,13 @@ if i32.const 0 i32.const 1056 - i32.const 281 + i32.const 277 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 0.6854215158636222 f64.const -0.12589527666568756 call $std/math/check @@ -13763,13 +13062,13 @@ if i32.const 0 i32.const 1056 - i32.const 282 + i32.const 278 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 2.316874138205964 f64.const -0.17284949123859406 call $std/math/check @@ -13786,13 +13085,13 @@ if i32.const 0 i32.const 1056 - i32.const 283 + i32.const 279 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 1.5707963267948966 f64.const -0.27576595544815063 call $std/math/check @@ -13809,13 +13108,13 @@ if i32.const 0 i32.const 1056 - i32.const 286 + i32.const 282 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 3.141592653589793 f64.const -0.27576595544815063 call $std/math/check @@ -13832,13 +13131,13 @@ if i32.const 0 i32.const 1056 - i32.const 287 + i32.const 283 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 0 f64.const 0 call $std/math/check @@ -13855,13 +13154,13 @@ if i32.const 0 i32.const 1056 - i32.const 288 + i32.const 284 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13878,13 +13177,13 @@ if i32.const 0 i32.const 1056 - i32.const 289 + i32.const 285 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.0000000000000002 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13901,13 +13200,13 @@ if i32.const 0 i32.const 1056 - i32.const 290 + i32.const 286 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13924,13 +13223,13 @@ if i32.const 0 i32.const 1056 - i32.const 291 + i32.const 287 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13947,13 +13246,13 @@ if i32.const 0 i32.const 1056 - i32.const 292 + i32.const 288 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -13970,13 +13269,13 @@ if i32.const 0 i32.const 1056 - i32.const 293 + i32.const 289 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.5309227209592985 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 2.1304853799705463 f64.const 0.1391008496284485 call $std/math/check @@ -13993,13 +13292,13 @@ if i32.const 0 i32.const 1056 - i32.const 294 + i32.const 290 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.4939556746399746 - call $~lib/math/NativeMath.acos + call $~lib/util/math/acos64 f64.const 1.0541629875851946 f64.const 0.22054767608642578 call $std/math/check @@ -14016,301 +13315,280 @@ if i32.const 0 i32.const 1056 - i32.const 295 + i32.const 291 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 304 + i32.const 300 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 305 + i32.const 301 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 306 + i32.const 302 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 307 + i32.const 303 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 308 + i32.const 304 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.acos f32.const 0.8473311066627502 f32.const -0.13588131964206696 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 309 + i32.const 305 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.acos f32.const 1.989530086517334 f32.const 0.03764917701482773 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 310 + i32.const 306 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.acos f32.const 0.9742849469184875 f32.const 0.18443739414215088 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 311 + i32.const 307 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.acos f32.const 0.6854215264320374 f32.const -0.29158344864845276 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 312 + i32.const 308 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.acos f32.const 2.3168740272521973 f32.const -0.3795364499092102 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 313 + i32.const 309 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.acos f32.const 1.5707963705062866 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 316 + i32.const 312 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.acos f32.const 3.1415927410125732 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 317 + i32.const 313 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.acos f32.const 0 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 318 + i32.const 314 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 319 + i32.const 315 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 320 + i32.const 316 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 321 + i32.const 317 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 322 + i32.const 318 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.acos f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 323 + i32.const 319 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.49965065717697144 - call $~lib/math/NativeMathf.acos f32.const 1.0476008653640747 f32.const -0.21161814033985138 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 324 + i32.const 320 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5051405429840088 - call $~lib/math/NativeMathf.acos f32.const 2.1003410816192627 f32.const -0.20852705836296082 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 325 + i32.const 321 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5189794898033142 - call $~lib/math/NativeMathf.acos f32.const 2.116452932357788 f32.const -0.14600826799869537 - call $std/math/check + call $std/math/test_acosf i32.eqz if i32.const 0 i32.const 1056 - i32.const 326 + i32.const 322 i32.const 1 call $~lib/builtins/abort unreachable @@ -14323,7 +13601,7 @@ if i32.const 0 i32.const 1056 - i32.const 338 + i32.const 334 i32.const 1 call $~lib/builtins/abort unreachable @@ -14336,7 +13614,7 @@ if i32.const 0 i32.const 1056 - i32.const 339 + i32.const 335 i32.const 1 call $~lib/builtins/abort unreachable @@ -14349,7 +13627,7 @@ if i32.const 0 i32.const 1056 - i32.const 340 + i32.const 336 i32.const 1 call $~lib/builtins/abort unreachable @@ -14362,7 +13640,7 @@ if i32.const 0 i32.const 1056 - i32.const 341 + i32.const 337 i32.const 1 call $~lib/builtins/abort unreachable @@ -14375,7 +13653,7 @@ if i32.const 0 i32.const 1056 - i32.const 342 + i32.const 338 i32.const 1 call $~lib/builtins/abort unreachable @@ -14388,7 +13666,7 @@ if i32.const 0 i32.const 1056 - i32.const 343 + i32.const 339 i32.const 1 call $~lib/builtins/abort unreachable @@ -14401,7 +13679,7 @@ if i32.const 0 i32.const 1056 - i32.const 344 + i32.const 340 i32.const 1 call $~lib/builtins/abort unreachable @@ -14414,7 +13692,7 @@ if i32.const 0 i32.const 1056 - i32.const 345 + i32.const 341 i32.const 1 call $~lib/builtins/abort unreachable @@ -14427,7 +13705,7 @@ if i32.const 0 i32.const 1056 - i32.const 346 + i32.const 342 i32.const 1 call $~lib/builtins/abort unreachable @@ -14440,7 +13718,7 @@ if i32.const 0 i32.const 1056 - i32.const 347 + i32.const 343 i32.const 1 call $~lib/builtins/abort unreachable @@ -14453,7 +13731,7 @@ if i32.const 0 i32.const 1056 - i32.const 350 + i32.const 346 i32.const 1 call $~lib/builtins/abort unreachable @@ -14466,7 +13744,7 @@ if i32.const 0 i32.const 1056 - i32.const 351 + i32.const 347 i32.const 1 call $~lib/builtins/abort unreachable @@ -14479,7 +13757,7 @@ if i32.const 0 i32.const 1056 - i32.const 352 + i32.const 348 i32.const 1 call $~lib/builtins/abort unreachable @@ -14492,7 +13770,7 @@ if i32.const 0 i32.const 1056 - i32.const 353 + i32.const 349 i32.const 1 call $~lib/builtins/abort unreachable @@ -14505,7 +13783,7 @@ if i32.const 0 i32.const 1056 - i32.const 354 + i32.const 350 i32.const 1 call $~lib/builtins/abort unreachable @@ -14518,7 +13796,7 @@ if i32.const 0 i32.const 1056 - i32.const 355 + i32.const 351 i32.const 1 call $~lib/builtins/abort unreachable @@ -14531,7 +13809,7 @@ if i32.const 0 i32.const 1056 - i32.const 356 + i32.const 352 i32.const 1 call $~lib/builtins/abort unreachable @@ -14544,7 +13822,7 @@ if i32.const 0 i32.const 1056 - i32.const 357 + i32.const 353 i32.const 1 call $~lib/builtins/abort unreachable @@ -14557,7 +13835,7 @@ if i32.const 0 i32.const 1056 - i32.const 373 + i32.const 369 i32.const 1 call $~lib/builtins/abort unreachable @@ -14570,7 +13848,7 @@ if i32.const 0 i32.const 1056 - i32.const 375 + i32.const 371 i32.const 1 call $~lib/builtins/abort unreachable @@ -14583,7 +13861,7 @@ if i32.const 0 i32.const 1056 - i32.const 376 + i32.const 372 i32.const 1 call $~lib/builtins/abort unreachable @@ -14596,7 +13874,7 @@ if i32.const 0 i32.const 1056 - i32.const 385 + i32.const 381 i32.const 1 call $~lib/builtins/abort unreachable @@ -14609,7 +13887,7 @@ if i32.const 0 i32.const 1056 - i32.const 386 + i32.const 382 i32.const 1 call $~lib/builtins/abort unreachable @@ -14622,7 +13900,7 @@ if i32.const 0 i32.const 1056 - i32.const 387 + i32.const 383 i32.const 1 call $~lib/builtins/abort unreachable @@ -14635,7 +13913,7 @@ if i32.const 0 i32.const 1056 - i32.const 388 + i32.const 384 i32.const 1 call $~lib/builtins/abort unreachable @@ -14648,7 +13926,7 @@ if i32.const 0 i32.const 1056 - i32.const 389 + i32.const 385 i32.const 1 call $~lib/builtins/abort unreachable @@ -14661,7 +13939,7 @@ if i32.const 0 i32.const 1056 - i32.const 390 + i32.const 386 i32.const 1 call $~lib/builtins/abort unreachable @@ -14674,7 +13952,7 @@ if i32.const 0 i32.const 1056 - i32.const 391 + i32.const 387 i32.const 1 call $~lib/builtins/abort unreachable @@ -14687,7 +13965,7 @@ if i32.const 0 i32.const 1056 - i32.const 392 + i32.const 388 i32.const 1 call $~lib/builtins/abort unreachable @@ -14700,7 +13978,7 @@ if i32.const 0 i32.const 1056 - i32.const 393 + i32.const 389 i32.const 1 call $~lib/builtins/abort unreachable @@ -14713,7 +13991,7 @@ if i32.const 0 i32.const 1056 - i32.const 394 + i32.const 390 i32.const 1 call $~lib/builtins/abort unreachable @@ -14726,7 +14004,7 @@ if i32.const 0 i32.const 1056 - i32.const 397 + i32.const 393 i32.const 1 call $~lib/builtins/abort unreachable @@ -14739,7 +14017,7 @@ if i32.const 0 i32.const 1056 - i32.const 398 + i32.const 394 i32.const 1 call $~lib/builtins/abort unreachable @@ -14752,7 +14030,7 @@ if i32.const 0 i32.const 1056 - i32.const 399 + i32.const 395 i32.const 1 call $~lib/builtins/abort unreachable @@ -14765,7 +14043,7 @@ if i32.const 0 i32.const 1056 - i32.const 400 + i32.const 396 i32.const 1 call $~lib/builtins/abort unreachable @@ -14778,7 +14056,7 @@ if i32.const 0 i32.const 1056 - i32.const 401 + i32.const 397 i32.const 1 call $~lib/builtins/abort unreachable @@ -14791,7 +14069,7 @@ if i32.const 0 i32.const 1056 - i32.const 402 + i32.const 398 i32.const 1 call $~lib/builtins/abort unreachable @@ -14804,7 +14082,7 @@ if i32.const 0 i32.const 1056 - i32.const 403 + i32.const 399 i32.const 1 call $~lib/builtins/abort unreachable @@ -14817,13 +14095,13 @@ if i32.const 0 i32.const 1056 - i32.const 404 + i32.const 400 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -14840,13 +14118,13 @@ if i32.const 0 i32.const 1056 - i32.const 416 + i32.const 412 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -14863,13 +14141,13 @@ if i32.const 0 i32.const 1056 - i32.const 417 + i32.const 413 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -14886,13 +14164,13 @@ if i32.const 0 i32.const 1056 - i32.const 418 + i32.const 414 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -14909,13 +14187,13 @@ if i32.const 0 i32.const 1056 - i32.const 419 + i32.const 415 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -14932,13 +14210,13 @@ if i32.const 0 i32.const 1056 - i32.const 420 + i32.const 416 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const 0.7234652439515459 f64.const -0.13599912822246552 call $std/math/check @@ -14955,13 +14233,13 @@ if i32.const 0 i32.const 1056 - i32.const 421 + i32.const 417 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const -0.41873374429377225 f64.const -0.09264230728149414 call $std/math/check @@ -14978,13 +14256,13 @@ if i32.const 0 i32.const 1056 - i32.const 422 + i32.const 418 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const 0.5965113622274062 f64.const -0.10864213854074478 call $std/math/check @@ -15001,13 +14279,13 @@ if i32.const 0 i32.const 1056 - i32.const 423 + i32.const 419 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const 0.8853748109312743 f64.const -0.4256366193294525 call $std/math/check @@ -15024,13 +14302,13 @@ if i32.const 0 i32.const 1056 - i32.const 424 + i32.const 420 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const -0.7460778114110673 f64.const 0.13986606895923615 call $std/math/check @@ -15047,13 +14325,13 @@ if i32.const 0 i32.const 1056 - i32.const 425 + i32.const 421 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const 1.5707963267948966 f64.const -0.27576595544815063 call $std/math/check @@ -15070,13 +14348,13 @@ if i32.const 0 i32.const 1056 - i32.const 428 + i32.const 424 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const -1.5707963267948966 f64.const 0.27576595544815063 call $std/math/check @@ -15093,13 +14371,13 @@ if i32.const 0 i32.const 1056 - i32.const 429 + i32.const 425 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const 0 f64.const 0 call $std/math/check @@ -15116,13 +14394,13 @@ if i32.const 0 i32.const 1056 - i32.const 430 + i32.const 426 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const -0 f64.const 0 call $std/math/check @@ -15139,13 +14417,13 @@ if i32.const 0 i32.const 1056 - i32.const 431 + i32.const 427 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.0000000000000002 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -15162,13 +14440,13 @@ if i32.const 0 i32.const 1056 - i32.const 432 + i32.const 428 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.0000000000000002 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -15185,13 +14463,13 @@ if i32.const 0 i32.const 1056 - i32.const 433 + i32.const 429 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -15208,13 +14486,13 @@ if i32.const 0 i32.const 1056 - i32.const 434 + i32.const 430 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -15231,13 +14509,13 @@ if i32.const 0 i32.const 1056 - i32.const 435 + i32.const 431 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -15254,13 +14532,13 @@ if i32.const 0 i32.const 1056 - i32.const 436 + i32.const 432 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5073043929119148 - call $~lib/math/NativeMath.asin + call $~lib/util/math/asin64 f64.const 0.5320538997772349 f64.const -0.16157317161560059 call $std/math/check @@ -15277,287 +14555,267 @@ if i32.const 0 i32.const 1056 - i32.const 437 + i32.const 433 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 446 + i32.const 442 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 447 + i32.const 443 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 448 + i32.const 444 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 449 + i32.const 445 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 450 + i32.const 446 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.asin f32.const 0.7234652042388916 f32.const -0.1307632476091385 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 451 + i32.const 447 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.asin f32.const -0.41873374581336975 f32.const 0.3161141574382782 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 452 + i32.const 448 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.asin f32.const 0.5965113639831543 f32.const -0.4510819613933563 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 453 + i32.const 449 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.asin f32.const 0.8853747844696045 f32.const 0.02493886835873127 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 454 + i32.const 450 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.asin f32.const -0.7460777759552002 f32.const 0.2515012323856354 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 455 + i32.const 451 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.asin f32.const 1.5707963705062866 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 458 + i32.const 454 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.asin f32.const -1.5707963705062866 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 459 + i32.const 455 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.asin f32.const 0 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 460 + i32.const 456 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.asin f32.const -0 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 461 + i32.const 457 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 462 + i32.const 458 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 463 + i32.const 459 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 464 + i32.const 460 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 465 + i32.const 461 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.asin f32.const nan:0x400000 f32.const 0 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 466 + i32.const 462 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5004770159721375 - call $~lib/math/NativeMathf.asin f32.const 0.5241496562957764 f32.const -0.29427099227905273 - call $std/math/check + call $std/math/test_asinf i32.eqz if i32.const 0 i32.const 1056 - i32.const 467 + i32.const 463 i32.const 1 call $~lib/builtins/abort unreachable @@ -15570,7 +14828,7 @@ if i32.const 0 i32.const 1056 - i32.const 479 + i32.const 475 i32.const 1 call $~lib/builtins/abort unreachable @@ -15583,7 +14841,7 @@ if i32.const 0 i32.const 1056 - i32.const 480 + i32.const 476 i32.const 1 call $~lib/builtins/abort unreachable @@ -15596,7 +14854,7 @@ if i32.const 0 i32.const 1056 - i32.const 481 + i32.const 477 i32.const 1 call $~lib/builtins/abort unreachable @@ -15609,7 +14867,7 @@ if i32.const 0 i32.const 1056 - i32.const 482 + i32.const 478 i32.const 1 call $~lib/builtins/abort unreachable @@ -15622,7 +14880,7 @@ if i32.const 0 i32.const 1056 - i32.const 483 + i32.const 479 i32.const 1 call $~lib/builtins/abort unreachable @@ -15635,7 +14893,7 @@ if i32.const 0 i32.const 1056 - i32.const 484 + i32.const 480 i32.const 1 call $~lib/builtins/abort unreachable @@ -15648,7 +14906,7 @@ if i32.const 0 i32.const 1056 - i32.const 485 + i32.const 481 i32.const 1 call $~lib/builtins/abort unreachable @@ -15661,7 +14919,7 @@ if i32.const 0 i32.const 1056 - i32.const 486 + i32.const 482 i32.const 1 call $~lib/builtins/abort unreachable @@ -15674,7 +14932,7 @@ if i32.const 0 i32.const 1056 - i32.const 487 + i32.const 483 i32.const 1 call $~lib/builtins/abort unreachable @@ -15687,7 +14945,7 @@ if i32.const 0 i32.const 1056 - i32.const 488 + i32.const 484 i32.const 1 call $~lib/builtins/abort unreachable @@ -15700,7 +14958,7 @@ if i32.const 0 i32.const 1056 - i32.const 491 + i32.const 487 i32.const 1 call $~lib/builtins/abort unreachable @@ -15713,7 +14971,7 @@ if i32.const 0 i32.const 1056 - i32.const 492 + i32.const 488 i32.const 1 call $~lib/builtins/abort unreachable @@ -15726,7 +14984,7 @@ if i32.const 0 i32.const 1056 - i32.const 493 + i32.const 489 i32.const 1 call $~lib/builtins/abort unreachable @@ -15739,7 +14997,7 @@ if i32.const 0 i32.const 1056 - i32.const 494 + i32.const 490 i32.const 1 call $~lib/builtins/abort unreachable @@ -15752,7 +15010,7 @@ if i32.const 0 i32.const 1056 - i32.const 495 + i32.const 491 i32.const 1 call $~lib/builtins/abort unreachable @@ -15765,7 +15023,7 @@ if i32.const 0 i32.const 1056 - i32.const 524 + i32.const 520 i32.const 1 call $~lib/builtins/abort unreachable @@ -15778,7 +15036,7 @@ if i32.const 0 i32.const 1056 - i32.const 525 + i32.const 521 i32.const 1 call $~lib/builtins/abort unreachable @@ -15791,7 +15049,7 @@ if i32.const 0 i32.const 1056 - i32.const 526 + i32.const 522 i32.const 1 call $~lib/builtins/abort unreachable @@ -15804,7 +15062,7 @@ if i32.const 0 i32.const 1056 - i32.const 527 + i32.const 523 i32.const 1 call $~lib/builtins/abort unreachable @@ -15817,7 +15075,7 @@ if i32.const 0 i32.const 1056 - i32.const 528 + i32.const 524 i32.const 1 call $~lib/builtins/abort unreachable @@ -15830,7 +15088,7 @@ if i32.const 0 i32.const 1056 - i32.const 529 + i32.const 525 i32.const 1 call $~lib/builtins/abort unreachable @@ -15843,7 +15101,7 @@ if i32.const 0 i32.const 1056 - i32.const 530 + i32.const 526 i32.const 1 call $~lib/builtins/abort unreachable @@ -15856,7 +15114,7 @@ if i32.const 0 i32.const 1056 - i32.const 531 + i32.const 527 i32.const 1 call $~lib/builtins/abort unreachable @@ -15869,7 +15127,7 @@ if i32.const 0 i32.const 1056 - i32.const 532 + i32.const 528 i32.const 1 call $~lib/builtins/abort unreachable @@ -15882,7 +15140,7 @@ if i32.const 0 i32.const 1056 - i32.const 533 + i32.const 529 i32.const 1 call $~lib/builtins/abort unreachable @@ -15895,7 +15153,7 @@ if i32.const 0 i32.const 1056 - i32.const 536 + i32.const 532 i32.const 1 call $~lib/builtins/abort unreachable @@ -15908,7 +15166,7 @@ if i32.const 0 i32.const 1056 - i32.const 537 + i32.const 533 i32.const 1 call $~lib/builtins/abort unreachable @@ -15921,7 +15179,7 @@ if i32.const 0 i32.const 1056 - i32.const 538 + i32.const 534 i32.const 1 call $~lib/builtins/abort unreachable @@ -15934,7 +15192,7 @@ if i32.const 0 i32.const 1056 - i32.const 539 + i32.const 535 i32.const 1 call $~lib/builtins/abort unreachable @@ -15947,13 +15205,13 @@ if i32.const 0 i32.const 1056 - i32.const 540 + i32.const 536 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -1.4474613762633468 f64.const 0.14857111871242523 call $std/math/check @@ -15970,13 +15228,13 @@ if i32.const 0 i32.const 1056 - i32.const 552 + i32.const 548 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 1.344597927114538 f64.const -0.08170335739850998 call $std/math/check @@ -15993,13 +15251,13 @@ if i32.const 0 i32.const 1056 - i32.const 553 + i32.const 549 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -1.4520463463295539 f64.const -0.07505480200052261 call $std/math/check @@ -16016,13 +15274,13 @@ if i32.const 0 i32.const 1056 - i32.const 554 + i32.const 550 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -1.4188758658752532 f64.const -0.057633496820926666 call $std/math/check @@ -16039,13 +15297,13 @@ if i32.const 0 i32.const 1056 - i32.const 555 + i32.const 551 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 1.463303145448706 f64.const 0.1606956422328949 call $std/math/check @@ -16062,13 +15320,13 @@ if i32.const 0 i32.const 1056 - i32.const 556 + i32.const 552 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 0.5847550670238325 f64.const 0.4582556486129761 call $std/math/check @@ -16085,13 +15343,13 @@ if i32.const 0 i32.const 1056 - i32.const 557 + i32.const 553 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -0.3861864177552131 f64.const -0.2574281692504883 call $std/math/check @@ -16108,13 +15366,13 @@ if i32.const 0 i32.const 1056 - i32.const 558 + i32.const 554 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 0.5118269531628881 f64.const -0.11444277316331863 call $std/math/check @@ -16131,13 +15389,13 @@ if i32.const 0 i32.const 1056 - i32.const 559 + i32.const 555 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 0.6587802431653822 f64.const -0.11286488175392151 call $std/math/check @@ -16154,13 +15412,13 @@ if i32.const 0 i32.const 1056 - i32.const 560 + i32.const 556 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -0.5963307826973472 f64.const -0.2182842344045639 call $std/math/check @@ -16177,13 +15435,13 @@ if i32.const 0 i32.const 1056 - i32.const 561 + i32.const 557 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 0 f64.const 0 call $std/math/check @@ -16200,13 +15458,13 @@ if i32.const 0 i32.const 1056 - i32.const 564 + i32.const 560 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -0 f64.const 0 call $std/math/check @@ -16223,13 +15481,13 @@ if i32.const 0 i32.const 1056 - i32.const 565 + i32.const 561 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 0.7853981633974483 f64.const -0.27576595544815063 call $std/math/check @@ -16246,13 +15504,13 @@ if i32.const 0 i32.const 1056 - i32.const 566 + i32.const 562 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -0.7853981633974483 f64.const 0.27576595544815063 call $std/math/check @@ -16269,13 +15527,13 @@ if i32.const 0 i32.const 1056 - i32.const 567 + i32.const 563 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 1.5707963267948966 f64.const -0.27576595544815063 call $std/math/check @@ -16292,13 +15550,13 @@ if i32.const 0 i32.const 1056 - i32.const 568 + i32.const 564 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const -1.5707963267948966 f64.const 0.27576595544815063 call $std/math/check @@ -16315,13 +15573,13 @@ if i32.const 0 i32.const 1056 - i32.const 569 + i32.const 565 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -16338,13 +15596,13 @@ if i32.const 0 i32.const 1056 - i32.const 570 + i32.const 566 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6929821535674624 - call $~lib/math/NativeMath.atan + call $~lib/util/math/atan64 f64.const 0.6060004555152562 f64.const -0.17075790464878082 call $std/math/check @@ -16361,13 +15619,13 @@ if i32.const 0 i32.const 1056 - i32.const 571 + i32.const 567 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -1.4474613666534424 f32.const 0.12686480581760406 call $std/math/check @@ -16375,13 +15633,13 @@ if i32.const 0 i32.const 1056 - i32.const 580 + i32.const 576 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 1.3445979356765747 f32.const 0.16045434772968292 call $std/math/check @@ -16389,13 +15647,13 @@ if i32.const 0 i32.const 1056 - i32.const 581 + i32.const 577 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -1.4520463943481445 f32.const -0.39581751823425293 call $std/math/check @@ -16403,13 +15661,13 @@ if i32.const 0 i32.const 1056 - i32.const 582 + i32.const 578 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -1.418875813484192 f32.const 0.410570353269577 call $std/math/check @@ -16417,13 +15675,13 @@ if i32.const 0 i32.const 1056 - i32.const 583 + i32.const 579 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 1.4633032083511353 f32.const 0.48403501510620117 call $std/math/check @@ -16431,13 +15689,13 @@ if i32.const 0 i32.const 1056 - i32.const 584 + i32.const 580 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 0.5847550630569458 f32.const 0.2125193476676941 call $std/math/check @@ -16445,13 +15703,13 @@ if i32.const 0 i32.const 1056 - i32.const 585 + i32.const 581 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -0.386186420917511 f32.const 0.18169628083705902 call $std/math/check @@ -16459,13 +15717,13 @@ if i32.const 0 i32.const 1056 - i32.const 586 + i32.const 582 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 0.5118269920349121 f32.const 0.3499770760536194 call $std/math/check @@ -16473,13 +15731,13 @@ if i32.const 0 i32.const 1056 - i32.const 587 + i32.const 583 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 0.6587802171707153 f32.const -0.2505330741405487 call $std/math/check @@ -16487,13 +15745,13 @@ if i32.const 0 i32.const 1056 - i32.const 588 + i32.const 584 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -0.5963307619094849 f32.const 0.17614826560020447 call $std/math/check @@ -16501,13 +15759,13 @@ if i32.const 0 i32.const 1056 - i32.const 589 + i32.const 585 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 0 f32.const 0 call $std/math/check @@ -16515,13 +15773,13 @@ if i32.const 0 i32.const 1056 - i32.const 592 + i32.const 588 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -0 f32.const 0 call $std/math/check @@ -16529,13 +15787,13 @@ if i32.const 0 i32.const 1056 - i32.const 593 + i32.const 589 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 0.7853981852531433 f32.const 0.3666777014732361 call $std/math/check @@ -16543,13 +15801,13 @@ if i32.const 0 i32.const 1056 - i32.const 594 + i32.const 590 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -0.7853981852531433 f32.const -0.3666777014732361 call $std/math/check @@ -16557,13 +15815,13 @@ if i32.const 0 i32.const 1056 - i32.const 595 + i32.const 591 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const 1.5707963705062866 f32.const 0.3666777014732361 call $std/math/check @@ -16571,13 +15829,13 @@ if i32.const 0 i32.const 1056 - i32.const 596 + i32.const 592 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const -1.5707963705062866 f32.const -0.3666777014732361 call $std/math/check @@ -16585,13 +15843,13 @@ if i32.const 0 i32.const 1056 - i32.const 597 + i32.const 593 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.atan + call $~lib/util/math/atan32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -16599,7 +15857,7 @@ if i32.const 0 i32.const 1056 - i32.const 598 + i32.const 594 i32.const 1 call $~lib/builtins/abort unreachable @@ -16612,7 +15870,7 @@ if i32.const 0 i32.const 1056 - i32.const 610 + i32.const 606 i32.const 1 call $~lib/builtins/abort unreachable @@ -16625,7 +15883,7 @@ if i32.const 0 i32.const 1056 - i32.const 611 + i32.const 607 i32.const 1 call $~lib/builtins/abort unreachable @@ -16638,7 +15896,7 @@ if i32.const 0 i32.const 1056 - i32.const 612 + i32.const 608 i32.const 1 call $~lib/builtins/abort unreachable @@ -16651,7 +15909,7 @@ if i32.const 0 i32.const 1056 - i32.const 613 + i32.const 609 i32.const 1 call $~lib/builtins/abort unreachable @@ -16664,7 +15922,7 @@ if i32.const 0 i32.const 1056 - i32.const 614 + i32.const 610 i32.const 1 call $~lib/builtins/abort unreachable @@ -16677,7 +15935,7 @@ if i32.const 0 i32.const 1056 - i32.const 615 + i32.const 611 i32.const 1 call $~lib/builtins/abort unreachable @@ -16690,7 +15948,7 @@ if i32.const 0 i32.const 1056 - i32.const 616 + i32.const 612 i32.const 1 call $~lib/builtins/abort unreachable @@ -16703,7 +15961,7 @@ if i32.const 0 i32.const 1056 - i32.const 617 + i32.const 613 i32.const 1 call $~lib/builtins/abort unreachable @@ -16716,7 +15974,7 @@ if i32.const 0 i32.const 1056 - i32.const 618 + i32.const 614 i32.const 1 call $~lib/builtins/abort unreachable @@ -16729,7 +15987,7 @@ if i32.const 0 i32.const 1056 - i32.const 619 + i32.const 615 i32.const 1 call $~lib/builtins/abort unreachable @@ -16742,7 +16000,7 @@ if i32.const 0 i32.const 1056 - i32.const 622 + i32.const 618 i32.const 1 call $~lib/builtins/abort unreachable @@ -16755,7 +16013,7 @@ if i32.const 0 i32.const 1056 - i32.const 623 + i32.const 619 i32.const 1 call $~lib/builtins/abort unreachable @@ -16768,7 +16026,7 @@ if i32.const 0 i32.const 1056 - i32.const 624 + i32.const 620 i32.const 1 call $~lib/builtins/abort unreachable @@ -16781,7 +16039,7 @@ if i32.const 0 i32.const 1056 - i32.const 625 + i32.const 621 i32.const 1 call $~lib/builtins/abort unreachable @@ -16794,7 +16052,7 @@ if i32.const 0 i32.const 1056 - i32.const 626 + i32.const 622 i32.const 1 call $~lib/builtins/abort unreachable @@ -16807,7 +16065,7 @@ if i32.const 0 i32.const 1056 - i32.const 627 + i32.const 623 i32.const 1 call $~lib/builtins/abort unreachable @@ -16820,7 +16078,7 @@ if i32.const 0 i32.const 1056 - i32.const 628 + i32.const 624 i32.const 1 call $~lib/builtins/abort unreachable @@ -16833,7 +16091,7 @@ if i32.const 0 i32.const 1056 - i32.const 629 + i32.const 625 i32.const 1 call $~lib/builtins/abort unreachable @@ -16846,7 +16104,7 @@ if i32.const 0 i32.const 1056 - i32.const 630 + i32.const 626 i32.const 1 call $~lib/builtins/abort unreachable @@ -16859,7 +16117,7 @@ if i32.const 0 i32.const 1056 - i32.const 631 + i32.const 627 i32.const 1 call $~lib/builtins/abort unreachable @@ -16872,7 +16130,7 @@ if i32.const 0 i32.const 1056 - i32.const 632 + i32.const 628 i32.const 1 call $~lib/builtins/abort unreachable @@ -16885,7 +16143,7 @@ if i32.const 0 i32.const 1056 - i32.const 633 + i32.const 629 i32.const 1 call $~lib/builtins/abort unreachable @@ -16898,7 +16156,7 @@ if i32.const 0 i32.const 1056 - i32.const 634 + i32.const 630 i32.const 1 call $~lib/builtins/abort unreachable @@ -16911,7 +16169,7 @@ if i32.const 0 i32.const 1056 - i32.const 635 + i32.const 631 i32.const 1 call $~lib/builtins/abort unreachable @@ -16924,7 +16182,7 @@ if i32.const 0 i32.const 1056 - i32.const 644 + i32.const 640 i32.const 1 call $~lib/builtins/abort unreachable @@ -16937,7 +16195,7 @@ if i32.const 0 i32.const 1056 - i32.const 645 + i32.const 641 i32.const 1 call $~lib/builtins/abort unreachable @@ -16950,7 +16208,7 @@ if i32.const 0 i32.const 1056 - i32.const 646 + i32.const 642 i32.const 1 call $~lib/builtins/abort unreachable @@ -16963,7 +16221,7 @@ if i32.const 0 i32.const 1056 - i32.const 647 + i32.const 643 i32.const 1 call $~lib/builtins/abort unreachable @@ -16976,7 +16234,7 @@ if i32.const 0 i32.const 1056 - i32.const 648 + i32.const 644 i32.const 1 call $~lib/builtins/abort unreachable @@ -16989,7 +16247,7 @@ if i32.const 0 i32.const 1056 - i32.const 649 + i32.const 645 i32.const 1 call $~lib/builtins/abort unreachable @@ -17002,7 +16260,7 @@ if i32.const 0 i32.const 1056 - i32.const 650 + i32.const 646 i32.const 1 call $~lib/builtins/abort unreachable @@ -17015,7 +16273,7 @@ if i32.const 0 i32.const 1056 - i32.const 651 + i32.const 647 i32.const 1 call $~lib/builtins/abort unreachable @@ -17028,7 +16286,7 @@ if i32.const 0 i32.const 1056 - i32.const 652 + i32.const 648 i32.const 1 call $~lib/builtins/abort unreachable @@ -17041,7 +16299,7 @@ if i32.const 0 i32.const 1056 - i32.const 653 + i32.const 649 i32.const 1 call $~lib/builtins/abort unreachable @@ -17054,7 +16312,7 @@ if i32.const 0 i32.const 1056 - i32.const 656 + i32.const 652 i32.const 1 call $~lib/builtins/abort unreachable @@ -17067,7 +16325,7 @@ if i32.const 0 i32.const 1056 - i32.const 657 + i32.const 653 i32.const 1 call $~lib/builtins/abort unreachable @@ -17080,7 +16338,7 @@ if i32.const 0 i32.const 1056 - i32.const 658 + i32.const 654 i32.const 1 call $~lib/builtins/abort unreachable @@ -17093,7 +16351,7 @@ if i32.const 0 i32.const 1056 - i32.const 659 + i32.const 655 i32.const 1 call $~lib/builtins/abort unreachable @@ -17106,7 +16364,7 @@ if i32.const 0 i32.const 1056 - i32.const 660 + i32.const 656 i32.const 1 call $~lib/builtins/abort unreachable @@ -17119,7 +16377,7 @@ if i32.const 0 i32.const 1056 - i32.const 661 + i32.const 657 i32.const 1 call $~lib/builtins/abort unreachable @@ -17132,7 +16390,7 @@ if i32.const 0 i32.const 1056 - i32.const 662 + i32.const 658 i32.const 1 call $~lib/builtins/abort unreachable @@ -17145,7 +16403,7 @@ if i32.const 0 i32.const 1056 - i32.const 663 + i32.const 659 i32.const 1 call $~lib/builtins/abort unreachable @@ -17158,7 +16416,7 @@ if i32.const 0 i32.const 1056 - i32.const 664 + i32.const 660 i32.const 1 call $~lib/builtins/abort unreachable @@ -17171,7 +16429,7 @@ if i32.const 0 i32.const 1056 - i32.const 665 + i32.const 661 i32.const 1 call $~lib/builtins/abort unreachable @@ -17184,7 +16442,7 @@ if i32.const 0 i32.const 1056 - i32.const 666 + i32.const 662 i32.const 1 call $~lib/builtins/abort unreachable @@ -17197,7 +16455,7 @@ if i32.const 0 i32.const 1056 - i32.const 667 + i32.const 663 i32.const 1 call $~lib/builtins/abort unreachable @@ -17210,7 +16468,7 @@ if i32.const 0 i32.const 1056 - i32.const 668 + i32.const 664 i32.const 1 call $~lib/builtins/abort unreachable @@ -17223,7 +16481,7 @@ if i32.const 0 i32.const 1056 - i32.const 669 + i32.const 665 i32.const 1 call $~lib/builtins/abort unreachable @@ -17237,7 +16495,7 @@ if i32.const 0 i32.const 1056 - i32.const 681 + i32.const 677 i32.const 1 call $~lib/builtins/abort unreachable @@ -17251,7 +16509,7 @@ if i32.const 0 i32.const 1056 - i32.const 682 + i32.const 678 i32.const 1 call $~lib/builtins/abort unreachable @@ -17265,7 +16523,7 @@ if i32.const 0 i32.const 1056 - i32.const 683 + i32.const 679 i32.const 1 call $~lib/builtins/abort unreachable @@ -17279,7 +16537,7 @@ if i32.const 0 i32.const 1056 - i32.const 684 + i32.const 680 i32.const 1 call $~lib/builtins/abort unreachable @@ -17293,7 +16551,7 @@ if i32.const 0 i32.const 1056 - i32.const 685 + i32.const 681 i32.const 1 call $~lib/builtins/abort unreachable @@ -17307,7 +16565,7 @@ if i32.const 0 i32.const 1056 - i32.const 686 + i32.const 682 i32.const 1 call $~lib/builtins/abort unreachable @@ -17321,7 +16579,7 @@ if i32.const 0 i32.const 1056 - i32.const 687 + i32.const 683 i32.const 1 call $~lib/builtins/abort unreachable @@ -17335,7 +16593,7 @@ if i32.const 0 i32.const 1056 - i32.const 688 + i32.const 684 i32.const 1 call $~lib/builtins/abort unreachable @@ -17349,7 +16607,7 @@ if i32.const 0 i32.const 1056 - i32.const 689 + i32.const 685 i32.const 1 call $~lib/builtins/abort unreachable @@ -17363,7 +16621,7 @@ if i32.const 0 i32.const 1056 - i32.const 690 + i32.const 686 i32.const 1 call $~lib/builtins/abort unreachable @@ -17377,7 +16635,7 @@ if i32.const 0 i32.const 1056 - i32.const 693 + i32.const 689 i32.const 1 call $~lib/builtins/abort unreachable @@ -17391,7 +16649,7 @@ if i32.const 0 i32.const 1056 - i32.const 694 + i32.const 690 i32.const 1 call $~lib/builtins/abort unreachable @@ -17405,7 +16663,7 @@ if i32.const 0 i32.const 1056 - i32.const 695 + i32.const 691 i32.const 1 call $~lib/builtins/abort unreachable @@ -17419,7 +16677,7 @@ if i32.const 0 i32.const 1056 - i32.const 696 + i32.const 692 i32.const 1 call $~lib/builtins/abort unreachable @@ -17433,7 +16691,7 @@ if i32.const 0 i32.const 1056 - i32.const 697 + i32.const 693 i32.const 1 call $~lib/builtins/abort unreachable @@ -17447,7 +16705,7 @@ if i32.const 0 i32.const 1056 - i32.const 698 + i32.const 694 i32.const 1 call $~lib/builtins/abort unreachable @@ -17461,7 +16719,7 @@ if i32.const 0 i32.const 1056 - i32.const 699 + i32.const 695 i32.const 1 call $~lib/builtins/abort unreachable @@ -17475,7 +16733,7 @@ if i32.const 0 i32.const 1056 - i32.const 700 + i32.const 696 i32.const 1 call $~lib/builtins/abort unreachable @@ -17489,7 +16747,7 @@ if i32.const 0 i32.const 1056 - i32.const 701 + i32.const 697 i32.const 1 call $~lib/builtins/abort unreachable @@ -17503,7 +16761,7 @@ if i32.const 0 i32.const 1056 - i32.const 702 + i32.const 698 i32.const 1 call $~lib/builtins/abort unreachable @@ -17517,7 +16775,7 @@ if i32.const 0 i32.const 1056 - i32.const 703 + i32.const 699 i32.const 1 call $~lib/builtins/abort unreachable @@ -17531,7 +16789,7 @@ if i32.const 0 i32.const 1056 - i32.const 704 + i32.const 700 i32.const 1 call $~lib/builtins/abort unreachable @@ -17545,7 +16803,7 @@ if i32.const 0 i32.const 1056 - i32.const 705 + i32.const 701 i32.const 1 call $~lib/builtins/abort unreachable @@ -17559,7 +16817,7 @@ if i32.const 0 i32.const 1056 - i32.const 706 + i32.const 702 i32.const 1 call $~lib/builtins/abort unreachable @@ -17573,7 +16831,7 @@ if i32.const 0 i32.const 1056 - i32.const 707 + i32.const 703 i32.const 1 call $~lib/builtins/abort unreachable @@ -17587,7 +16845,7 @@ if i32.const 0 i32.const 1056 - i32.const 708 + i32.const 704 i32.const 1 call $~lib/builtins/abort unreachable @@ -17601,7 +16859,7 @@ if i32.const 0 i32.const 1056 - i32.const 709 + i32.const 705 i32.const 1 call $~lib/builtins/abort unreachable @@ -17615,7 +16873,7 @@ if i32.const 0 i32.const 1056 - i32.const 710 + i32.const 706 i32.const 1 call $~lib/builtins/abort unreachable @@ -17629,7 +16887,7 @@ if i32.const 0 i32.const 1056 - i32.const 711 + i32.const 707 i32.const 1 call $~lib/builtins/abort unreachable @@ -17643,7 +16901,7 @@ if i32.const 0 i32.const 1056 - i32.const 712 + i32.const 708 i32.const 1 call $~lib/builtins/abort unreachable @@ -17657,7 +16915,7 @@ if i32.const 0 i32.const 1056 - i32.const 713 + i32.const 709 i32.const 1 call $~lib/builtins/abort unreachable @@ -17671,7 +16929,7 @@ if i32.const 0 i32.const 1056 - i32.const 714 + i32.const 710 i32.const 1 call $~lib/builtins/abort unreachable @@ -17685,7 +16943,7 @@ if i32.const 0 i32.const 1056 - i32.const 715 + i32.const 711 i32.const 1 call $~lib/builtins/abort unreachable @@ -17699,7 +16957,7 @@ if i32.const 0 i32.const 1056 - i32.const 716 + i32.const 712 i32.const 1 call $~lib/builtins/abort unreachable @@ -17713,7 +16971,7 @@ if i32.const 0 i32.const 1056 - i32.const 717 + i32.const 713 i32.const 1 call $~lib/builtins/abort unreachable @@ -17727,7 +16985,7 @@ if i32.const 0 i32.const 1056 - i32.const 718 + i32.const 714 i32.const 1 call $~lib/builtins/abort unreachable @@ -17741,7 +16999,7 @@ if i32.const 0 i32.const 1056 - i32.const 719 + i32.const 715 i32.const 1 call $~lib/builtins/abort unreachable @@ -17755,7 +17013,7 @@ if i32.const 0 i32.const 1056 - i32.const 720 + i32.const 716 i32.const 1 call $~lib/builtins/abort unreachable @@ -17769,7 +17027,7 @@ if i32.const 0 i32.const 1056 - i32.const 721 + i32.const 717 i32.const 1 call $~lib/builtins/abort unreachable @@ -17783,577 +17041,539 @@ if i32.const 0 i32.const 1056 - i32.const 722 + i32.const 718 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 f32.const 4.535662651062012 - call $~lib/math/NativeMathf.atan2 f32.const -1.0585895776748657 f32.const -0.22352588176727295 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 731 + i32.const 727 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 f32.const -8.887990951538086 - call $~lib/math/NativeMathf.atan2 f32.const 2.686873435974121 f32.const 0.09464472532272339 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 732 + i32.const 728 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 f32.const -2.7636072635650635 - call $~lib/math/NativeMathf.atan2 f32.const -1.8893001079559326 f32.const -0.21941901743412018 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 733 + i32.const 729 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 f32.const 4.567535400390625 - call $~lib/math/NativeMathf.atan2 f32.const -0.9605468511581421 f32.const 0.46015575528144836 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 734 + i32.const 730 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 f32.const 4.811392307281494 - call $~lib/math/NativeMathf.atan2 f32.const 1.0919123888015747 f32.const -0.05708503723144531 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 735 + i32.const 731 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 f32.const 0.6620717644691467 - call $~lib/math/NativeMathf.atan2 f32.const -1.4685084819793701 f32.const 0.19611206650733948 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 736 + i32.const 732 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 f32.const 0.052154526114463806 - call $~lib/math/NativeMathf.atan2 f32.const 1.5641601085662842 f32.const 0.48143187165260315 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 737 + i32.const 733 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 f32.const 7.676402568817139 - call $~lib/math/NativeMathf.atan2 f32.const -0.10281659662723541 f32.const -0.4216274917125702 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 738 + i32.const 734 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 f32.const 2.0119025707244873 - call $~lib/math/NativeMathf.atan2 f32.const 0.29697975516319275 f32.const 0.2322007566690445 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 739 + i32.const 735 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 f32.const 0.03223983198404312 - call $~lib/math/NativeMathf.atan2 f32.const -1.5131611824035645 f32.const 0.16620726883411407 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 740 + i32.const 736 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 0 - call $~lib/math/NativeMathf.atan2 f32.const 0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 743 + i32.const 739 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -0 - call $~lib/math/NativeMathf.atan2 f32.const 3.1415927410125732 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 744 + i32.const 740 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -1 - call $~lib/math/NativeMathf.atan2 f32.const 3.1415927410125732 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 745 + i32.const 741 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -inf - call $~lib/math/NativeMathf.atan2 f32.const 3.1415927410125732 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 746 + i32.const 742 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 1 - call $~lib/math/NativeMathf.atan2 f32.const 0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 747 + i32.const 743 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const inf - call $~lib/math/NativeMathf.atan2 f32.const 0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 748 + i32.const 744 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 0 - call $~lib/math/NativeMathf.atan2 f32.const -0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 749 + i32.const 745 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -0 - call $~lib/math/NativeMathf.atan2 f32.const -3.1415927410125732 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 750 + i32.const 746 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -1 - call $~lib/math/NativeMathf.atan2 f32.const -3.1415927410125732 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 751 + i32.const 747 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -inf - call $~lib/math/NativeMathf.atan2 f32.const -3.1415927410125732 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 752 + i32.const 748 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 1 - call $~lib/math/NativeMathf.atan2 f32.const -0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 753 + i32.const 749 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const inf - call $~lib/math/NativeMathf.atan2 f32.const -0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 754 + i32.const 750 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 0 - call $~lib/math/NativeMathf.atan2 f32.const -1.5707963705062866 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 755 + i32.const 751 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -0 - call $~lib/math/NativeMathf.atan2 f32.const -1.5707963705062866 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 756 + i32.const 752 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 0 - call $~lib/math/NativeMathf.atan2 f32.const 1.5707963705062866 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 757 + i32.const 753 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -0 - call $~lib/math/NativeMathf.atan2 f32.const 1.5707963705062866 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 758 + i32.const 754 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const inf - call $~lib/math/NativeMathf.atan2 f32.const -0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 759 + i32.const 755 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const inf - call $~lib/math/NativeMathf.atan2 f32.const 0 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 760 + i32.const 756 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -inf - call $~lib/math/NativeMathf.atan2 f32.const -3.1415927410125732 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 761 + i32.const 757 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -inf - call $~lib/math/NativeMathf.atan2 f32.const 3.1415927410125732 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 762 + i32.const 758 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 0 - call $~lib/math/NativeMathf.atan2 f32.const 1.5707963705062866 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 763 + i32.const 759 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 0 - call $~lib/math/NativeMathf.atan2 f32.const -1.5707963705062866 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 764 + i32.const 760 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const inf - call $~lib/math/NativeMathf.atan2 f32.const 0.7853981852531433 f32.const 0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 765 + i32.const 761 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -inf - call $~lib/math/NativeMathf.atan2 f32.const 2.356194496154785 f32.const 0.02500828728079796 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 766 + i32.const 762 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const inf - call $~lib/math/NativeMathf.atan2 f32.const -0.7853981852531433 f32.const -0.3666777014732361 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 767 + i32.const 763 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -inf - call $~lib/math/NativeMathf.atan2 f32.const -2.356194496154785 f32.const -0.02500828728079796 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 768 + i32.const 764 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 f32.const 1 - call $~lib/math/NativeMathf.atan2 f32.const 5.877471754111438e-39 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 769 + i32.const 765 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 1701411834604692317316873e14 - call $~lib/math/NativeMathf.atan2 f32.const 5.877471754111438e-39 f32.const 0 - call $std/math/check + call $std/math/test_atan2f i32.eqz if i32.const 0 i32.const 1056 - i32.const 770 + i32.const 766 i32.const 1 call $~lib/builtins/abort unreachable @@ -18366,7 +17586,7 @@ if i32.const 0 i32.const 1056 - i32.const 782 + i32.const 778 i32.const 1 call $~lib/builtins/abort unreachable @@ -18379,7 +17599,7 @@ if i32.const 0 i32.const 1056 - i32.const 783 + i32.const 779 i32.const 1 call $~lib/builtins/abort unreachable @@ -18392,7 +17612,7 @@ if i32.const 0 i32.const 1056 - i32.const 784 + i32.const 780 i32.const 1 call $~lib/builtins/abort unreachable @@ -18405,7 +17625,7 @@ if i32.const 0 i32.const 1056 - i32.const 785 + i32.const 781 i32.const 1 call $~lib/builtins/abort unreachable @@ -18418,7 +17638,7 @@ if i32.const 0 i32.const 1056 - i32.const 786 + i32.const 782 i32.const 1 call $~lib/builtins/abort unreachable @@ -18431,7 +17651,7 @@ if i32.const 0 i32.const 1056 - i32.const 787 + i32.const 783 i32.const 1 call $~lib/builtins/abort unreachable @@ -18444,7 +17664,7 @@ if i32.const 0 i32.const 1056 - i32.const 788 + i32.const 784 i32.const 1 call $~lib/builtins/abort unreachable @@ -18457,7 +17677,7 @@ if i32.const 0 i32.const 1056 - i32.const 789 + i32.const 785 i32.const 1 call $~lib/builtins/abort unreachable @@ -18470,7 +17690,7 @@ if i32.const 0 i32.const 1056 - i32.const 790 + i32.const 786 i32.const 1 call $~lib/builtins/abort unreachable @@ -18483,7 +17703,7 @@ if i32.const 0 i32.const 1056 - i32.const 791 + i32.const 787 i32.const 1 call $~lib/builtins/abort unreachable @@ -18496,7 +17716,7 @@ if i32.const 0 i32.const 1056 - i32.const 794 + i32.const 790 i32.const 1 call $~lib/builtins/abort unreachable @@ -18509,7 +17729,7 @@ if i32.const 0 i32.const 1056 - i32.const 795 + i32.const 791 i32.const 1 call $~lib/builtins/abort unreachable @@ -18522,7 +17742,7 @@ if i32.const 0 i32.const 1056 - i32.const 796 + i32.const 792 i32.const 1 call $~lib/builtins/abort unreachable @@ -18535,7 +17755,7 @@ if i32.const 0 i32.const 1056 - i32.const 797 + i32.const 793 i32.const 1 call $~lib/builtins/abort unreachable @@ -18548,7 +17768,7 @@ if i32.const 0 i32.const 1056 - i32.const 798 + i32.const 794 i32.const 1 call $~lib/builtins/abort unreachable @@ -18561,7 +17781,7 @@ if i32.const 0 i32.const 1056 - i32.const 799 + i32.const 795 i32.const 1 call $~lib/builtins/abort unreachable @@ -18574,7 +17794,7 @@ if i32.const 0 i32.const 1056 - i32.const 800 + i32.const 796 i32.const 1 call $~lib/builtins/abort unreachable @@ -18587,7 +17807,7 @@ if i32.const 0 i32.const 1056 - i32.const 801 + i32.const 797 i32.const 1 call $~lib/builtins/abort unreachable @@ -18600,7 +17820,7 @@ if i32.const 0 i32.const 1056 - i32.const 802 + i32.const 798 i32.const 1 call $~lib/builtins/abort unreachable @@ -18613,7 +17833,7 @@ if i32.const 0 i32.const 1056 - i32.const 803 + i32.const 799 i32.const 1 call $~lib/builtins/abort unreachable @@ -18626,7 +17846,7 @@ if i32.const 0 i32.const 1056 - i32.const 812 + i32.const 808 i32.const 1 call $~lib/builtins/abort unreachable @@ -18639,7 +17859,7 @@ if i32.const 0 i32.const 1056 - i32.const 813 + i32.const 809 i32.const 1 call $~lib/builtins/abort unreachable @@ -18652,7 +17872,7 @@ if i32.const 0 i32.const 1056 - i32.const 814 + i32.const 810 i32.const 1 call $~lib/builtins/abort unreachable @@ -18665,7 +17885,7 @@ if i32.const 0 i32.const 1056 - i32.const 815 + i32.const 811 i32.const 1 call $~lib/builtins/abort unreachable @@ -18678,7 +17898,7 @@ if i32.const 0 i32.const 1056 - i32.const 816 + i32.const 812 i32.const 1 call $~lib/builtins/abort unreachable @@ -18691,7 +17911,7 @@ if i32.const 0 i32.const 1056 - i32.const 817 + i32.const 813 i32.const 1 call $~lib/builtins/abort unreachable @@ -18704,7 +17924,7 @@ if i32.const 0 i32.const 1056 - i32.const 818 + i32.const 814 i32.const 1 call $~lib/builtins/abort unreachable @@ -18717,7 +17937,7 @@ if i32.const 0 i32.const 1056 - i32.const 819 + i32.const 815 i32.const 1 call $~lib/builtins/abort unreachable @@ -18730,7 +17950,7 @@ if i32.const 0 i32.const 1056 - i32.const 820 + i32.const 816 i32.const 1 call $~lib/builtins/abort unreachable @@ -18743,7 +17963,7 @@ if i32.const 0 i32.const 1056 - i32.const 821 + i32.const 817 i32.const 1 call $~lib/builtins/abort unreachable @@ -18756,7 +17976,7 @@ if i32.const 0 i32.const 1056 - i32.const 824 + i32.const 820 i32.const 1 call $~lib/builtins/abort unreachable @@ -18769,7 +17989,7 @@ if i32.const 0 i32.const 1056 - i32.const 825 + i32.const 821 i32.const 1 call $~lib/builtins/abort unreachable @@ -18782,7 +18002,7 @@ if i32.const 0 i32.const 1056 - i32.const 826 + i32.const 822 i32.const 1 call $~lib/builtins/abort unreachable @@ -18795,7 +18015,7 @@ if i32.const 0 i32.const 1056 - i32.const 827 + i32.const 823 i32.const 1 call $~lib/builtins/abort unreachable @@ -18808,7 +18028,7 @@ if i32.const 0 i32.const 1056 - i32.const 828 + i32.const 824 i32.const 1 call $~lib/builtins/abort unreachable @@ -18821,7 +18041,7 @@ if i32.const 0 i32.const 1056 - i32.const 829 + i32.const 825 i32.const 1 call $~lib/builtins/abort unreachable @@ -18834,7 +18054,7 @@ if i32.const 0 i32.const 1056 - i32.const 830 + i32.const 826 i32.const 1 call $~lib/builtins/abort unreachable @@ -18847,7 +18067,7 @@ if i32.const 0 i32.const 1056 - i32.const 831 + i32.const 827 i32.const 1 call $~lib/builtins/abort unreachable @@ -18860,7 +18080,7 @@ if i32.const 0 i32.const 1056 - i32.const 832 + i32.const 828 i32.const 1 call $~lib/builtins/abort unreachable @@ -18873,7 +18093,7 @@ if i32.const 0 i32.const 1056 - i32.const 833 + i32.const 829 i32.const 1 call $~lib/builtins/abort unreachable @@ -18895,7 +18115,7 @@ if i32.const 0 i32.const 1056 - i32.const 845 + i32.const 841 i32.const 1 call $~lib/builtins/abort unreachable @@ -18917,7 +18137,7 @@ if i32.const 0 i32.const 1056 - i32.const 846 + i32.const 842 i32.const 1 call $~lib/builtins/abort unreachable @@ -18939,7 +18159,7 @@ if i32.const 0 i32.const 1056 - i32.const 847 + i32.const 843 i32.const 1 call $~lib/builtins/abort unreachable @@ -18961,7 +18181,7 @@ if i32.const 0 i32.const 1056 - i32.const 848 + i32.const 844 i32.const 1 call $~lib/builtins/abort unreachable @@ -18983,7 +18203,7 @@ if i32.const 0 i32.const 1056 - i32.const 849 + i32.const 845 i32.const 1 call $~lib/builtins/abort unreachable @@ -19005,7 +18225,7 @@ if i32.const 0 i32.const 1056 - i32.const 850 + i32.const 846 i32.const 1 call $~lib/builtins/abort unreachable @@ -19027,7 +18247,7 @@ if i32.const 0 i32.const 1056 - i32.const 851 + i32.const 847 i32.const 1 call $~lib/builtins/abort unreachable @@ -19049,7 +18269,7 @@ if i32.const 0 i32.const 1056 - i32.const 852 + i32.const 848 i32.const 1 call $~lib/builtins/abort unreachable @@ -19071,7 +18291,7 @@ if i32.const 0 i32.const 1056 - i32.const 853 + i32.const 849 i32.const 1 call $~lib/builtins/abort unreachable @@ -19093,7 +18313,7 @@ if i32.const 0 i32.const 1056 - i32.const 854 + i32.const 850 i32.const 1 call $~lib/builtins/abort unreachable @@ -19115,7 +18335,7 @@ if i32.const 0 i32.const 1056 - i32.const 857 + i32.const 853 i32.const 1 call $~lib/builtins/abort unreachable @@ -19137,7 +18357,7 @@ if i32.const 0 i32.const 1056 - i32.const 858 + i32.const 854 i32.const 1 call $~lib/builtins/abort unreachable @@ -19159,7 +18379,7 @@ if i32.const 0 i32.const 1056 - i32.const 859 + i32.const 855 i32.const 1 call $~lib/builtins/abort unreachable @@ -19181,7 +18401,7 @@ if i32.const 0 i32.const 1056 - i32.const 860 + i32.const 856 i32.const 1 call $~lib/builtins/abort unreachable @@ -19203,7 +18423,7 @@ if i32.const 0 i32.const 1056 - i32.const 861 + i32.const 857 i32.const 1 call $~lib/builtins/abort unreachable @@ -19225,7 +18445,7 @@ if i32.const 0 i32.const 1056 - i32.const 862 + i32.const 858 i32.const 1 call $~lib/builtins/abort unreachable @@ -19247,7 +18467,7 @@ if i32.const 0 i32.const 1056 - i32.const 863 + i32.const 859 i32.const 1 call $~lib/builtins/abort unreachable @@ -19269,7 +18489,7 @@ if i32.const 0 i32.const 1056 - i32.const 864 + i32.const 860 i32.const 1 call $~lib/builtins/abort unreachable @@ -19291,7 +18511,7 @@ if i32.const 0 i32.const 1056 - i32.const 865 + i32.const 861 i32.const 1 call $~lib/builtins/abort unreachable @@ -19313,7 +18533,7 @@ if i32.const 0 i32.const 1056 - i32.const 866 + i32.const 862 i32.const 1 call $~lib/builtins/abort unreachable @@ -19335,7 +18555,7 @@ if i32.const 0 i32.const 1056 - i32.const 867 + i32.const 863 i32.const 1 call $~lib/builtins/abort unreachable @@ -19357,7 +18577,7 @@ if i32.const 0 i32.const 1056 - i32.const 868 + i32.const 864 i32.const 1 call $~lib/builtins/abort unreachable @@ -19379,7 +18599,7 @@ if i32.const 0 i32.const 1056 - i32.const 869 + i32.const 865 i32.const 1 call $~lib/builtins/abort unreachable @@ -19401,7 +18621,7 @@ if i32.const 0 i32.const 1056 - i32.const 870 + i32.const 866 i32.const 1 call $~lib/builtins/abort unreachable @@ -19423,7 +18643,7 @@ if i32.const 0 i32.const 1056 - i32.const 871 + i32.const 867 i32.const 1 call $~lib/builtins/abort unreachable @@ -19445,7 +18665,7 @@ if i32.const 0 i32.const 1056 - i32.const 872 + i32.const 868 i32.const 1 call $~lib/builtins/abort unreachable @@ -19467,7 +18687,7 @@ if i32.const 0 i32.const 1056 - i32.const 873 + i32.const 869 i32.const 1 call $~lib/builtins/abort unreachable @@ -19489,7 +18709,7 @@ if i32.const 0 i32.const 1056 - i32.const 874 + i32.const 870 i32.const 1 call $~lib/builtins/abort unreachable @@ -19511,7 +18731,7 @@ if i32.const 0 i32.const 1056 - i32.const 875 + i32.const 871 i32.const 1 call $~lib/builtins/abort unreachable @@ -19533,7 +18753,7 @@ if i32.const 0 i32.const 1056 - i32.const 876 + i32.const 872 i32.const 1 call $~lib/builtins/abort unreachable @@ -19555,7 +18775,7 @@ if i32.const 0 i32.const 1056 - i32.const 877 + i32.const 873 i32.const 1 call $~lib/builtins/abort unreachable @@ -19577,7 +18797,7 @@ if i32.const 0 i32.const 1056 - i32.const 878 + i32.const 874 i32.const 1 call $~lib/builtins/abort unreachable @@ -19599,7 +18819,7 @@ if i32.const 0 i32.const 1056 - i32.const 879 + i32.const 875 i32.const 1 call $~lib/builtins/abort unreachable @@ -19621,7 +18841,7 @@ if i32.const 0 i32.const 1056 - i32.const 880 + i32.const 876 i32.const 1 call $~lib/builtins/abort unreachable @@ -19643,7 +18863,7 @@ if i32.const 0 i32.const 1056 - i32.const 881 + i32.const 877 i32.const 1 call $~lib/builtins/abort unreachable @@ -19665,7 +18885,7 @@ if i32.const 0 i32.const 1056 - i32.const 882 + i32.const 878 i32.const 1 call $~lib/builtins/abort unreachable @@ -19687,7 +18907,7 @@ if i32.const 0 i32.const 1056 - i32.const 883 + i32.const 879 i32.const 1 call $~lib/builtins/abort unreachable @@ -19709,7 +18929,7 @@ if i32.const 0 i32.const 1056 - i32.const 884 + i32.const 880 i32.const 1 call $~lib/builtins/abort unreachable @@ -19731,7 +18951,7 @@ if i32.const 0 i32.const 1056 - i32.const 885 + i32.const 881 i32.const 1 call $~lib/builtins/abort unreachable @@ -19753,7 +18973,7 @@ if i32.const 0 i32.const 1056 - i32.const 886 + i32.const 882 i32.const 1 call $~lib/builtins/abort unreachable @@ -19775,7 +18995,7 @@ if i32.const 0 i32.const 1056 - i32.const 887 + i32.const 883 i32.const 1 call $~lib/builtins/abort unreachable @@ -19797,7 +19017,7 @@ if i32.const 0 i32.const 1056 - i32.const 888 + i32.const 884 i32.const 1 call $~lib/builtins/abort unreachable @@ -19819,7 +19039,7 @@ if i32.const 0 i32.const 1056 - i32.const 889 + i32.const 885 i32.const 1 call $~lib/builtins/abort unreachable @@ -19841,7 +19061,7 @@ if i32.const 0 i32.const 1056 - i32.const 890 + i32.const 886 i32.const 1 call $~lib/builtins/abort unreachable @@ -19863,7 +19083,7 @@ if i32.const 0 i32.const 1056 - i32.const 891 + i32.const 887 i32.const 1 call $~lib/builtins/abort unreachable @@ -19885,7 +19105,7 @@ if i32.const 0 i32.const 1056 - i32.const 892 + i32.const 888 i32.const 1 call $~lib/builtins/abort unreachable @@ -19907,7 +19127,7 @@ if i32.const 0 i32.const 1056 - i32.const 893 + i32.const 889 i32.const 1 call $~lib/builtins/abort unreachable @@ -19929,7 +19149,7 @@ if i32.const 0 i32.const 1056 - i32.const 894 + i32.const 890 i32.const 1 call $~lib/builtins/abort unreachable @@ -19951,7 +19171,7 @@ if i32.const 0 i32.const 1056 - i32.const 895 + i32.const 891 i32.const 1 call $~lib/builtins/abort unreachable @@ -19973,7 +19193,7 @@ if i32.const 0 i32.const 1056 - i32.const 896 + i32.const 892 i32.const 1 call $~lib/builtins/abort unreachable @@ -19995,7 +19215,7 @@ if i32.const 0 i32.const 1056 - i32.const 897 + i32.const 893 i32.const 1 call $~lib/builtins/abort unreachable @@ -20017,7 +19237,7 @@ if i32.const 0 i32.const 1056 - i32.const 898 + i32.const 894 i32.const 1 call $~lib/builtins/abort unreachable @@ -20039,7 +19259,7 @@ if i32.const 0 i32.const 1056 - i32.const 899 + i32.const 895 i32.const 1 call $~lib/builtins/abort unreachable @@ -20061,7 +19281,7 @@ if i32.const 0 i32.const 1056 - i32.const 900 + i32.const 896 i32.const 1 call $~lib/builtins/abort unreachable @@ -20083,7 +19303,7 @@ if i32.const 0 i32.const 1056 - i32.const 901 + i32.const 897 i32.const 1 call $~lib/builtins/abort unreachable @@ -20096,7 +19316,7 @@ if i32.const 0 i32.const 1056 - i32.const 910 + i32.const 906 i32.const 1 call $~lib/builtins/abort unreachable @@ -20109,7 +19329,7 @@ if i32.const 0 i32.const 1056 - i32.const 911 + i32.const 907 i32.const 1 call $~lib/builtins/abort unreachable @@ -20122,7 +19342,7 @@ if i32.const 0 i32.const 1056 - i32.const 912 + i32.const 908 i32.const 1 call $~lib/builtins/abort unreachable @@ -20135,7 +19355,7 @@ if i32.const 0 i32.const 1056 - i32.const 913 + i32.const 909 i32.const 1 call $~lib/builtins/abort unreachable @@ -20148,7 +19368,7 @@ if i32.const 0 i32.const 1056 - i32.const 914 + i32.const 910 i32.const 1 call $~lib/builtins/abort unreachable @@ -20161,7 +19381,7 @@ if i32.const 0 i32.const 1056 - i32.const 915 + i32.const 911 i32.const 1 call $~lib/builtins/abort unreachable @@ -20174,7 +19394,7 @@ if i32.const 0 i32.const 1056 - i32.const 916 + i32.const 912 i32.const 1 call $~lib/builtins/abort unreachable @@ -20187,7 +19407,7 @@ if i32.const 0 i32.const 1056 - i32.const 917 + i32.const 913 i32.const 1 call $~lib/builtins/abort unreachable @@ -20200,7 +19420,7 @@ if i32.const 0 i32.const 1056 - i32.const 918 + i32.const 914 i32.const 1 call $~lib/builtins/abort unreachable @@ -20213,7 +19433,7 @@ if i32.const 0 i32.const 1056 - i32.const 919 + i32.const 915 i32.const 1 call $~lib/builtins/abort unreachable @@ -20226,7 +19446,7 @@ if i32.const 0 i32.const 1056 - i32.const 922 + i32.const 918 i32.const 1 call $~lib/builtins/abort unreachable @@ -20239,7 +19459,7 @@ if i32.const 0 i32.const 1056 - i32.const 923 + i32.const 919 i32.const 1 call $~lib/builtins/abort unreachable @@ -20252,7 +19472,7 @@ if i32.const 0 i32.const 1056 - i32.const 924 + i32.const 920 i32.const 1 call $~lib/builtins/abort unreachable @@ -20265,7 +19485,7 @@ if i32.const 0 i32.const 1056 - i32.const 925 + i32.const 921 i32.const 1 call $~lib/builtins/abort unreachable @@ -20278,7 +19498,7 @@ if i32.const 0 i32.const 1056 - i32.const 926 + i32.const 922 i32.const 1 call $~lib/builtins/abort unreachable @@ -20291,7 +19511,7 @@ if i32.const 0 i32.const 1056 - i32.const 927 + i32.const 923 i32.const 1 call $~lib/builtins/abort unreachable @@ -20304,7 +19524,7 @@ if i32.const 0 i32.const 1056 - i32.const 928 + i32.const 924 i32.const 1 call $~lib/builtins/abort unreachable @@ -20317,7 +19537,7 @@ if i32.const 0 i32.const 1056 - i32.const 929 + i32.const 925 i32.const 1 call $~lib/builtins/abort unreachable @@ -20330,7 +19550,7 @@ if i32.const 0 i32.const 1056 - i32.const 930 + i32.const 926 i32.const 1 call $~lib/builtins/abort unreachable @@ -20343,7 +19563,7 @@ if i32.const 0 i32.const 1056 - i32.const 931 + i32.const 927 i32.const 1 call $~lib/builtins/abort unreachable @@ -20356,7 +19576,7 @@ if i32.const 0 i32.const 1056 - i32.const 932 + i32.const 928 i32.const 1 call $~lib/builtins/abort unreachable @@ -20369,7 +19589,7 @@ if i32.const 0 i32.const 1056 - i32.const 933 + i32.const 929 i32.const 1 call $~lib/builtins/abort unreachable @@ -20382,7 +19602,7 @@ if i32.const 0 i32.const 1056 - i32.const 934 + i32.const 930 i32.const 1 call $~lib/builtins/abort unreachable @@ -20395,7 +19615,7 @@ if i32.const 0 i32.const 1056 - i32.const 935 + i32.const 931 i32.const 1 call $~lib/builtins/abort unreachable @@ -20408,7 +19628,7 @@ if i32.const 0 i32.const 1056 - i32.const 936 + i32.const 932 i32.const 1 call $~lib/builtins/abort unreachable @@ -20421,7 +19641,7 @@ if i32.const 0 i32.const 1056 - i32.const 937 + i32.const 933 i32.const 1 call $~lib/builtins/abort unreachable @@ -20434,7 +19654,7 @@ if i32.const 0 i32.const 1056 - i32.const 938 + i32.const 934 i32.const 1 call $~lib/builtins/abort unreachable @@ -20447,7 +19667,7 @@ if i32.const 0 i32.const 1056 - i32.const 939 + i32.const 935 i32.const 1 call $~lib/builtins/abort unreachable @@ -20460,7 +19680,7 @@ if i32.const 0 i32.const 1056 - i32.const 940 + i32.const 936 i32.const 1 call $~lib/builtins/abort unreachable @@ -20473,7 +19693,7 @@ if i32.const 0 i32.const 1056 - i32.const 941 + i32.const 937 i32.const 1 call $~lib/builtins/abort unreachable @@ -20486,7 +19706,7 @@ if i32.const 0 i32.const 1056 - i32.const 942 + i32.const 938 i32.const 1 call $~lib/builtins/abort unreachable @@ -20499,7 +19719,7 @@ if i32.const 0 i32.const 1056 - i32.const 943 + i32.const 939 i32.const 1 call $~lib/builtins/abort unreachable @@ -20512,7 +19732,7 @@ if i32.const 0 i32.const 1056 - i32.const 944 + i32.const 940 i32.const 1 call $~lib/builtins/abort unreachable @@ -20525,7 +19745,7 @@ if i32.const 0 i32.const 1056 - i32.const 945 + i32.const 941 i32.const 1 call $~lib/builtins/abort unreachable @@ -20538,7 +19758,7 @@ if i32.const 0 i32.const 1056 - i32.const 946 + i32.const 942 i32.const 1 call $~lib/builtins/abort unreachable @@ -20551,7 +19771,7 @@ if i32.const 0 i32.const 1056 - i32.const 947 + i32.const 943 i32.const 1 call $~lib/builtins/abort unreachable @@ -20564,7 +19784,7 @@ if i32.const 0 i32.const 1056 - i32.const 948 + i32.const 944 i32.const 1 call $~lib/builtins/abort unreachable @@ -20577,7 +19797,7 @@ if i32.const 0 i32.const 1056 - i32.const 949 + i32.const 945 i32.const 1 call $~lib/builtins/abort unreachable @@ -20590,7 +19810,7 @@ if i32.const 0 i32.const 1056 - i32.const 950 + i32.const 946 i32.const 1 call $~lib/builtins/abort unreachable @@ -20603,7 +19823,7 @@ if i32.const 0 i32.const 1056 - i32.const 951 + i32.const 947 i32.const 1 call $~lib/builtins/abort unreachable @@ -20616,7 +19836,7 @@ if i32.const 0 i32.const 1056 - i32.const 952 + i32.const 948 i32.const 1 call $~lib/builtins/abort unreachable @@ -20629,7 +19849,7 @@ if i32.const 0 i32.const 1056 - i32.const 953 + i32.const 949 i32.const 1 call $~lib/builtins/abort unreachable @@ -20642,7 +19862,7 @@ if i32.const 0 i32.const 1056 - i32.const 954 + i32.const 950 i32.const 1 call $~lib/builtins/abort unreachable @@ -20655,7 +19875,7 @@ if i32.const 0 i32.const 1056 - i32.const 955 + i32.const 951 i32.const 1 call $~lib/builtins/abort unreachable @@ -20668,7 +19888,7 @@ if i32.const 0 i32.const 1056 - i32.const 956 + i32.const 952 i32.const 1 call $~lib/builtins/abort unreachable @@ -20681,7 +19901,7 @@ if i32.const 0 i32.const 1056 - i32.const 957 + i32.const 953 i32.const 1 call $~lib/builtins/abort unreachable @@ -20694,7 +19914,7 @@ if i32.const 0 i32.const 1056 - i32.const 958 + i32.const 954 i32.const 1 call $~lib/builtins/abort unreachable @@ -20707,7 +19927,7 @@ if i32.const 0 i32.const 1056 - i32.const 959 + i32.const 955 i32.const 1 call $~lib/builtins/abort unreachable @@ -20720,7 +19940,7 @@ if i32.const 0 i32.const 1056 - i32.const 960 + i32.const 956 i32.const 1 call $~lib/builtins/abort unreachable @@ -20733,7 +19953,7 @@ if i32.const 0 i32.const 1056 - i32.const 961 + i32.const 957 i32.const 1 call $~lib/builtins/abort unreachable @@ -20746,7 +19966,7 @@ if i32.const 0 i32.const 1056 - i32.const 962 + i32.const 958 i32.const 1 call $~lib/builtins/abort unreachable @@ -20759,7 +19979,7 @@ if i32.const 0 i32.const 1056 - i32.const 963 + i32.const 959 i32.const 1 call $~lib/builtins/abort unreachable @@ -20772,7 +19992,7 @@ if i32.const 0 i32.const 1056 - i32.const 964 + i32.const 960 i32.const 1 call $~lib/builtins/abort unreachable @@ -20785,7 +20005,7 @@ if i32.const 0 i32.const 1056 - i32.const 965 + i32.const 961 i32.const 1 call $~lib/builtins/abort unreachable @@ -20798,13 +20018,13 @@ if i32.const 0 i32.const 1056 - i32.const 966 + i32.const 962 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.21126281599887137 f64.const -0.10962469130754471 call $std/math/check @@ -20821,13 +20041,13 @@ if i32.const 0 i32.const 1056 - i32.const 977 + i32.const 973 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.35895602297578955 f64.const -0.10759828239679337 call $std/math/check @@ -20844,13 +20064,13 @@ if i32.const 0 i32.const 1056 - i32.const 978 + i32.const 974 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.503333091765516 f64.const -0.021430473774671555 call $std/math/check @@ -20867,13 +20087,13 @@ if i32.const 0 i32.const 1056 - i32.const 979 + i32.const 975 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9692853212503283 f64.const -0.4787876307964325 call $std/math/check @@ -20890,13 +20110,13 @@ if i32.const 0 i32.const 1056 - i32.const 980 + i32.const 976 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9875878064788627 f64.const 0.4880668818950653 call $std/math/check @@ -20913,13 +20133,13 @@ if i32.const 0 i32.const 1056 - i32.const 981 + i32.const 977 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7887730869248576 f64.const 0.12708666920661926 call $std/math/check @@ -20936,13 +20156,13 @@ if i32.const 0 i32.const 1056 - i32.const 982 + i32.const 978 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9184692397007294 f64.const -0.26120713353157043 call $std/math/check @@ -20959,13 +20179,13 @@ if i32.const 0 i32.const 1056 - i32.const 983 + i32.const 979 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8463190467415896 f64.const -0.302586168050766 call $std/math/check @@ -20982,13 +20202,13 @@ if i32.const 0 i32.const 1056 - i32.const 984 + i32.const 980 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7150139289952383 f64.const -0.08537746220827103 call $std/math/check @@ -21005,13 +20225,13 @@ if i32.const 0 i32.const 1056 - i32.const 985 + i32.const 981 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7783494994757447 f64.const 0.30890750885009766 call $std/math/check @@ -21028,13 +20248,13 @@ if i32.const 0 i32.const 1056 - i32.const 986 + i32.const 982 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -21051,13 +20271,13 @@ if i32.const 0 i32.const 1056 - i32.const 989 + i32.const 985 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -21074,13 +20294,13 @@ if i32.const 0 i32.const 1056 - i32.const 990 + i32.const 986 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -21097,13 +20317,13 @@ if i32.const 0 i32.const 1056 - i32.const 991 + i32.const 987 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -21120,13 +20340,13 @@ if i32.const 0 i32.const 1056 - i32.const 992 + i32.const 988 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -21143,13 +20363,13 @@ if i32.const 0 i32.const 1056 - i32.const 993 + i32.const 989 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.5403023058681398 f64.const 0.4288286566734314 call $std/math/check @@ -21166,13 +20386,13 @@ if i32.const 0 i32.const 1056 - i32.const 994 + i32.const 990 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.4161468365471424 f64.const -0.35859397053718567 call $std/math/check @@ -21189,13 +20409,13 @@ if i32.const 0 i32.const 1056 - i32.const 995 + i32.const 991 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9899924966004454 f64.const 0.3788451552391052 call $std/math/check @@ -21212,13 +20432,13 @@ if i32.const 0 i32.const 1056 - i32.const 996 + i32.const 992 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.6536436208636119 f64.const -0.23280560970306396 call $std/math/check @@ -21235,13 +20455,13 @@ if i32.const 0 i32.const 1056 - i32.const 997 + i32.const 993 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.28366218546322625 f64.const -0.3277357816696167 call $std/math/check @@ -21258,13 +20478,13 @@ if i32.const 0 i32.const 1056 - i32.const 998 + i32.const 994 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.1 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9950041652780258 f64.const 0.49558526277542114 call $std/math/check @@ -21281,13 +20501,13 @@ if i32.const 0 i32.const 1056 - i32.const 999 + i32.const 995 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.2 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9800665778412416 f64.const -0.02407640963792801 call $std/math/check @@ -21304,13 +20524,13 @@ if i32.const 0 i32.const 1056 - i32.const 1000 + i32.const 996 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.3 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.955336489125606 f64.const -0.37772229313850403 call $std/math/check @@ -21327,13 +20547,13 @@ if i32.const 0 i32.const 1056 - i32.const 1001 + i32.const 997 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.4 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9210609940028851 f64.const 0.25818485021591187 call $std/math/check @@ -21350,13 +20570,13 @@ if i32.const 0 i32.const 1056 - i32.const 1002 + i32.const 998 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8775825618903728 f64.const 0.3839152157306671 call $std/math/check @@ -21373,13 +20593,13 @@ if i32.const 0 i32.const 1056 - i32.const 1003 + i32.const 999 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3641409746639015e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -21396,13 +20616,13 @@ if i32.const 0 i32.const 1056 - i32.const 1004 + i32.const 1000 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1820704873319507e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -21419,13 +20639,13 @@ if i32.const 0 i32.const 1056 - i32.const 1005 + i32.const 1001 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -21442,13 +20662,13 @@ if i32.const 0 i32.const 1056 - i32.const 1006 + i32.const 1002 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5e-324 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -21465,13 +20685,13 @@ if i32.const 0 i32.const 1056 - i32.const 1007 + i32.const 1003 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -3.14 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9999987317275395 f64.const 0.3855516016483307 call $std/math/check @@ -21488,13 +20708,13 @@ if i32.const 0 i32.const 1056 - i32.const 1008 + i32.const 1004 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8988465674311579538646525e283 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.826369834614148 f64.const -0.3695965111255646 call $std/math/check @@ -21511,13 +20731,13 @@ if i32.const 0 i32.const 1056 - i32.const 1009 + i32.const 1005 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9999876894265599 f64.const 0.23448343575000763 call $std/math/check @@ -21534,13 +20754,13 @@ if i32.const 0 i32.const 1056 - i32.const 1010 + i32.const 1006 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8988465674311579538646525e283 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.826369834614148 f64.const -0.3695965111255646 call $std/math/check @@ -21557,13 +20777,13 @@ if i32.const 0 i32.const 1056 - i32.const 1011 + i32.const 1007 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.14 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9999987317275395 f64.const 0.3855516016483307 call $std/math/check @@ -21580,13 +20800,13 @@ if i32.const 0 i32.const 1056 - i32.const 1012 + i32.const 1008 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.1415 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9999999957076562 f64.const -0.30608975887298584 call $std/math/check @@ -21603,13 +20823,13 @@ if i32.const 0 i32.const 1056 - i32.const 1013 + i32.const 1009 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.141592 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9999999999997864 f64.const 0.15403328835964203 call $std/math/check @@ -21626,13 +20846,13 @@ if i32.const 0 i32.const 1056 - i32.const 1014 + i32.const 1010 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.14159265 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -1 f64.const -0.02901807427406311 call $std/math/check @@ -21649,13 +20869,13 @@ if i32.const 0 i32.const 1056 - i32.const 1015 + i32.const 1011 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.1415926535 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -1 f64.const -1.8155848010792397e-05 call $std/math/check @@ -21672,13 +20892,13 @@ if i32.const 0 i32.const 1056 - i32.const 1016 + i32.const 1012 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.141592653589 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -1 f64.const -1.4169914130945926e-09 call $std/math/check @@ -21695,13 +20915,13 @@ if i32.const 0 i32.const 1056 - i32.const 1017 + i32.const 1013 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.14159265358979 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -1 f64.const -2.350864897985184e-14 call $std/math/check @@ -21718,13 +20938,13 @@ if i32.const 0 i32.const 1056 - i32.const 1018 + i32.const 1014 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.141592653589793 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -1 f64.const -3.377158741883318e-17 call $std/math/check @@ -21741,13 +20961,13 @@ if i32.const 0 i32.const 1056 - i32.const 1019 + i32.const 1015 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.57 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 7.963267107332633e-04 f64.const 0.2968159317970276 call $std/math/check @@ -21764,13 +20984,13 @@ if i32.const 0 i32.const 1056 - i32.const 1020 + i32.const 1016 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.570796 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 3.2679489653813835e-07 f64.const -0.32570895552635193 call $std/math/check @@ -21787,13 +21007,13 @@ if i32.const 0 i32.const 1056 - i32.const 1021 + i32.const 1017 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.5707963267 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 9.489659630678013e-11 f64.const -0.27245646715164185 call $std/math/check @@ -21810,13 +21030,13 @@ if i32.const 0 i32.const 1056 - i32.const 1022 + i32.const 1018 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.57079632679489 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 6.722570487708307e-15 f64.const -0.10747683793306351 call $std/math/check @@ -21833,13 +21053,13 @@ if i32.const 0 i32.const 1056 - i32.const 1023 + i32.const 1019 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.5707963267948966 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 6.123233995736766e-17 f64.const 0.12148229777812958 call $std/math/check @@ -21856,13 +21076,13 @@ if i32.const 0 i32.const 1056 - i32.const 1024 + i32.const 1020 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6700635199486106 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7837822193016158 f64.const -0.07278502732515335 call $std/math/check @@ -21879,13 +21099,13 @@ if i32.const 0 i32.const 1056 - i32.const 1025 + i32.const 1021 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5343890189437553 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8605799719039517 f64.const -0.48434028029441833 call $std/math/check @@ -21902,13 +21122,13 @@ if i32.const 0 i32.const 1056 - i32.const 1026 + i32.const 1022 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.43999702754890085 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9047529293001976 f64.const 0.029777472838759422 call $std/math/check @@ -21925,13 +21145,13 @@ if i32.const 0 i32.const 1056 - i32.const 1027 + i32.const 1023 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.9902840844687313 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.5484523364480768 f64.const 0.19765280187129974 call $std/math/check @@ -21948,13 +21168,13 @@ if i32.const 0 i32.const 1056 - i32.const 1028 + i32.const 1024 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.45381447534338915 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8987813902263783 f64.const -0.017724866047501564 call $std/math/check @@ -21971,13 +21191,13 @@ if i32.const 0 i32.const 1056 - i32.const 1029 + i32.const 1025 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.4609888813583589 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8956130474713057 f64.const 0.36449819803237915 call $std/math/check @@ -21994,13 +21214,13 @@ if i32.const 0 i32.const 1056 - i32.const 1030 + i32.const 1026 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.9285434097956422 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.5990009794292984 f64.const -0.2899416387081146 call $std/math/check @@ -22017,13 +21237,13 @@ if i32.const 0 i32.const 1056 - i32.const 1031 + i32.const 1027 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.9109092124488352 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.6130276692774378 f64.const -0.49353134632110596 call $std/math/check @@ -22040,13 +21260,13 @@ if i32.const 0 i32.const 1056 - i32.const 1032 + i32.const 1028 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.8328600650359556 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.6727624710046357 f64.const -0.36606088280677795 call $std/math/check @@ -22063,13 +21283,13 @@ if i32.const 0 i32.const 1056 - i32.const 1033 + i32.const 1029 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.9536201252203433 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.5787346183487084 f64.const -0.17089833319187164 call $std/math/check @@ -22086,13 +21306,13 @@ if i32.const 0 i32.const 1056 - i32.const 1034 + i32.const 1030 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.8726590065457699 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.6427919144259047 f64.const -0.2744986116886139 call $std/math/check @@ -22109,13 +21329,13 @@ if i32.const 0 i32.const 1056 - i32.const 1035 + i32.const 1031 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.18100447535968447 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9836633656884893 f64.const 3.0195272993296385e-03 call $std/math/check @@ -22132,13 +21352,13 @@ if i32.const 0 i32.const 1056 - i32.const 1036 + i32.const 1032 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.356194490349839 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067812979126 f64.const -0.48278746008872986 call $std/math/check @@ -22155,13 +21375,13 @@ if i32.const 0 i32.const 1056 - i32.const 1037 + i32.const 1033 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.356194490372272 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067813137752 f64.const -0.4866050183773041 call $std/math/check @@ -22178,13 +21398,13 @@ if i32.const 0 i32.const 1056 - i32.const 1038 + i32.const 1034 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3561944902251115 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.707106781209717 f64.const -0.3533952236175537 call $std/math/check @@ -22201,13 +21421,13 @@ if i32.const 0 i32.const 1056 - i32.const 1039 + i32.const 1035 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3561944903149996 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067812732775 f64.const -0.41911986470222473 call $std/math/check @@ -22224,13 +21444,13 @@ if i32.const 0 i32.const 1056 - i32.const 1040 + i32.const 1036 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3561944903603527 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.707106781305347 f64.const -0.4706200063228607 call $std/math/check @@ -22247,13 +21467,13 @@ if i32.const 0 i32.const 1056 - i32.const 1041 + i32.const 1037 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3561944903826197 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067813210922 f64.const -0.30618351697921753 call $std/math/check @@ -22270,13 +21490,13 @@ if i32.const 0 i32.const 1056 - i32.const 1042 + i32.const 1038 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.356194490371803 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067813134436 f64.const -0.30564820766448975 call $std/math/check @@ -22293,13 +21513,13 @@ if i32.const 0 i32.const 1056 - i32.const 1043 + i32.const 1039 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.356194490399931 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067813333329 f64.const -0.38845571875572205 call $std/math/check @@ -22316,13 +21536,13 @@ if i32.const 0 i32.const 1056 - i32.const 1044 + i32.const 1040 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.356194490260191 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.707106781234522 f64.const -0.23796851933002472 call $std/math/check @@ -22339,13 +21559,13 @@ if i32.const 0 i32.const 1056 - i32.const 1045 + i32.const 1041 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3561944904043153 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067813364332 f64.const -0.3274589478969574 call $std/math/check @@ -22362,13 +21582,13 @@ if i32.const 0 i32.const 1056 - i32.const 1046 + i32.const 1042 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.0943951024759446 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000000716629 f64.const -0.41711342334747314 call $std/math/check @@ -22385,13 +21605,13 @@ if i32.const 0 i32.const 1056 - i32.const 1047 + i32.const 1043 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.09439510243324 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000000346797 f64.const -0.3566164970397949 call $std/math/check @@ -22408,13 +21628,13 @@ if i32.const 0 i32.const 1056 - i32.const 1048 + i32.const 1044 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.0943951025133885 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000001040902 f64.const -0.2253485918045044 call $std/math/check @@ -22431,13 +21651,13 @@ if i32.const 0 i32.const 1056 - i32.const 1049 + i32.const 1045 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.0943951025466707 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000001329135 f64.const -0.12982259690761566 call $std/math/check @@ -22454,13 +21674,13 @@ if i32.const 0 i32.const 1056 - i32.const 1050 + i32.const 1046 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.094395102413896 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000000179272 f64.const -0.15886764228343964 call $std/math/check @@ -22477,13 +21697,13 @@ if i32.const 0 i32.const 1056 - i32.const 1051 + i32.const 1047 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.0943951024223404 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000000252403 f64.const -0.266656756401062 call $std/math/check @@ -22500,13 +21720,13 @@ if i32.const 0 i32.const 1056 - i32.const 1052 + i32.const 1048 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.0943951024960477 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000000890726 f64.const -0.4652077853679657 call $std/math/check @@ -22523,13 +21743,13 @@ if i32.const 0 i32.const 1056 - i32.const 1053 + i32.const 1049 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.0943951025173315 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.500000000107505 f64.const -0.46710994839668274 call $std/math/check @@ -22546,13 +21766,13 @@ if i32.const 0 i32.const 1056 - i32.const 1054 + i32.const 1050 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.094395102405924 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.5000000000110234 f64.const -0.2469603717327118 call $std/math/check @@ -22569,13 +21789,13 @@ if i32.const 0 i32.const 1056 - i32.const 1055 + i32.const 1051 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.094395102428558 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.500000000030625 f64.const -0.3799441158771515 call $std/math/check @@ -22592,13 +21812,13 @@ if i32.const 0 i32.const 1056 - i32.const 1056 + i32.const 1052 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.513210770864056 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.6125076939987759 f64.const 0.4989966154098511 call $std/math/check @@ -22615,13 +21835,13 @@ if i32.const 0 i32.const 1056 - i32.const 1057 + i32.const 1053 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 6.802886129801017 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8679677961345452 f64.const 0.4972165524959564 call $std/math/check @@ -22638,13 +21858,13 @@ if i32.const 0 i32.const 1056 - i32.const 1058 + i32.const 1054 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.171925393086408 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9682027440424544 f64.const -0.49827584624290466 call $std/math/check @@ -22661,13 +21881,13 @@ if i32.const 0 i32.const 1056 - i32.const 1059 + i32.const 1055 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.854690112888573 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.8418535663818527 f64.const 0.4974979758262634 call $std/math/check @@ -22684,13 +21904,13 @@ if i32.const 0 i32.const 1056 - i32.const 1060 + i32.const 1056 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.213510813859608 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9777659802838506 f64.const -0.4995604455471039 call $std/math/check @@ -22707,13 +21927,13 @@ if i32.const 0 i32.const 1056 - i32.const 1061 + i32.const 1057 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.782449081542151 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.07147156381293339 f64.const 0.49858126044273376 call $std/math/check @@ -22730,13 +21950,13 @@ if i32.const 0 i32.const 1056 - i32.const 1062 + i32.const 1058 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.500261332273616 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.34639017633458113 f64.const -0.4996210038661957 call $std/math/check @@ -22753,13 +21973,13 @@ if i32.const 0 i32.const 1056 - i32.const 1063 + i32.const 1059 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.121739418731588 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.9544341297541811 f64.const 0.4982815086841583 call $std/math/check @@ -22776,13 +21996,13 @@ if i32.const 0 i32.const 1056 - i32.const 1064 + i32.const 1060 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 6.784954020476316 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8767332233166646 f64.const -0.4988083839416504 call $std/math/check @@ -22799,13 +22019,13 @@ if i32.const 0 i32.const 1056 - i32.const 1065 + i32.const 1061 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.770846542666664 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7936984117400705 f64.const 0.4999682903289795 call $std/math/check @@ -22822,13 +22042,13 @@ if i32.const 0 i32.const 1056 - i32.const 1066 + i32.const 1062 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.313225746154785e-10 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0.001953125 call $std/math/check @@ -22845,13 +22065,13 @@ if i32.const 0 i32.const 1056 - i32.const 1069 + i32.const 1065 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -9.313225746154785e-10 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0.001953125 call $std/math/check @@ -22868,13 +22088,13 @@ if i32.const 0 i32.const 1056 - i32.const 1070 + i32.const 1066 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072014e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -22891,13 +22111,13 @@ if i32.const 0 i32.const 1056 - i32.const 1071 + i32.const 1067 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072014e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -22914,13 +22134,13 @@ if i32.const 0 i32.const 1056 - i32.const 1072 + i32.const 1068 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -22937,13 +22157,13 @@ if i32.const 0 i32.const 1056 - i32.const 1073 + i32.const 1069 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5e-324 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -22960,13 +22180,13 @@ if i32.const 0 i32.const 1056 - i32.const 1074 + i32.const 1070 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -22983,13 +22203,13 @@ if i32.const 0 i32.const 1056 - i32.const 1075 + i32.const 1071 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23006,13 +22226,13 @@ if i32.const 0 i32.const 1056 - i32.const 1076 + i32.const 1072 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-323 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23029,13 +22249,13 @@ if i32.const 0 i32.const 1056 - i32.const 1077 + i32.const 1073 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.4e-323 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23052,13 +22272,13 @@ if i32.const 0 i32.const 1056 - i32.const 1078 + i32.const 1074 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5.562684646268003e-309 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23075,13 +22295,13 @@ if i32.const 0 i32.const 1056 - i32.const 1079 + i32.const 1075 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1125369292536007e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23098,13 +22318,13 @@ if i32.const 0 i32.const 1056 - i32.const 1080 + i32.const 1076 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072004e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23121,13 +22341,13 @@ if i32.const 0 i32.const 1056 - i32.const 1081 + i32.const 1077 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.225073858507201e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23144,13 +22364,13 @@ if i32.const 0 i32.const 1056 - i32.const 1082 + i32.const 1078 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.225073858507202e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23167,13 +22387,13 @@ if i32.const 0 i32.const 1056 - i32.const 1083 + i32.const 1079 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072024e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23190,13 +22410,13 @@ if i32.const 0 i32.const 1056 - i32.const 1084 + i32.const 1080 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.4501477170144003e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23213,13 +22433,13 @@ if i32.const 0 i32.const 1056 - i32.const 1085 + i32.const 1081 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.450147717014403e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23236,13 +22456,13 @@ if i32.const 0 i32.const 1056 - i32.const 1086 + i32.const 1082 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.450147717014406e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23259,13 +22479,13 @@ if i32.const 0 i32.const 1056 - i32.const 1087 + i32.const 1083 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.900295434028806e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23282,13 +22502,13 @@ if i32.const 0 i32.const 1056 - i32.const 1088 + i32.const 1084 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.450580596923828e-09 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0.125 call $std/math/check @@ -23305,13 +22525,13 @@ if i32.const 0 i32.const 1056 - i32.const 1089 + i32.const 1085 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.4901161193847656e-08 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9999999999999999 f64.const -1.850372590034581e-17 call $std/math/check @@ -23328,13 +22548,13 @@ if i32.const 0 i32.const 1056 - i32.const 1090 + i32.const 1086 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.470348358154297e-08 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.999999999999999 f64.const -1.4988010832439613e-15 call $std/math/check @@ -23351,13 +22571,13 @@ if i32.const 0 i32.const 1056 - i32.const 1091 + i32.const 1087 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-323 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23374,13 +22594,13 @@ if i32.const 0 i32.const 1056 - i32.const 1092 + i32.const 1088 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.4e-323 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23397,13 +22617,13 @@ if i32.const 0 i32.const 1056 - i32.const 1093 + i32.const 1089 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5.562684646268003e-309 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23420,13 +22640,13 @@ if i32.const 0 i32.const 1056 - i32.const 1094 + i32.const 1090 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.1125369292536007e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23443,13 +22663,13 @@ if i32.const 0 i32.const 1056 - i32.const 1095 + i32.const 1091 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072004e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23466,13 +22686,13 @@ if i32.const 0 i32.const 1056 - i32.const 1096 + i32.const 1092 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.225073858507201e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23489,13 +22709,13 @@ if i32.const 0 i32.const 1056 - i32.const 1097 + i32.const 1093 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.225073858507202e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23512,13 +22732,13 @@ if i32.const 0 i32.const 1056 - i32.const 1098 + i32.const 1094 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072024e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23535,13 +22755,13 @@ if i32.const 0 i32.const 1056 - i32.const 1099 + i32.const 1095 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.4501477170144003e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23558,13 +22778,13 @@ if i32.const 0 i32.const 1056 - i32.const 1100 + i32.const 1096 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.450147717014403e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23581,13 +22801,13 @@ if i32.const 0 i32.const 1056 - i32.const 1101 + i32.const 1097 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.450147717014406e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23604,13 +22824,13 @@ if i32.const 0 i32.const 1056 - i32.const 1102 + i32.const 1098 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.900295434028806e-308 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0 call $std/math/check @@ -23627,13 +22847,13 @@ if i32.const 0 i32.const 1056 - i32.const 1103 + i32.const 1099 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -7.450580596923828e-09 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.const 0.125 call $std/math/check @@ -23650,13 +22870,13 @@ if i32.const 0 i32.const 1056 - i32.const 1104 + i32.const 1100 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.4901161193847656e-08 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9999999999999999 f64.const -1.850372590034581e-17 call $std/math/check @@ -23673,13 +22893,13 @@ if i32.const 0 i32.const 1056 - i32.const 1105 + i32.const 1101 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.470348358154297e-08 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.999999999999999 f64.const -1.4988010832439613e-15 call $std/math/check @@ -23696,268 +22916,268 @@ if i32.const 0 i32.const 1056 - i32.const 1106 + i32.const 1102 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.5707963267948966 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1.5707963267948966 call $~lib/bindings/dom/Math.cos f64.ne if i32.const 0 i32.const 1056 - i32.const 1108 + i32.const 1104 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.141592653589793 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 3.141592653589793 call $~lib/bindings/dom/Math.cos f64.ne if i32.const 0 i32.const 1056 - i32.const 1109 + i32.const 1105 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3141592653589793231804887e66 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 3141592653589793231804887e66 call $~lib/bindings/dom/Math.cos f64.ne if i32.const 0 i32.const 1056 - i32.const 1110 + i32.const 1106 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 1114 + i32.const 1110 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 1115 + i32.const 1111 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.15707963267948966 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9876883405951378 f64.ne if i32.const 0 i32.const 1056 - i32.const 1118 + i32.const 1114 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7812504768371582 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7100335477927638 f64.ne if i32.const 0 i32.const 1056 - i32.const 1120 + i32.const 1116 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.78125 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7100338835660797 f64.ne if i32.const 0 i32.const 1056 - i32.const 1121 + i32.const 1117 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.39269908169872414 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9238795325112867 f64.ne if i32.const 0 i32.const 1056 - i32.const 1124 + i32.const 1120 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.39269908169872414 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9238795325112867 f64.ne if i32.const 0 i32.const 1056 - i32.const 1126 + i32.const 1122 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.725290298461914e-09 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 1129 + i32.const 1125 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.25 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9689124217106447 f64.ne if i32.const 0 i32.const 1056 - i32.const 1131 + i32.const 1127 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.8775825618903728 f64.ne if i32.const 0 i32.const 1056 - i32.const 1132 + i32.const 1128 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.785 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7073882691671998 f64.ne if i32.const 0 i32.const 1056 - i32.const 1133 + i32.const 1129 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.5707963267948966 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 6.123233995736766e-17 f64.ne if i32.const 0 i32.const 1056 - i32.const 1135 + i32.const 1131 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5.497787143782138 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7071067811865474 f64.ne if i32.const 0 i32.const 1056 - i32.const 1137 + i32.const 1133 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.0685834705770345 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.7071067811865477 f64.ne if i32.const 0 i32.const 1056 - i32.const 1138 + i32.const 1134 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.63937979737193 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067811865467 f64.ne if i32.const 0 i32.const 1056 - i32.const 1139 + i32.const 1135 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 10.210176124166829 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -0.7071067811865471 f64.ne if i32.const 0 i32.const 1056 - i32.const 1140 + i32.const 1136 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e6 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const 0.9367521275331447 f64.ne if i32.const 0 i32.const 1056 - i32.const 1141 + i32.const 1137 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1647097.7583689587 - call $~lib/math/NativeMath.cos + call $~lib/util/math/cos64 f64.const -3.435757038074824e-12 f64.ne if i32.const 0 i32.const 1056 - i32.const 1142 + i32.const 1138 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const -0.21126316487789154 f32.const 0.48328569531440735 call $std/math/check @@ -23965,13 +23185,13 @@ if i32.const 0 i32.const 1056 - i32.const 1151 + i32.const 1147 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const -0.3589562177658081 f32.const 0.042505208402872086 call $std/math/check @@ -23979,13 +23199,13 @@ if i32.const 0 i32.const 1056 - i32.const 1152 + i32.const 1148 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const -0.5033331513404846 f32.const -0.1386195719242096 call $std/math/check @@ -23993,13 +23213,13 @@ if i32.const 0 i32.const 1056 - i32.const 1153 + i32.const 1149 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.9692853689193726 f32.const 0.1786951720714569 call $std/math/check @@ -24007,13 +23227,13 @@ if i32.const 0 i32.const 1056 - i32.const 1154 + i32.const 1150 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const -0.9875878691673279 f32.const 0.1389600932598114 call $std/math/check @@ -24021,13 +23241,13 @@ if i32.const 0 i32.const 1056 - i32.const 1155 + i32.const 1151 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.7887731194496155 f32.const 0.2989593744277954 call $std/math/check @@ -24035,13 +23255,13 @@ if i32.const 0 i32.const 1056 - i32.const 1156 + i32.const 1152 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.918469250202179 f32.const 0.24250665307044983 call $std/math/check @@ -24049,13 +23269,13 @@ if i32.const 0 i32.const 1056 - i32.const 1157 + i32.const 1153 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.8463190197944641 f32.const -0.24033240973949432 call $std/math/check @@ -24063,13 +23283,13 @@ if i32.const 0 i32.const 1056 - i32.const 1158 + i32.const 1154 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.7150139212608337 f32.const -0.3372635245323181 call $std/math/check @@ -24077,13 +23297,13 @@ if i32.const 0 i32.const 1056 - i32.const 1159 + i32.const 1155 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.7783495187759399 f32.const 0.16550153493881226 call $std/math/check @@ -24091,13 +23311,13 @@ if i32.const 0 i32.const 1056 - i32.const 1160 + i32.const 1156 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24105,13 +23325,13 @@ if i32.const 0 i32.const 1056 - i32.const 1163 + i32.const 1159 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24119,13 +23339,13 @@ if i32.const 0 i32.const 1056 - i32.const 1164 + i32.const 1160 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -24133,13 +23353,13 @@ if i32.const 0 i32.const 1056 - i32.const 1165 + i32.const 1161 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -24147,13 +23367,13 @@ if i32.const 0 i32.const 1056 - i32.const 1166 + i32.const 1162 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -24161,13 +23381,13 @@ if i32.const 0 i32.const 1056 - i32.const 1167 + i32.const 1163 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 1.4551915228366852e-11 call $std/math/check @@ -24175,13 +23395,13 @@ if i32.const 0 i32.const 1056 - i32.const 1170 + i32.const 1166 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 1.4551915228366852e-11 call $std/math/check @@ -24189,13 +23409,13 @@ if i32.const 0 i32.const 1056 - i32.const 1171 + i32.const 1167 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24203,13 +23423,13 @@ if i32.const 0 i32.const 1056 - i32.const 1172 + i32.const 1168 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24217,13 +23437,13 @@ if i32.const 0 i32.const 1056 - i32.const 1173 + i32.const 1169 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24231,13 +23451,13 @@ if i32.const 0 i32.const 1056 - i32.const 1174 + i32.const 1170 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24245,13 +23465,13 @@ if i32.const 0 i32.const 1056 - i32.const 1175 + i32.const 1171 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24259,13 +23479,13 @@ if i32.const 0 i32.const 1056 - i32.const 1176 + i32.const 1172 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24273,13 +23493,13 @@ if i32.const 0 i32.const 1056 - i32.const 1177 + i32.const 1173 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24287,13 +23507,13 @@ if i32.const 0 i32.const 1056 - i32.const 1178 + i32.const 1174 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24301,13 +23521,13 @@ if i32.const 0 i32.const 1056 - i32.const 1179 + i32.const 1175 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24315,13 +23535,13 @@ if i32.const 0 i32.const 1056 - i32.const 1180 + i32.const 1176 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24329,13 +23549,13 @@ if i32.const 0 i32.const 1056 - i32.const 1181 + i32.const 1177 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24343,13 +23563,13 @@ if i32.const 0 i32.const 1056 - i32.const 1182 + i32.const 1178 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24357,13 +23577,13 @@ if i32.const 0 i32.const 1056 - i32.const 1183 + i32.const 1179 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24371,13 +23591,13 @@ if i32.const 0 i32.const 1056 - i32.const 1184 + i32.const 1180 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24385,13 +23605,13 @@ if i32.const 0 i32.const 1056 - i32.const 1185 + i32.const 1181 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24399,13 +23619,13 @@ if i32.const 0 i32.const 1056 - i32.const 1186 + i32.const 1182 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24413,13 +23633,13 @@ if i32.const 0 i32.const 1056 - i32.const 1187 + i32.const 1183 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 7.450580596923828e-09 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 2.3283064365386963e-10 call $std/math/check @@ -24427,13 +23647,13 @@ if i32.const 0 i32.const 1056 - i32.const 1188 + i32.const 1184 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.000244140625 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0.25 call $std/math/check @@ -24441,13 +23661,13 @@ if i32.const 0 i32.const 1056 - i32.const 1189 + i32.const 1185 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.00048828125 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.9999998807907104 f32.const -3.973643103449831e-08 call $std/math/check @@ -24455,13 +23675,13 @@ if i32.const 0 i32.const 1056 - i32.const 1190 + i32.const 1186 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.0009765625 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.9999995231628418 f32.const -6.357828397085541e-07 call $std/math/check @@ -24469,13 +23689,13 @@ if i32.const 0 i32.const 1056 - i32.const 1191 + i32.const 1187 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24483,13 +23703,13 @@ if i32.const 0 i32.const 1056 - i32.const 1192 + i32.const 1188 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24497,13 +23717,13 @@ if i32.const 0 i32.const 1056 - i32.const 1193 + i32.const 1189 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24511,13 +23731,13 @@ if i32.const 0 i32.const 1056 - i32.const 1194 + i32.const 1190 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24525,13 +23745,13 @@ if i32.const 0 i32.const 1056 - i32.const 1195 + i32.const 1191 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24539,13 +23759,13 @@ if i32.const 0 i32.const 1056 - i32.const 1196 + i32.const 1192 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24553,13 +23773,13 @@ if i32.const 0 i32.const 1056 - i32.const 1197 + i32.const 1193 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24567,13 +23787,13 @@ if i32.const 0 i32.const 1056 - i32.const 1198 + i32.const 1194 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24581,13 +23801,13 @@ if i32.const 0 i32.const 1056 - i32.const 1199 + i32.const 1195 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24595,13 +23815,13 @@ if i32.const 0 i32.const 1056 - i32.const 1200 + i32.const 1196 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.350988701644575e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24609,13 +23829,13 @@ if i32.const 0 i32.const 1056 - i32.const 1201 + i32.const 1197 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24623,13 +23843,13 @@ if i32.const 0 i32.const 1056 - i32.const 1202 + i32.const 1198 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0 call $std/math/check @@ -24637,13 +23857,13 @@ if i32.const 0 i32.const 1056 - i32.const 1203 + i32.const 1199 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -7.450580596923828e-09 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 2.3283064365386963e-10 call $std/math/check @@ -24651,13 +23871,13 @@ if i32.const 0 i32.const 1056 - i32.const 1204 + i32.const 1200 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.000244140625 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 1 f32.const 0.25 call $std/math/check @@ -24665,13 +23885,13 @@ if i32.const 0 i32.const 1056 - i32.const 1205 + i32.const 1201 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.00048828125 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.9999998807907104 f32.const -3.973643103449831e-08 call $std/math/check @@ -24679,13 +23899,13 @@ if i32.const 0 i32.const 1056 - i32.const 1206 + i32.const 1202 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.0009765625 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.9999995231628418 f32.const -6.357828397085541e-07 call $std/math/check @@ -24693,13 +23913,13 @@ if i32.const 0 i32.const 1056 - i32.const 1207 + i32.const 1203 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 255.99993896484375 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const -0.03985174745321274 f32.const 0 call $std/math/check @@ -24707,13 +23927,13 @@ if i32.const 0 i32.const 1056 - i32.const 1210 + i32.const 1206 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5033165 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.8471871614456177 f32.const 0 call $std/math/check @@ -24721,13 +23941,13 @@ if i32.const 0 i32.const 1056 - i32.const 1211 + i32.const 1207 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 421657440 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.6728929281234741 f32.const 0 call $std/math/check @@ -24735,13 +23955,13 @@ if i32.const 0 i32.const 1056 - i32.const 1212 + i32.const 1208 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2147483392 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.9610780477523804 f32.const 0 call $std/math/check @@ -24749,13 +23969,13 @@ if i32.const 0 i32.const 1056 - i32.const 1213 + i32.const 1209 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 68719476736 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.1694190502166748 f32.const 0 call $std/math/check @@ -24763,13 +23983,13 @@ if i32.const 0 i32.const 1056 - i32.const 1214 + i32.const 1210 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 549755813888 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.20735950767993927 f32.const 0 call $std/math/check @@ -24777,13 +23997,13 @@ if i32.const 0 i32.const 1056 - i32.const 1215 + i32.const 1211 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.8530210256576538 f32.const 0 call $std/math/check @@ -24791,13 +24011,13 @@ if i32.const 0 i32.const 1056 - i32.const 1216 + i32.const 1212 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -255.99993896484375 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const -0.03985174745321274 f32.const 0 call $std/math/check @@ -24805,13 +24025,13 @@ if i32.const 0 i32.const 1056 - i32.const 1217 + i32.const 1213 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -5033165 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.8471871614456177 f32.const 0 call $std/math/check @@ -24819,13 +24039,13 @@ if i32.const 0 i32.const 1056 - i32.const 1218 + i32.const 1214 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -421657440 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.6728929281234741 f32.const 0 call $std/math/check @@ -24833,13 +24053,13 @@ if i32.const 0 i32.const 1056 - i32.const 1219 + i32.const 1215 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2147483392 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.9610780477523804 f32.const 0 call $std/math/check @@ -24847,13 +24067,13 @@ if i32.const 0 i32.const 1056 - i32.const 1220 + i32.const 1216 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -68719476736 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.1694190502166748 f32.const 0 call $std/math/check @@ -24861,13 +24081,13 @@ if i32.const 0 i32.const 1056 - i32.const 1221 + i32.const 1217 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -549755813888 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.20735950767993927 f32.const 0 call $std/math/check @@ -24875,13 +24095,13 @@ if i32.const 0 i32.const 1056 - i32.const 1222 + i32.const 1218 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -3402823466385288598117041e14 - call $~lib/math/NativeMathf.cos + call $~lib/util/math/cos32 f32.const 0.8530210256576538 f32.const 0 call $std/math/check @@ -24889,7 +24109,7 @@ if i32.const 0 i32.const 1056 - i32.const 1223 + i32.const 1219 i32.const 1 call $~lib/builtins/abort unreachable @@ -24902,7 +24122,7 @@ if i32.const 0 i32.const 1056 - i32.const 1234 + i32.const 1230 i32.const 1 call $~lib/builtins/abort unreachable @@ -24915,7 +24135,7 @@ if i32.const 0 i32.const 1056 - i32.const 1235 + i32.const 1231 i32.const 1 call $~lib/builtins/abort unreachable @@ -24928,7 +24148,7 @@ if i32.const 0 i32.const 1056 - i32.const 1236 + i32.const 1232 i32.const 1 call $~lib/builtins/abort unreachable @@ -24941,7 +24161,7 @@ if i32.const 0 i32.const 1056 - i32.const 1237 + i32.const 1233 i32.const 1 call $~lib/builtins/abort unreachable @@ -24954,7 +24174,7 @@ if i32.const 0 i32.const 1056 - i32.const 1238 + i32.const 1234 i32.const 1 call $~lib/builtins/abort unreachable @@ -24967,7 +24187,7 @@ if i32.const 0 i32.const 1056 - i32.const 1239 + i32.const 1235 i32.const 1 call $~lib/builtins/abort unreachable @@ -24980,7 +24200,7 @@ if i32.const 0 i32.const 1056 - i32.const 1240 + i32.const 1236 i32.const 1 call $~lib/builtins/abort unreachable @@ -24993,7 +24213,7 @@ if i32.const 0 i32.const 1056 - i32.const 1241 + i32.const 1237 i32.const 1 call $~lib/builtins/abort unreachable @@ -25006,7 +24226,7 @@ if i32.const 0 i32.const 1056 - i32.const 1242 + i32.const 1238 i32.const 1 call $~lib/builtins/abort unreachable @@ -25019,7 +24239,7 @@ if i32.const 0 i32.const 1056 - i32.const 1243 + i32.const 1239 i32.const 1 call $~lib/builtins/abort unreachable @@ -25032,7 +24252,7 @@ if i32.const 0 i32.const 1056 - i32.const 1246 + i32.const 1242 i32.const 1 call $~lib/builtins/abort unreachable @@ -25045,7 +24265,7 @@ if i32.const 0 i32.const 1056 - i32.const 1247 + i32.const 1243 i32.const 1 call $~lib/builtins/abort unreachable @@ -25058,7 +24278,7 @@ if i32.const 0 i32.const 1056 - i32.const 1248 + i32.const 1244 i32.const 1 call $~lib/builtins/abort unreachable @@ -25071,7 +24291,7 @@ if i32.const 0 i32.const 1056 - i32.const 1249 + i32.const 1245 i32.const 1 call $~lib/builtins/abort unreachable @@ -25084,7 +24304,7 @@ if i32.const 0 i32.const 1056 - i32.const 1250 + i32.const 1246 i32.const 1 call $~lib/builtins/abort unreachable @@ -25097,7 +24317,7 @@ if i32.const 0 i32.const 1056 - i32.const 1259 + i32.const 1255 i32.const 1 call $~lib/builtins/abort unreachable @@ -25110,7 +24330,7 @@ if i32.const 0 i32.const 1056 - i32.const 1260 + i32.const 1256 i32.const 1 call $~lib/builtins/abort unreachable @@ -25123,7 +24343,7 @@ if i32.const 0 i32.const 1056 - i32.const 1261 + i32.const 1257 i32.const 1 call $~lib/builtins/abort unreachable @@ -25136,7 +24356,7 @@ if i32.const 0 i32.const 1056 - i32.const 1262 + i32.const 1258 i32.const 1 call $~lib/builtins/abort unreachable @@ -25149,7 +24369,7 @@ if i32.const 0 i32.const 1056 - i32.const 1263 + i32.const 1259 i32.const 1 call $~lib/builtins/abort unreachable @@ -25162,7 +24382,7 @@ if i32.const 0 i32.const 1056 - i32.const 1264 + i32.const 1260 i32.const 1 call $~lib/builtins/abort unreachable @@ -25175,7 +24395,7 @@ if i32.const 0 i32.const 1056 - i32.const 1265 + i32.const 1261 i32.const 1 call $~lib/builtins/abort unreachable @@ -25188,7 +24408,7 @@ if i32.const 0 i32.const 1056 - i32.const 1266 + i32.const 1262 i32.const 1 call $~lib/builtins/abort unreachable @@ -25201,7 +24421,7 @@ if i32.const 0 i32.const 1056 - i32.const 1267 + i32.const 1263 i32.const 1 call $~lib/builtins/abort unreachable @@ -25214,7 +24434,7 @@ if i32.const 0 i32.const 1056 - i32.const 1268 + i32.const 1264 i32.const 1 call $~lib/builtins/abort unreachable @@ -25227,7 +24447,7 @@ if i32.const 0 i32.const 1056 - i32.const 1271 + i32.const 1267 i32.const 1 call $~lib/builtins/abort unreachable @@ -25240,7 +24460,7 @@ if i32.const 0 i32.const 1056 - i32.const 1272 + i32.const 1268 i32.const 1 call $~lib/builtins/abort unreachable @@ -25253,7 +24473,7 @@ if i32.const 0 i32.const 1056 - i32.const 1273 + i32.const 1269 i32.const 1 call $~lib/builtins/abort unreachable @@ -25266,7 +24486,7 @@ if i32.const 0 i32.const 1056 - i32.const 1274 + i32.const 1270 i32.const 1 call $~lib/builtins/abort unreachable @@ -25279,13 +24499,13 @@ if i32.const 0 i32.const 1056 - i32.const 1275 + i32.const 1271 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 3.137706068161745e-04 f64.const -0.2599197328090668 call $std/math/check @@ -25302,13 +24522,13 @@ if i32.const 0 i32.const 1056 - i32.const 1287 + i32.const 1283 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 77.11053017112141 f64.const -0.02792675793170929 call $std/math/check @@ -25325,13 +24545,13 @@ if i32.const 0 i32.const 1056 - i32.const 1288 + i32.const 1284 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.290813384916323e-04 f64.const -0.24974334239959717 call $std/math/check @@ -25348,13 +24568,13 @@ if i32.const 0 i32.const 1056 - i32.const 1289 + i32.const 1285 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1.4565661260931588e-03 f64.const -0.4816822409629822 call $std/math/check @@ -25371,13 +24591,13 @@ if i32.const 0 i32.const 1056 - i32.const 1290 + i32.const 1286 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 10583.558245524993 f64.const 0.17696762084960938 call $std/math/check @@ -25394,13 +24614,13 @@ if i32.const 0 i32.const 1056 - i32.const 1291 + i32.const 1287 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1.9386384525571998 f64.const -0.4964246451854706 call $std/math/check @@ -25417,13 +24637,13 @@ if i32.const 0 i32.const 1056 - i32.const 1292 + i32.const 1288 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0.6659078892838025 f64.const -0.10608318448066711 call $std/math/check @@ -25440,13 +24660,13 @@ if i32.const 0 i32.const 1056 - i32.const 1293 + i32.const 1289 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1.7537559518626311 f64.const -0.39162111282348633 call $std/math/check @@ -25463,13 +24683,13 @@ if i32.const 0 i32.const 1056 - i32.const 1294 + i32.const 1290 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.1687528885129246 f64.const -0.2996125817298889 call $std/math/check @@ -25486,13 +24706,13 @@ if i32.const 0 i32.const 1056 - i32.const 1295 + i32.const 1291 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0.5072437089402843 f64.const 0.47261738777160645 call $std/math/check @@ -25509,13 +24729,13 @@ if i32.const 0 i32.const 1056 - i32.const 1296 + i32.const 1292 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1 f64.const 0 call $std/math/check @@ -25532,13 +24752,13 @@ if i32.const 0 i32.const 1056 - i32.const 1299 + i32.const 1295 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1 f64.const 0 call $std/math/check @@ -25555,13 +24775,13 @@ if i32.const 0 i32.const 1056 - i32.const 1300 + i32.const 1296 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.718281828459045 f64.const -0.3255307376384735 call $std/math/check @@ -25578,13 +24798,13 @@ if i32.const 0 i32.const 1056 - i32.const 1301 + i32.const 1297 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0.36787944117144233 f64.const 0.22389651834964752 call $std/math/check @@ -25601,13 +24821,13 @@ if i32.const 0 i32.const 1056 - i32.const 1302 + i32.const 1298 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const inf f64.const 0 call $std/math/check @@ -25624,13 +24844,13 @@ if i32.const 0 i32.const 1056 - i32.const 1303 + i32.const 1299 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0 f64.const 0 call $std/math/check @@ -25647,13 +24867,13 @@ if i32.const 0 i32.const 1056 - i32.const 1304 + i32.const 1300 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -25670,13 +24890,13 @@ if i32.const 0 i32.const 1056 - i32.const 1305 + i32.const 1301 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.0397214889526365 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.828429155876411 f64.const 0.18803080916404724 call $std/math/check @@ -25693,13 +24913,13 @@ if i32.const 0 i32.const 1056 - i32.const 1306 + i32.const 1302 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.0397214889526365 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0.35355313670217847 f64.const 0.2527272403240204 call $std/math/check @@ -25716,13 +24936,13 @@ if i32.const 0 i32.const 1056 - i32.const 1307 + i32.const 1303 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.0397210121154785 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.8284278071766122 f64.const -0.4184139370918274 call $std/math/check @@ -25739,13 +24959,13 @@ if i32.const 0 i32.const 1056 - i32.const 1308 + i32.const 1304 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.0397214889526367 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.8284291558764116 f64.const -0.22618377208709717 call $std/math/check @@ -25762,13 +24982,13 @@ if i32.const 0 i32.const 1056 - i32.const 1309 + i32.const 1305 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1 f64.const 0 call $std/math/check @@ -25785,13 +25005,13 @@ if i32.const 0 i32.const 1056 - i32.const 1312 + i32.const 1308 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5e-324 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1 f64.const 0 call $std/math/check @@ -25808,13 +25028,13 @@ if i32.const 0 i32.const 1056 - i32.const 1313 + i32.const 1309 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 709.782712893384 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1797693134862273196746681e284 f64.const -0.10568465292453766 call $std/math/check @@ -25831,13 +25051,13 @@ if i32.const 0 i32.const 1056 - i32.const 1315 + i32.const 1311 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 709.7827128933841 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const inf f64.const 0 call $std/math/check @@ -25854,13 +25074,13 @@ if i32.const 0 i32.const 1056 - i32.const 1322 + i32.const 1318 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -745.1332191019411 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 5e-324 f64.const 0.5 call $std/math/check @@ -25877,13 +25097,13 @@ if i32.const 0 i32.const 1056 - i32.const 1323 + i32.const 1319 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -745.1332191019412 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0 f64.const -0.5 call $std/math/check @@ -25900,13 +25120,13 @@ if i32.const 0 i32.const 1056 - i32.const 1330 + i32.const 1326 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -708.3964185322641 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.2250738585072626e-308 f64.const 0.26172348856925964 call $std/math/check @@ -25923,13 +25143,13 @@ if i32.const 0 i32.const 1056 - i32.const 1337 + i32.const 1333 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -708.3964185322642 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.2250738585070097e-308 f64.const 2.2250738585070097e-308 call $std/math/check @@ -25946,13 +25166,13 @@ if i32.const 0 i32.const 1056 - i32.const 1344 + i32.const 1340 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5006933289508785 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1.6498647732549399 f64.const 0.5 call $std/math/check @@ -25969,13 +25189,13 @@ if i32.const 0 i32.const 1056 - i32.const 1351 + i32.const 1347 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.628493326460252 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1.8747837631658781 f64.const 0.5 call $std/math/check @@ -25992,13 +25212,13 @@ if i32.const 0 i32.const 1056 - i32.const 1358 + i32.const 1354 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.837522455340574 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.3106351774748006 f64.const -0.5 call $std/math/check @@ -26015,13 +25235,13 @@ if i32.const 0 i32.const 1056 - i32.const 1365 + i32.const 1361 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.8504909932810999 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 2.3407958848710777 f64.const 0.5 call $std/math/check @@ -26038,13 +25258,13 @@ if i32.const 0 i32.const 1056 - i32.const 1371 + i32.const 1367 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.6270060846924657 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 5.088617001442459 f64.const 0.5 call $std/math/check @@ -26061,13 +25281,13 @@ if i32.const 0 i32.const 1056 - i32.const 1377 + i32.const 1373 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.6744336219614115 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 5.335772228886831 f64.const 0.5 call $std/math/check @@ -26084,13 +25304,13 @@ if i32.const 0 i32.const 1056 - i32.const 1383 + i32.const 1379 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 6.657914718791208 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 778.924964819056 f64.const 0.5 call $std/math/check @@ -26107,13 +25327,13 @@ if i32.const 0 i32.const 1056 - i32.const 1390 + i32.const 1386 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 11.022872793631722 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 61259.41271820104 f64.const 0.5 call $std/math/check @@ -26130,13 +25350,13 @@ if i32.const 0 i32.const 1056 - i32.const 1397 + i32.const 1393 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 11.411195701885317 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 90327.36165653409 f64.const 0.5 call $std/math/check @@ -26153,13 +25373,13 @@ if i32.const 0 i32.const 1056 - i32.const 1404 + i32.const 1400 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 11.794490387560606 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 132520.20290772576 f64.const 0.5 call $std/math/check @@ -26176,13 +25396,13 @@ if i32.const 0 i32.const 1056 - i32.const 1411 + i32.const 1407 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 412.83872756953286 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 1965989977109266413433084e155 f64.const 0.5 call $std/math/check @@ -26199,13 +25419,13 @@ if i32.const 0 i32.const 1056 - i32.const 1418 + i32.const 1414 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 510.87569028483415 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 7421526272656495968225491e197 f64.const -0.5 call $std/math/check @@ -26222,13 +25442,13 @@ if i32.const 0 i32.const 1056 - i32.const 1425 + i32.const 1421 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.6589841439772853e-14 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0.9999999999999735 f64.const 0.5 call $std/math/check @@ -26245,13 +25465,13 @@ if i32.const 0 i32.const 1056 - i32.const 1432 + i32.const 1428 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.7144952952085447e-14 - call $~lib/math/NativeMath.exp + call $~lib/util/math/exp64 f64.const 0.9999999999999728 f64.const -0.5 call $std/math/check @@ -26268,13 +25488,13 @@ if i32.const 0 i32.const 1056 - i32.const 1439 + i32.const 1435 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 3.1377049162983894e-04 f32.const -0.030193336308002472 call $std/math/check @@ -26282,13 +25502,13 @@ if i32.const 0 i32.const 1056 - i32.const 1453 + i32.const 1449 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 77.11051177978516 f32.const -0.2875460684299469 call $std/math/check @@ -26296,13 +25516,13 @@ if i32.const 0 i32.const 1056 - i32.const 1454 + i32.const 1450 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 2.2908132814336568e-04 f32.const 0.2237040400505066 call $std/math/check @@ -26310,13 +25530,13 @@ if i32.const 0 i32.const 1056 - i32.const 1455 + i32.const 1451 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1.4565663877874613e-03 f32.const 0.36469703912734985 call $std/math/check @@ -26324,13 +25544,13 @@ if i32.const 0 i32.const 1056 - i32.const 1456 + i32.const 1452 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 10583.5634765625 f32.const 0.45962104201316833 call $std/math/check @@ -26338,13 +25558,13 @@ if i32.const 0 i32.const 1056 - i32.const 1457 + i32.const 1453 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1.93863844871521 f32.const 0.3568260967731476 call $std/math/check @@ -26352,13 +25572,13 @@ if i32.const 0 i32.const 1056 - i32.const 1458 + i32.const 1454 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 0.6659078598022461 f32.const -0.38294991850852966 call $std/math/check @@ -26366,13 +25586,13 @@ if i32.const 0 i32.const 1056 - i32.const 1459 + i32.const 1455 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1.753756046295166 f32.const 0.44355490803718567 call $std/math/check @@ -26380,13 +25600,13 @@ if i32.const 0 i32.const 1056 - i32.const 1460 + i32.const 1456 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 2.168752908706665 f32.const 0.24562469124794006 call $std/math/check @@ -26394,13 +25614,13 @@ if i32.const 0 i32.const 1056 - i32.const 1461 + i32.const 1457 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 0.5072436928749084 f32.const -0.3974292278289795 call $std/math/check @@ -26408,13 +25628,13 @@ if i32.const 0 i32.const 1056 - i32.const 1462 + i32.const 1458 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1 f32.const 0 call $std/math/check @@ -26422,13 +25642,13 @@ if i32.const 0 i32.const 1056 - i32.const 1465 + i32.const 1461 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1 f32.const 0 call $std/math/check @@ -26436,13 +25656,13 @@ if i32.const 0 i32.const 1056 - i32.const 1466 + i32.const 1462 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 2.7182817459106445 f32.const -0.3462330996990204 call $std/math/check @@ -26450,13 +25670,13 @@ if i32.const 0 i32.const 1056 - i32.const 1467 + i32.const 1463 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 0.3678794503211975 f32.const 0.3070148527622223 call $std/math/check @@ -26464,13 +25684,13 @@ if i32.const 0 i32.const 1056 - i32.const 1468 + i32.const 1464 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const inf f32.const 0 call $std/math/check @@ -26478,13 +25698,13 @@ if i32.const 0 i32.const 1056 - i32.const 1469 + i32.const 1465 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 0 f32.const 0 call $std/math/check @@ -26492,13 +25712,13 @@ if i32.const 0 i32.const 1056 - i32.const 1470 + i32.const 1466 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -26506,13 +25726,13 @@ if i32.const 0 i32.const 1056 - i32.const 1471 + i32.const 1467 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 88.72283172607422 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 340279851902147610656242e15 f32.const -0.09067153930664062 call $std/math/check @@ -26520,13 +25740,13 @@ if i32.const 0 i32.const 1056 - i32.const 1472 + i32.const 1468 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 88.72283935546875 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const inf f32.const 0 call $std/math/check @@ -26534,13 +25754,13 @@ if i32.const 0 i32.const 1056 - i32.const 1473 + i32.const 1469 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -103.97207641601562 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1.401298464324817e-45 f32.const 0.49999967217445374 call $std/math/check @@ -26548,13 +25768,13 @@ if i32.const 0 i32.const 1056 - i32.const 1474 + i32.const 1470 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -103.97208404541016 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 0 f32.const -0.49999651312828064 call $std/math/check @@ -26562,13 +25782,13 @@ if i32.const 0 i32.const 1056 - i32.const 1475 + i32.const 1471 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.3465735614299774 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1.4142135381698608 f32.const 0.13922421634197235 call $std/math/check @@ -26576,13 +25796,13 @@ if i32.const 0 i32.const 1056 - i32.const 1476 + i32.const 1472 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.3465735912322998 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1.4142135381698608 f32.const -0.21432916820049286 call $std/math/check @@ -26590,13 +25810,13 @@ if i32.const 0 i32.const 1056 - i32.const 1477 + i32.const 1473 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.3465736210346222 - call $~lib/math/NativeMathf.exp + call $~lib/util/math/exp32 f32.const 1.4142136573791504 f32.const 0.43211743235588074 call $std/math/check @@ -26604,13 +25824,13 @@ if i32.const 0 i32.const 1056 - i32.const 1478 + i32.const 1474 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -0.9996862293931839 f64.const -0.2760058343410492 call $std/math/check @@ -26627,13 +25847,13 @@ if i32.const 0 i32.const 1056 - i32.const 1490 + i32.const 1486 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 76.11053017112141 f64.const -0.02792675793170929 call $std/math/check @@ -26650,13 +25870,13 @@ if i32.const 0 i32.const 1056 - i32.const 1491 + i32.const 1487 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -0.9997709186615084 f64.const 0.10052496194839478 call $std/math/check @@ -26673,13 +25893,13 @@ if i32.const 0 i32.const 1056 - i32.const 1492 + i32.const 1488 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -0.9985434338739069 f64.const -0.27437829971313477 call $std/math/check @@ -26696,13 +25916,13 @@ if i32.const 0 i32.const 1056 - i32.const 1493 + i32.const 1489 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 10582.558245524993 f64.const 0.17696762084960938 call $std/math/check @@ -26719,13 +25939,13 @@ if i32.const 0 i32.const 1056 - i32.const 1494 + i32.const 1490 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 0.9386384525571999 f64.const 0.007150684483349323 call $std/math/check @@ -26742,13 +25962,13 @@ if i32.const 0 i32.const 1056 - i32.const 1495 + i32.const 1491 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -0.3340921107161975 f64.const -0.21216636896133423 call $std/math/check @@ -26765,13 +25985,13 @@ if i32.const 0 i32.const 1056 - i32.const 1496 + i32.const 1492 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 0.7537559518626312 f64.const 0.21675777435302734 call $std/math/check @@ -26788,13 +26008,13 @@ if i32.const 0 i32.const 1056 - i32.const 1497 + i32.const 1493 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 1.1687528885129248 f64.const 0.4007748067378998 call $std/math/check @@ -26811,13 +26031,13 @@ if i32.const 0 i32.const 1056 - i32.const 1498 + i32.const 1494 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -0.4927562910597158 f64.const -0.05476519837975502 call $std/math/check @@ -26834,13 +26054,13 @@ if i32.const 0 i32.const 1056 - i32.const 1499 + i32.const 1495 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 0 f64.const 0 call $std/math/check @@ -26857,13 +26077,13 @@ if i32.const 0 i32.const 1056 - i32.const 1502 + i32.const 1498 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -0 f64.const 0 call $std/math/check @@ -26880,13 +26100,13 @@ if i32.const 0 i32.const 1056 - i32.const 1503 + i32.const 1499 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 1.7182818284590453 f64.const 0.348938524723053 call $std/math/check @@ -26903,13 +26123,13 @@ if i32.const 0 i32.const 1056 - i32.const 1504 + i32.const 1500 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -0.6321205588285577 f64.const 0.11194825917482376 call $std/math/check @@ -26926,13 +26146,13 @@ if i32.const 0 i32.const 1056 - i32.const 1505 + i32.const 1501 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const inf f64.const 0 call $std/math/check @@ -26949,13 +26169,13 @@ if i32.const 0 i32.const 1056 - i32.const 1506 + i32.const 1502 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -1 f64.const 0 call $std/math/check @@ -26972,13 +26192,13 @@ if i32.const 0 i32.const 1056 - i32.const 1507 + i32.const 1503 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -26995,13 +26215,13 @@ if i32.const 0 i32.const 1056 - i32.const 1508 + i32.const 1504 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.225073858507201e-308 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const 2.225073858507201e-308 f64.const 0 call $std/math/check @@ -27018,13 +26238,13 @@ if i32.const 0 i32.const 1056 - i32.const 1509 + i32.const 1505 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.225073858507201e-308 - call $~lib/math/NativeMath.expm1 + call $~lib/util/math/expm1_64 f64.const -2.225073858507201e-308 f64.const 0 call $std/math/check @@ -27041,13 +26261,13 @@ if i32.const 0 i32.const 1056 - i32.const 1510 + i32.const 1506 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -0.9996862411499023 f32.const -0.19532723724842072 call $std/math/check @@ -27055,13 +26275,13 @@ if i32.const 0 i32.const 1056 - i32.const 1519 + i32.const 1515 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 76.11051177978516 f32.const -0.2875460684299469 call $std/math/check @@ -27069,13 +26289,13 @@ if i32.const 0 i32.const 1056 - i32.const 1520 + i32.const 1516 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -0.9997709393501282 f32.const -0.34686920046806335 call $std/math/check @@ -27083,13 +26303,13 @@ if i32.const 0 i32.const 1056 - i32.const 1521 + i32.const 1517 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -0.9985434412956238 f32.const -0.1281939446926117 call $std/math/check @@ -27097,13 +26317,13 @@ if i32.const 0 i32.const 1056 - i32.const 1522 + i32.const 1518 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 10582.5634765625 f32.const 0.45962104201316833 call $std/math/check @@ -27111,13 +26331,13 @@ if i32.const 0 i32.const 1056 - i32.const 1523 + i32.const 1519 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 0.9386383891105652 f32.const -0.28634780645370483 call $std/math/check @@ -27125,13 +26345,13 @@ if i32.const 0 i32.const 1056 - i32.const 1524 + i32.const 1520 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -0.3340921103954315 f32.const 0.23410017788410187 call $std/math/check @@ -27139,13 +26359,13 @@ if i32.const 0 i32.const 1056 - i32.const 1525 + i32.const 1521 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 0.7537559866905212 f32.const -0.11289017647504807 call $std/math/check @@ -27153,13 +26373,13 @@ if i32.const 0 i32.const 1056 - i32.const 1526 + i32.const 1522 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 1.168752908706665 f32.const 0.4912493824958801 call $std/math/check @@ -27167,13 +26387,13 @@ if i32.const 0 i32.const 1056 - i32.const 1527 + i32.const 1523 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -0.49275627732276917 f32.const 0.20514154434204102 call $std/math/check @@ -27181,13 +26401,13 @@ if i32.const 0 i32.const 1056 - i32.const 1528 + i32.const 1524 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 0 f32.const 0 call $std/math/check @@ -27195,13 +26415,13 @@ if i32.const 0 i32.const 1056 - i32.const 1531 + i32.const 1527 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -0 f32.const 0 call $std/math/check @@ -27209,13 +26429,13 @@ if i32.const 0 i32.const 1056 - i32.const 1532 + i32.const 1528 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const 1.718281865119934 f32.const 0.3075338304042816 call $std/math/check @@ -27223,13 +26443,13 @@ if i32.const 0 i32.const 1056 - i32.const 1533 + i32.const 1529 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -0.6321205496788025 f32.const 0.15350742638111115 call $std/math/check @@ -27237,13 +26457,13 @@ if i32.const 0 i32.const 1056 - i32.const 1534 + i32.const 1530 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const inf f32.const 0 call $std/math/check @@ -27251,13 +26471,13 @@ if i32.const 0 i32.const 1056 - i32.const 1535 + i32.const 1531 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const -1 f32.const 0 call $std/math/check @@ -27265,13 +26485,13 @@ if i32.const 0 i32.const 1056 - i32.const 1536 + i32.const 1532 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.expm1 + call $~lib/util/math/expm1_32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -27279,7 +26499,7 @@ if i32.const 0 i32.const 1056 - i32.const 1537 + i32.const 1533 i32.const 1 call $~lib/builtins/abort unreachable @@ -27292,7 +26512,7 @@ if i32.const 0 i32.const 1056 - i32.const 1549 + i32.const 1545 i32.const 1 call $~lib/builtins/abort unreachable @@ -27305,7 +26525,7 @@ if i32.const 0 i32.const 1056 - i32.const 1550 + i32.const 1546 i32.const 1 call $~lib/builtins/abort unreachable @@ -27318,7 +26538,7 @@ if i32.const 0 i32.const 1056 - i32.const 1551 + i32.const 1547 i32.const 1 call $~lib/builtins/abort unreachable @@ -27331,7 +26551,7 @@ if i32.const 0 i32.const 1056 - i32.const 1552 + i32.const 1548 i32.const 1 call $~lib/builtins/abort unreachable @@ -27344,7 +26564,7 @@ if i32.const 0 i32.const 1056 - i32.const 1553 + i32.const 1549 i32.const 1 call $~lib/builtins/abort unreachable @@ -27357,7 +26577,7 @@ if i32.const 0 i32.const 1056 - i32.const 1554 + i32.const 1550 i32.const 1 call $~lib/builtins/abort unreachable @@ -27370,7 +26590,7 @@ if i32.const 0 i32.const 1056 - i32.const 1555 + i32.const 1551 i32.const 1 call $~lib/builtins/abort unreachable @@ -27383,7 +26603,7 @@ if i32.const 0 i32.const 1056 - i32.const 1556 + i32.const 1552 i32.const 1 call $~lib/builtins/abort unreachable @@ -27396,7 +26616,7 @@ if i32.const 0 i32.const 1056 - i32.const 1557 + i32.const 1553 i32.const 1 call $~lib/builtins/abort unreachable @@ -27409,7 +26629,7 @@ if i32.const 0 i32.const 1056 - i32.const 1558 + i32.const 1554 i32.const 1 call $~lib/builtins/abort unreachable @@ -27422,7 +26642,7 @@ if i32.const 0 i32.const 1056 - i32.const 1561 + i32.const 1557 i32.const 1 call $~lib/builtins/abort unreachable @@ -27435,7 +26655,7 @@ if i32.const 0 i32.const 1056 - i32.const 1562 + i32.const 1558 i32.const 1 call $~lib/builtins/abort unreachable @@ -27448,7 +26668,7 @@ if i32.const 0 i32.const 1056 - i32.const 1563 + i32.const 1559 i32.const 1 call $~lib/builtins/abort unreachable @@ -27461,7 +26681,7 @@ if i32.const 0 i32.const 1056 - i32.const 1564 + i32.const 1560 i32.const 1 call $~lib/builtins/abort unreachable @@ -27474,7 +26694,7 @@ if i32.const 0 i32.const 1056 - i32.const 1565 + i32.const 1561 i32.const 1 call $~lib/builtins/abort unreachable @@ -27487,7 +26707,7 @@ if i32.const 0 i32.const 1056 - i32.const 1566 + i32.const 1562 i32.const 1 call $~lib/builtins/abort unreachable @@ -27500,7 +26720,7 @@ if i32.const 0 i32.const 1056 - i32.const 1567 + i32.const 1563 i32.const 1 call $~lib/builtins/abort unreachable @@ -27513,7 +26733,7 @@ if i32.const 0 i32.const 1056 - i32.const 1568 + i32.const 1564 i32.const 1 call $~lib/builtins/abort unreachable @@ -27526,7 +26746,7 @@ if i32.const 0 i32.const 1056 - i32.const 1569 + i32.const 1565 i32.const 1 call $~lib/builtins/abort unreachable @@ -27539,7 +26759,7 @@ if i32.const 0 i32.const 1056 - i32.const 1570 + i32.const 1566 i32.const 1 call $~lib/builtins/abort unreachable @@ -27552,7 +26772,7 @@ if i32.const 0 i32.const 1056 - i32.const 1571 + i32.const 1567 i32.const 1 call $~lib/builtins/abort unreachable @@ -27565,7 +26785,7 @@ if i32.const 0 i32.const 1056 - i32.const 1572 + i32.const 1568 i32.const 1 call $~lib/builtins/abort unreachable @@ -27578,7 +26798,7 @@ if i32.const 0 i32.const 1056 - i32.const 1573 + i32.const 1569 i32.const 1 call $~lib/builtins/abort unreachable @@ -27591,7 +26811,7 @@ if i32.const 0 i32.const 1056 - i32.const 1574 + i32.const 1570 i32.const 1 call $~lib/builtins/abort unreachable @@ -27604,7 +26824,7 @@ if i32.const 0 i32.const 1056 - i32.const 1575 + i32.const 1571 i32.const 1 call $~lib/builtins/abort unreachable @@ -27617,7 +26837,7 @@ if i32.const 0 i32.const 1056 - i32.const 1576 + i32.const 1572 i32.const 1 call $~lib/builtins/abort unreachable @@ -27630,7 +26850,7 @@ if i32.const 0 i32.const 1056 - i32.const 1577 + i32.const 1573 i32.const 1 call $~lib/builtins/abort unreachable @@ -27643,7 +26863,7 @@ if i32.const 0 i32.const 1056 - i32.const 1578 + i32.const 1574 i32.const 1 call $~lib/builtins/abort unreachable @@ -27656,7 +26876,7 @@ if i32.const 0 i32.const 1056 - i32.const 1579 + i32.const 1575 i32.const 1 call $~lib/builtins/abort unreachable @@ -27669,7 +26889,7 @@ if i32.const 0 i32.const 1056 - i32.const 1580 + i32.const 1576 i32.const 1 call $~lib/builtins/abort unreachable @@ -27682,7 +26902,7 @@ if i32.const 0 i32.const 1056 - i32.const 1581 + i32.const 1577 i32.const 1 call $~lib/builtins/abort unreachable @@ -27695,7 +26915,7 @@ if i32.const 0 i32.const 1056 - i32.const 1582 + i32.const 1578 i32.const 1 call $~lib/builtins/abort unreachable @@ -27708,7 +26928,7 @@ if i32.const 0 i32.const 1056 - i32.const 1583 + i32.const 1579 i32.const 1 call $~lib/builtins/abort unreachable @@ -27721,7 +26941,7 @@ if i32.const 0 i32.const 1056 - i32.const 1584 + i32.const 1580 i32.const 1 call $~lib/builtins/abort unreachable @@ -27734,7 +26954,7 @@ if i32.const 0 i32.const 1056 - i32.const 1585 + i32.const 1581 i32.const 1 call $~lib/builtins/abort unreachable @@ -27747,7 +26967,7 @@ if i32.const 0 i32.const 1056 - i32.const 1596 + i32.const 1592 i32.const 1 call $~lib/builtins/abort unreachable @@ -27760,7 +26980,7 @@ if i32.const 0 i32.const 1056 - i32.const 1597 + i32.const 1593 i32.const 1 call $~lib/builtins/abort unreachable @@ -27773,7 +26993,7 @@ if i32.const 0 i32.const 1056 - i32.const 1598 + i32.const 1594 i32.const 1 call $~lib/builtins/abort unreachable @@ -27786,7 +27006,7 @@ if i32.const 0 i32.const 1056 - i32.const 1599 + i32.const 1595 i32.const 1 call $~lib/builtins/abort unreachable @@ -27799,7 +27019,7 @@ if i32.const 0 i32.const 1056 - i32.const 1600 + i32.const 1596 i32.const 1 call $~lib/builtins/abort unreachable @@ -27812,7 +27032,7 @@ if i32.const 0 i32.const 1056 - i32.const 1601 + i32.const 1597 i32.const 1 call $~lib/builtins/abort unreachable @@ -27825,7 +27045,7 @@ if i32.const 0 i32.const 1056 - i32.const 1602 + i32.const 1598 i32.const 1 call $~lib/builtins/abort unreachable @@ -27838,7 +27058,7 @@ if i32.const 0 i32.const 1056 - i32.const 1603 + i32.const 1599 i32.const 1 call $~lib/builtins/abort unreachable @@ -27851,7 +27071,7 @@ if i32.const 0 i32.const 1056 - i32.const 1604 + i32.const 1600 i32.const 1 call $~lib/builtins/abort unreachable @@ -27864,7 +27084,7 @@ if i32.const 0 i32.const 1056 - i32.const 1605 + i32.const 1601 i32.const 1 call $~lib/builtins/abort unreachable @@ -27886,7 +27106,7 @@ if i32.const 0 i32.const 1056 - i32.const 1617 + i32.const 1613 i32.const 1 call $~lib/builtins/abort unreachable @@ -27908,7 +27128,7 @@ if i32.const 0 i32.const 1056 - i32.const 1618 + i32.const 1614 i32.const 1 call $~lib/builtins/abort unreachable @@ -27930,7 +27150,7 @@ if i32.const 0 i32.const 1056 - i32.const 1619 + i32.const 1615 i32.const 1 call $~lib/builtins/abort unreachable @@ -27952,7 +27172,7 @@ if i32.const 0 i32.const 1056 - i32.const 1620 + i32.const 1616 i32.const 1 call $~lib/builtins/abort unreachable @@ -27974,7 +27194,7 @@ if i32.const 0 i32.const 1056 - i32.const 1621 + i32.const 1617 i32.const 1 call $~lib/builtins/abort unreachable @@ -27996,7 +27216,7 @@ if i32.const 0 i32.const 1056 - i32.const 1622 + i32.const 1618 i32.const 1 call $~lib/builtins/abort unreachable @@ -28018,7 +27238,7 @@ if i32.const 0 i32.const 1056 - i32.const 1623 + i32.const 1619 i32.const 1 call $~lib/builtins/abort unreachable @@ -28040,7 +27260,7 @@ if i32.const 0 i32.const 1056 - i32.const 1624 + i32.const 1620 i32.const 1 call $~lib/builtins/abort unreachable @@ -28062,7 +27282,7 @@ if i32.const 0 i32.const 1056 - i32.const 1625 + i32.const 1621 i32.const 1 call $~lib/builtins/abort unreachable @@ -28084,7 +27304,7 @@ if i32.const 0 i32.const 1056 - i32.const 1626 + i32.const 1622 i32.const 1 call $~lib/builtins/abort unreachable @@ -28106,7 +27326,7 @@ if i32.const 0 i32.const 1056 - i32.const 1629 + i32.const 1625 i32.const 1 call $~lib/builtins/abort unreachable @@ -28128,7 +27348,7 @@ if i32.const 0 i32.const 1056 - i32.const 1630 + i32.const 1626 i32.const 1 call $~lib/builtins/abort unreachable @@ -28150,7 +27370,7 @@ if i32.const 0 i32.const 1056 - i32.const 1631 + i32.const 1627 i32.const 1 call $~lib/builtins/abort unreachable @@ -28172,7 +27392,7 @@ if i32.const 0 i32.const 1056 - i32.const 1632 + i32.const 1628 i32.const 1 call $~lib/builtins/abort unreachable @@ -28194,7 +27414,7 @@ if i32.const 0 i32.const 1056 - i32.const 1633 + i32.const 1629 i32.const 1 call $~lib/builtins/abort unreachable @@ -28216,7 +27436,7 @@ if i32.const 0 i32.const 1056 - i32.const 1634 + i32.const 1630 i32.const 1 call $~lib/builtins/abort unreachable @@ -28238,7 +27458,7 @@ if i32.const 0 i32.const 1056 - i32.const 1635 + i32.const 1631 i32.const 1 call $~lib/builtins/abort unreachable @@ -28260,7 +27480,7 @@ if i32.const 0 i32.const 1056 - i32.const 1636 + i32.const 1632 i32.const 1 call $~lib/builtins/abort unreachable @@ -28282,7 +27502,7 @@ if i32.const 0 i32.const 1056 - i32.const 1637 + i32.const 1633 i32.const 1 call $~lib/builtins/abort unreachable @@ -28304,7 +27524,7 @@ if i32.const 0 i32.const 1056 - i32.const 1638 + i32.const 1634 i32.const 1 call $~lib/builtins/abort unreachable @@ -28326,7 +27546,7 @@ if i32.const 0 i32.const 1056 - i32.const 1639 + i32.const 1635 i32.const 1 call $~lib/builtins/abort unreachable @@ -28348,7 +27568,7 @@ if i32.const 0 i32.const 1056 - i32.const 1640 + i32.const 1636 i32.const 1 call $~lib/builtins/abort unreachable @@ -28370,7 +27590,7 @@ if i32.const 0 i32.const 1056 - i32.const 1641 + i32.const 1637 i32.const 1 call $~lib/builtins/abort unreachable @@ -28392,7 +27612,7 @@ if i32.const 0 i32.const 1056 - i32.const 1642 + i32.const 1638 i32.const 1 call $~lib/builtins/abort unreachable @@ -28414,7 +27634,7 @@ if i32.const 0 i32.const 1056 - i32.const 1643 + i32.const 1639 i32.const 1 call $~lib/builtins/abort unreachable @@ -28427,7 +27647,7 @@ if i32.const 0 i32.const 1056 - i32.const 1652 + i32.const 1648 i32.const 1 call $~lib/builtins/abort unreachable @@ -28440,7 +27660,7 @@ if i32.const 0 i32.const 1056 - i32.const 1653 + i32.const 1649 i32.const 1 call $~lib/builtins/abort unreachable @@ -28453,7 +27673,7 @@ if i32.const 0 i32.const 1056 - i32.const 1654 + i32.const 1650 i32.const 1 call $~lib/builtins/abort unreachable @@ -28466,7 +27686,7 @@ if i32.const 0 i32.const 1056 - i32.const 1655 + i32.const 1651 i32.const 1 call $~lib/builtins/abort unreachable @@ -28479,7 +27699,7 @@ if i32.const 0 i32.const 1056 - i32.const 1656 + i32.const 1652 i32.const 1 call $~lib/builtins/abort unreachable @@ -28492,7 +27712,7 @@ if i32.const 0 i32.const 1056 - i32.const 1657 + i32.const 1653 i32.const 1 call $~lib/builtins/abort unreachable @@ -28505,7 +27725,7 @@ if i32.const 0 i32.const 1056 - i32.const 1658 + i32.const 1654 i32.const 1 call $~lib/builtins/abort unreachable @@ -28518,7 +27738,7 @@ if i32.const 0 i32.const 1056 - i32.const 1659 + i32.const 1655 i32.const 1 call $~lib/builtins/abort unreachable @@ -28531,7 +27751,7 @@ if i32.const 0 i32.const 1056 - i32.const 1660 + i32.const 1656 i32.const 1 call $~lib/builtins/abort unreachable @@ -28544,7 +27764,7 @@ if i32.const 0 i32.const 1056 - i32.const 1661 + i32.const 1657 i32.const 1 call $~lib/builtins/abort unreachable @@ -28557,7 +27777,7 @@ if i32.const 0 i32.const 1056 - i32.const 1664 + i32.const 1660 i32.const 1 call $~lib/builtins/abort unreachable @@ -28570,7 +27790,7 @@ if i32.const 0 i32.const 1056 - i32.const 1665 + i32.const 1661 i32.const 1 call $~lib/builtins/abort unreachable @@ -28583,7 +27803,7 @@ if i32.const 0 i32.const 1056 - i32.const 1666 + i32.const 1662 i32.const 1 call $~lib/builtins/abort unreachable @@ -28596,7 +27816,7 @@ if i32.const 0 i32.const 1056 - i32.const 1667 + i32.const 1663 i32.const 1 call $~lib/builtins/abort unreachable @@ -28609,7 +27829,7 @@ if i32.const 0 i32.const 1056 - i32.const 1668 + i32.const 1664 i32.const 1 call $~lib/builtins/abort unreachable @@ -28622,7 +27842,33 @@ if i32.const 0 i32.const 1056 - i32.const 1669 + i32.const 1665 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const -1 + f32.const -1 + f32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 1666 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + f32.const 0 + f32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 1667 i32.const 1 call $~lib/builtins/abort unreachable @@ -28632,6 +27878,32 @@ f32.const 0 call $std/math/check i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 1668 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const 1 + f32.const 1 + f32.const 0 + call $std/math/check + i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 1669 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f32.const -2 + f32.const -2 + f32.const 0 + call $std/math/check + i32.eqz if i32.const 0 i32.const 1056 @@ -28666,32 +27938,6 @@ call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 1 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 1673 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -2 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 1674 - i32.const 1 - call $~lib/builtins/abort - unreachable - end f32.const 0 f32.const 0 f32.const 0 @@ -28700,33 +27946,7 @@ if i32.const 0 i32.const 1056 - i32.const 1675 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 1676 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 1677 + i32.const 1673 i32.const 1 call $~lib/builtins/abort unreachable @@ -28739,7 +27959,7 @@ if i32.const 0 i32.const 1056 - i32.const 1678 + i32.const 1674 i32.const 1 call $~lib/builtins/abort unreachable @@ -28753,7 +27973,7 @@ if i32.const 0 i32.const 1056 - i32.const 1692 + i32.const 1688 i32.const 1 call $~lib/builtins/abort unreachable @@ -28767,7 +27987,7 @@ if i32.const 0 i32.const 1056 - i32.const 1693 + i32.const 1689 i32.const 1 call $~lib/builtins/abort unreachable @@ -28781,7 +28001,7 @@ if i32.const 0 i32.const 1056 - i32.const 1694 + i32.const 1690 i32.const 1 call $~lib/builtins/abort unreachable @@ -28795,7 +28015,7 @@ if i32.const 0 i32.const 1056 - i32.const 1695 + i32.const 1691 i32.const 1 call $~lib/builtins/abort unreachable @@ -28809,7 +28029,7 @@ if i32.const 0 i32.const 1056 - i32.const 1696 + i32.const 1692 i32.const 1 call $~lib/builtins/abort unreachable @@ -28823,7 +28043,7 @@ if i32.const 0 i32.const 1056 - i32.const 1697 + i32.const 1693 i32.const 1 call $~lib/builtins/abort unreachable @@ -28837,7 +28057,7 @@ if i32.const 0 i32.const 1056 - i32.const 1698 + i32.const 1694 i32.const 1 call $~lib/builtins/abort unreachable @@ -28851,7 +28071,7 @@ if i32.const 0 i32.const 1056 - i32.const 1699 + i32.const 1695 i32.const 1 call $~lib/builtins/abort unreachable @@ -28865,7 +28085,7 @@ if i32.const 0 i32.const 1056 - i32.const 1700 + i32.const 1696 i32.const 1 call $~lib/builtins/abort unreachable @@ -28879,7 +28099,7 @@ if i32.const 0 i32.const 1056 - i32.const 1701 + i32.const 1697 i32.const 1 call $~lib/builtins/abort unreachable @@ -28893,7 +28113,7 @@ if i32.const 0 i32.const 1056 - i32.const 1704 + i32.const 1700 i32.const 1 call $~lib/builtins/abort unreachable @@ -28907,7 +28127,7 @@ if i32.const 0 i32.const 1056 - i32.const 1705 + i32.const 1701 i32.const 1 call $~lib/builtins/abort unreachable @@ -28921,7 +28141,7 @@ if i32.const 0 i32.const 1056 - i32.const 1706 + i32.const 1702 i32.const 1 call $~lib/builtins/abort unreachable @@ -28935,7 +28155,7 @@ if i32.const 0 i32.const 1056 - i32.const 1707 + i32.const 1703 i32.const 1 call $~lib/builtins/abort unreachable @@ -28949,7 +28169,7 @@ if i32.const 0 i32.const 1056 - i32.const 1708 + i32.const 1704 i32.const 1 call $~lib/builtins/abort unreachable @@ -28963,7 +28183,7 @@ if i32.const 0 i32.const 1056 - i32.const 1709 + i32.const 1705 i32.const 1 call $~lib/builtins/abort unreachable @@ -28977,7 +28197,7 @@ if i32.const 0 i32.const 1056 - i32.const 1710 + i32.const 1706 i32.const 1 call $~lib/builtins/abort unreachable @@ -28991,7 +28211,7 @@ if i32.const 0 i32.const 1056 - i32.const 1711 + i32.const 1707 i32.const 1 call $~lib/builtins/abort unreachable @@ -29005,7 +28225,7 @@ if i32.const 0 i32.const 1056 - i32.const 1712 + i32.const 1708 i32.const 1 call $~lib/builtins/abort unreachable @@ -29019,7 +28239,7 @@ if i32.const 0 i32.const 1056 - i32.const 1713 + i32.const 1709 i32.const 1 call $~lib/builtins/abort unreachable @@ -29033,7 +28253,7 @@ if i32.const 0 i32.const 1056 - i32.const 1714 + i32.const 1710 i32.const 1 call $~lib/builtins/abort unreachable @@ -29047,7 +28267,7 @@ if i32.const 0 i32.const 1056 - i32.const 1715 + i32.const 1711 i32.const 1 call $~lib/builtins/abort unreachable @@ -29061,7 +28281,7 @@ if i32.const 0 i32.const 1056 - i32.const 1716 + i32.const 1712 i32.const 1 call $~lib/builtins/abort unreachable @@ -29075,7 +28295,7 @@ if i32.const 0 i32.const 1056 - i32.const 1717 + i32.const 1713 i32.const 1 call $~lib/builtins/abort unreachable @@ -29089,7 +28309,7 @@ if i32.const 0 i32.const 1056 - i32.const 1718 + i32.const 1714 i32.const 1 call $~lib/builtins/abort unreachable @@ -29103,7 +28323,7 @@ if i32.const 0 i32.const 1056 - i32.const 1719 + i32.const 1715 i32.const 1 call $~lib/builtins/abort unreachable @@ -29117,7 +28337,7 @@ if i32.const 0 i32.const 1056 - i32.const 1720 + i32.const 1716 i32.const 1 call $~lib/builtins/abort unreachable @@ -29131,7 +28351,7 @@ if i32.const 0 i32.const 1056 - i32.const 1721 + i32.const 1717 i32.const 1 call $~lib/builtins/abort unreachable @@ -29145,7 +28365,7 @@ if i32.const 0 i32.const 1056 - i32.const 1722 + i32.const 1718 i32.const 1 call $~lib/builtins/abort unreachable @@ -29159,7 +28379,7 @@ if i32.const 0 i32.const 1056 - i32.const 1723 + i32.const 1719 i32.const 1 call $~lib/builtins/abort unreachable @@ -29173,7 +28393,7 @@ if i32.const 0 i32.const 1056 - i32.const 1724 + i32.const 1720 i32.const 1 call $~lib/builtins/abort unreachable @@ -29187,7 +28407,7 @@ if i32.const 0 i32.const 1056 - i32.const 1733 + i32.const 1729 i32.const 1 call $~lib/builtins/abort unreachable @@ -29201,7 +28421,7 @@ if i32.const 0 i32.const 1056 - i32.const 1734 + i32.const 1730 i32.const 1 call $~lib/builtins/abort unreachable @@ -29215,7 +28435,7 @@ if i32.const 0 i32.const 1056 - i32.const 1735 + i32.const 1731 i32.const 1 call $~lib/builtins/abort unreachable @@ -29229,7 +28449,7 @@ if i32.const 0 i32.const 1056 - i32.const 1736 + i32.const 1732 i32.const 1 call $~lib/builtins/abort unreachable @@ -29243,7 +28463,7 @@ if i32.const 0 i32.const 1056 - i32.const 1737 + i32.const 1733 i32.const 1 call $~lib/builtins/abort unreachable @@ -29257,7 +28477,7 @@ if i32.const 0 i32.const 1056 - i32.const 1738 + i32.const 1734 i32.const 1 call $~lib/builtins/abort unreachable @@ -29271,7 +28491,7 @@ if i32.const 0 i32.const 1056 - i32.const 1739 + i32.const 1735 i32.const 1 call $~lib/builtins/abort unreachable @@ -29285,7 +28505,7 @@ if i32.const 0 i32.const 1056 - i32.const 1740 + i32.const 1736 i32.const 1 call $~lib/builtins/abort unreachable @@ -29299,7 +28519,7 @@ if i32.const 0 i32.const 1056 - i32.const 1741 + i32.const 1737 i32.const 1 call $~lib/builtins/abort unreachable @@ -29313,7 +28533,7 @@ if i32.const 0 i32.const 1056 - i32.const 1742 + i32.const 1738 i32.const 1 call $~lib/builtins/abort unreachable @@ -29327,7 +28547,7 @@ if i32.const 0 i32.const 1056 - i32.const 1745 + i32.const 1741 i32.const 1 call $~lib/builtins/abort unreachable @@ -29341,7 +28561,7 @@ if i32.const 0 i32.const 1056 - i32.const 1746 + i32.const 1742 i32.const 1 call $~lib/builtins/abort unreachable @@ -29355,7 +28575,7 @@ if i32.const 0 i32.const 1056 - i32.const 1747 + i32.const 1743 i32.const 1 call $~lib/builtins/abort unreachable @@ -29369,7 +28589,7 @@ if i32.const 0 i32.const 1056 - i32.const 1748 + i32.const 1744 i32.const 1 call $~lib/builtins/abort unreachable @@ -29383,7 +28603,7 @@ if i32.const 0 i32.const 1056 - i32.const 1749 + i32.const 1745 i32.const 1 call $~lib/builtins/abort unreachable @@ -29397,7 +28617,7 @@ if i32.const 0 i32.const 1056 - i32.const 1750 + i32.const 1746 i32.const 1 call $~lib/builtins/abort unreachable @@ -29411,7 +28631,7 @@ if i32.const 0 i32.const 1056 - i32.const 1751 + i32.const 1747 i32.const 1 call $~lib/builtins/abort unreachable @@ -29425,7 +28645,7 @@ if i32.const 0 i32.const 1056 - i32.const 1752 + i32.const 1748 i32.const 1 call $~lib/builtins/abort unreachable @@ -29439,7 +28659,7 @@ if i32.const 0 i32.const 1056 - i32.const 1753 + i32.const 1749 i32.const 1 call $~lib/builtins/abort unreachable @@ -29453,7 +28673,7 @@ if i32.const 0 i32.const 1056 - i32.const 1754 + i32.const 1750 i32.const 1 call $~lib/builtins/abort unreachable @@ -29467,7 +28687,7 @@ if i32.const 0 i32.const 1056 - i32.const 1755 + i32.const 1751 i32.const 1 call $~lib/builtins/abort unreachable @@ -29481,7 +28701,7 @@ if i32.const 0 i32.const 1056 - i32.const 1756 + i32.const 1752 i32.const 1 call $~lib/builtins/abort unreachable @@ -29495,7 +28715,7 @@ if i32.const 0 i32.const 1056 - i32.const 1757 + i32.const 1753 i32.const 1 call $~lib/builtins/abort unreachable @@ -29509,7 +28729,7 @@ if i32.const 0 i32.const 1056 - i32.const 1758 + i32.const 1754 i32.const 1 call $~lib/builtins/abort unreachable @@ -29523,7 +28743,7 @@ if i32.const 0 i32.const 1056 - i32.const 1759 + i32.const 1755 i32.const 1 call $~lib/builtins/abort unreachable @@ -29537,7 +28757,7 @@ if i32.const 0 i32.const 1056 - i32.const 1760 + i32.const 1756 i32.const 1 call $~lib/builtins/abort unreachable @@ -29551,7 +28771,7 @@ if i32.const 0 i32.const 1056 - i32.const 1761 + i32.const 1757 i32.const 1 call $~lib/builtins/abort unreachable @@ -29565,7 +28785,7 @@ if i32.const 0 i32.const 1056 - i32.const 1762 + i32.const 1758 i32.const 1 call $~lib/builtins/abort unreachable @@ -29579,13 +28799,13 @@ if i32.const 0 i32.const 1056 - i32.const 1763 + i32.const 1759 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29602,13 +28822,13 @@ if i32.const 0 i32.const 1056 - i32.const 1775 + i32.const 1771 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const 1.4690809584224322 f64.const -0.3412533402442932 call $std/math/check @@ -29625,13 +28845,13 @@ if i32.const 0 i32.const 1056 - i32.const 1776 + i32.const 1772 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29648,13 +28868,13 @@ if i32.const 0 i32.const 1056 - i32.const 1777 + i32.const 1773 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29671,13 +28891,13 @@ if i32.const 0 i32.const 1056 - i32.const 1778 + i32.const 1774 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const 2.2264658498795615 f64.const 0.3638114035129547 call $std/math/check @@ -29694,13 +28914,13 @@ if i32.const 0 i32.const 1056 - i32.const 1779 + i32.const 1775 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const -0.4125110252365137 f64.const -0.29108747839927673 call $std/math/check @@ -29717,13 +28937,13 @@ if i32.const 0 i32.const 1056 - i32.const 1780 + i32.const 1776 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29740,13 +28960,13 @@ if i32.const 0 i32.const 1056 - i32.const 1781 + i32.const 1777 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const -0.5766810183195862 f64.const -0.10983199626207352 call $std/math/check @@ -29763,13 +28983,13 @@ if i32.const 0 i32.const 1056 - i32.const 1782 + i32.const 1778 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const -0.2559866591263865 f64.const -0.057990044355392456 call $std/math/check @@ -29786,13 +29006,13 @@ if i32.const 0 i32.const 1056 - i32.const 1783 + i32.const 1779 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29809,13 +29029,13 @@ if i32.const 0 i32.const 1056 - i32.const 1784 + i32.const 1780 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const -inf f64.const 0 call $std/math/check @@ -29832,13 +29052,13 @@ if i32.const 0 i32.const 1056 - i32.const 1787 + i32.const 1783 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const -inf f64.const 0 call $std/math/check @@ -29855,13 +29075,13 @@ if i32.const 0 i32.const 1056 - i32.const 1788 + i32.const 1784 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29878,13 +29098,13 @@ if i32.const 0 i32.const 1056 - i32.const 1789 + i32.const 1785 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const 0 f64.const 0 call $std/math/check @@ -29901,13 +29121,13 @@ if i32.const 0 i32.const 1056 - i32.const 1790 + i32.const 1786 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29924,13 +29144,13 @@ if i32.const 0 i32.const 1056 - i32.const 1791 + i32.const 1787 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const inf f64.const 0 call $std/math/check @@ -29947,13 +29167,13 @@ if i32.const 0 i32.const 1056 - i32.const 1792 + i32.const 1788 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29970,13 +29190,13 @@ if i32.const 0 i32.const 1056 - i32.const 1793 + i32.const 1789 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.log + call $~lib/util/math/log64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -29993,13 +29213,13 @@ if i32.const 0 i32.const 1056 - i32.const 1794 + i32.const 1790 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const -inf f32.const 0 call $std/math/check @@ -30007,13 +29227,13 @@ if i32.const 0 i32.const 1056 - i32.const 1803 + i32.const 1799 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const -inf f32.const 0 call $std/math/check @@ -30021,13 +29241,13 @@ if i32.const 0 i32.const 1056 - i32.const 1804 + i32.const 1800 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30035,13 +29255,13 @@ if i32.const 0 i32.const 1056 - i32.const 1805 + i32.const 1801 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const 0 f32.const 0 call $std/math/check @@ -30049,13 +29269,13 @@ if i32.const 0 i32.const 1056 - i32.const 1806 + i32.const 1802 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30063,13 +29283,13 @@ if i32.const 0 i32.const 1056 - i32.const 1807 + i32.const 1803 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const inf f32.const 0 call $std/math/check @@ -30077,13 +29297,13 @@ if i32.const 0 i32.const 1056 - i32.const 1808 + i32.const 1804 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30091,13 +29311,13 @@ if i32.const 0 i32.const 1056 - i32.const 1809 + i32.const 1805 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30105,13 +29325,13 @@ if i32.const 0 i32.const 1056 - i32.const 1810 + i32.const 1806 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const -inf f32.const 0 call $std/math/check @@ -30119,13 +29339,13 @@ if i32.const 0 i32.const 1056 - i32.const 1813 + i32.const 1809 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const -inf f32.const 0 call $std/math/check @@ -30133,13 +29353,13 @@ if i32.const 0 i32.const 1056 - i32.const 1814 + i32.const 1810 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30147,13 +29367,13 @@ if i32.const 0 i32.const 1056 - i32.const 1815 + i32.const 1811 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const 0 f32.const 0 call $std/math/check @@ -30161,13 +29381,13 @@ if i32.const 0 i32.const 1056 - i32.const 1816 + i32.const 1812 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30175,13 +29395,13 @@ if i32.const 0 i32.const 1056 - i32.const 1817 + i32.const 1813 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const inf f32.const 0 call $std/math/check @@ -30189,13 +29409,13 @@ if i32.const 0 i32.const 1056 - i32.const 1818 + i32.const 1814 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30203,13 +29423,13 @@ if i32.const 0 i32.const 1056 - i32.const 1819 + i32.const 1815 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.log + call $~lib/util/math/log32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -30217,7 +29437,7 @@ if i32.const 0 i32.const 1056 - i32.const 1820 + i32.const 1816 i32.const 1 call $~lib/builtins/abort unreachable @@ -30230,7 +29450,7 @@ if i32.const 0 i32.const 1056 - i32.const 1832 + i32.const 1828 i32.const 1 call $~lib/builtins/abort unreachable @@ -30243,7 +29463,7 @@ if i32.const 0 i32.const 1056 - i32.const 1833 + i32.const 1829 i32.const 1 call $~lib/builtins/abort unreachable @@ -30256,7 +29476,7 @@ if i32.const 0 i32.const 1056 - i32.const 1834 + i32.const 1830 i32.const 1 call $~lib/builtins/abort unreachable @@ -30269,7 +29489,7 @@ if i32.const 0 i32.const 1056 - i32.const 1835 + i32.const 1831 i32.const 1 call $~lib/builtins/abort unreachable @@ -30282,7 +29502,7 @@ if i32.const 0 i32.const 1056 - i32.const 1836 + i32.const 1832 i32.const 1 call $~lib/builtins/abort unreachable @@ -30295,7 +29515,7 @@ if i32.const 0 i32.const 1056 - i32.const 1837 + i32.const 1833 i32.const 1 call $~lib/builtins/abort unreachable @@ -30308,7 +29528,7 @@ if i32.const 0 i32.const 1056 - i32.const 1838 + i32.const 1834 i32.const 1 call $~lib/builtins/abort unreachable @@ -30321,7 +29541,7 @@ if i32.const 0 i32.const 1056 - i32.const 1839 + i32.const 1835 i32.const 1 call $~lib/builtins/abort unreachable @@ -30334,7 +29554,7 @@ if i32.const 0 i32.const 1056 - i32.const 1840 + i32.const 1836 i32.const 1 call $~lib/builtins/abort unreachable @@ -30347,7 +29567,7 @@ if i32.const 0 i32.const 1056 - i32.const 1841 + i32.const 1837 i32.const 1 call $~lib/builtins/abort unreachable @@ -30360,7 +29580,7 @@ if i32.const 0 i32.const 1056 - i32.const 1844 + i32.const 1840 i32.const 1 call $~lib/builtins/abort unreachable @@ -30373,7 +29593,7 @@ if i32.const 0 i32.const 1056 - i32.const 1845 + i32.const 1841 i32.const 1 call $~lib/builtins/abort unreachable @@ -30386,7 +29606,7 @@ if i32.const 0 i32.const 1056 - i32.const 1846 + i32.const 1842 i32.const 1 call $~lib/builtins/abort unreachable @@ -30399,7 +29619,7 @@ if i32.const 0 i32.const 1056 - i32.const 1847 + i32.const 1843 i32.const 1 call $~lib/builtins/abort unreachable @@ -30412,7 +29632,7 @@ if i32.const 0 i32.const 1056 - i32.const 1848 + i32.const 1844 i32.const 1 call $~lib/builtins/abort unreachable @@ -30425,7 +29645,7 @@ if i32.const 0 i32.const 1056 - i32.const 1849 + i32.const 1845 i32.const 1 call $~lib/builtins/abort unreachable @@ -30438,7 +29658,7 @@ if i32.const 0 i32.const 1056 - i32.const 1850 + i32.const 1846 i32.const 1 call $~lib/builtins/abort unreachable @@ -30451,7 +29671,7 @@ if i32.const 0 i32.const 1056 - i32.const 1851 + i32.const 1847 i32.const 1 call $~lib/builtins/abort unreachable @@ -30464,7 +29684,7 @@ if i32.const 0 i32.const 1056 - i32.const 1860 + i32.const 1856 i32.const 1 call $~lib/builtins/abort unreachable @@ -30477,7 +29697,7 @@ if i32.const 0 i32.const 1056 - i32.const 1861 + i32.const 1857 i32.const 1 call $~lib/builtins/abort unreachable @@ -30490,7 +29710,7 @@ if i32.const 0 i32.const 1056 - i32.const 1862 + i32.const 1858 i32.const 1 call $~lib/builtins/abort unreachable @@ -30503,7 +29723,7 @@ if i32.const 0 i32.const 1056 - i32.const 1863 + i32.const 1859 i32.const 1 call $~lib/builtins/abort unreachable @@ -30516,7 +29736,7 @@ if i32.const 0 i32.const 1056 - i32.const 1864 + i32.const 1860 i32.const 1 call $~lib/builtins/abort unreachable @@ -30529,7 +29749,7 @@ if i32.const 0 i32.const 1056 - i32.const 1865 + i32.const 1861 i32.const 1 call $~lib/builtins/abort unreachable @@ -30542,7 +29762,7 @@ if i32.const 0 i32.const 1056 - i32.const 1866 + i32.const 1862 i32.const 1 call $~lib/builtins/abort unreachable @@ -30555,7 +29775,7 @@ if i32.const 0 i32.const 1056 - i32.const 1867 + i32.const 1863 i32.const 1 call $~lib/builtins/abort unreachable @@ -30568,7 +29788,7 @@ if i32.const 0 i32.const 1056 - i32.const 1868 + i32.const 1864 i32.const 1 call $~lib/builtins/abort unreachable @@ -30581,7 +29801,7 @@ if i32.const 0 i32.const 1056 - i32.const 1869 + i32.const 1865 i32.const 1 call $~lib/builtins/abort unreachable @@ -30594,7 +29814,7 @@ if i32.const 0 i32.const 1056 - i32.const 1872 + i32.const 1868 i32.const 1 call $~lib/builtins/abort unreachable @@ -30607,7 +29827,7 @@ if i32.const 0 i32.const 1056 - i32.const 1873 + i32.const 1869 i32.const 1 call $~lib/builtins/abort unreachable @@ -30620,7 +29840,7 @@ if i32.const 0 i32.const 1056 - i32.const 1874 + i32.const 1870 i32.const 1 call $~lib/builtins/abort unreachable @@ -30633,7 +29853,7 @@ if i32.const 0 i32.const 1056 - i32.const 1875 + i32.const 1871 i32.const 1 call $~lib/builtins/abort unreachable @@ -30646,7 +29866,7 @@ if i32.const 0 i32.const 1056 - i32.const 1876 + i32.const 1872 i32.const 1 call $~lib/builtins/abort unreachable @@ -30659,7 +29879,7 @@ if i32.const 0 i32.const 1056 - i32.const 1877 + i32.const 1873 i32.const 1 call $~lib/builtins/abort unreachable @@ -30672,7 +29892,7 @@ if i32.const 0 i32.const 1056 - i32.const 1878 + i32.const 1874 i32.const 1 call $~lib/builtins/abort unreachable @@ -30685,13 +29905,13 @@ if i32.const 0 i32.const 1056 - i32.const 1879 + i32.const 1875 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -30708,13 +29928,13 @@ if i32.const 0 i32.const 1056 - i32.const 1891 + i32.const 1887 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 1.6762064170601734 f64.const 0.46188199520111084 call $std/math/check @@ -30731,13 +29951,13 @@ if i32.const 0 i32.const 1056 - i32.const 1892 + i32.const 1888 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -30754,13 +29974,13 @@ if i32.const 0 i32.const 1056 - i32.const 1893 + i32.const 1889 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -30777,13 +29997,13 @@ if i32.const 0 i32.const 1056 - i32.const 1894 + i32.const 1890 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 2.3289404168523826 f64.const -0.411114901304245 call $std/math/check @@ -30800,13 +30020,13 @@ if i32.const 0 i32.const 1056 - i32.const 1895 + i32.const 1891 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 0.5080132114992477 f64.const -0.29306045174598694 call $std/math/check @@ -30823,13 +30043,13 @@ if i32.const 0 i32.const 1056 - i32.const 1896 + i32.const 1892 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const -0.5218931811663979 f64.const -0.25825726985931396 call $std/math/check @@ -30846,13 +30066,13 @@ if i32.const 0 i32.const 1056 - i32.const 1897 + i32.const 1893 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 0.4458132279488102 f64.const -0.13274887204170227 call $std/math/check @@ -30869,13 +30089,13 @@ if i32.const 0 i32.const 1056 - i32.const 1898 + i32.const 1894 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 0.5733227294648414 f64.const 0.02716583013534546 call $std/math/check @@ -30892,13 +30112,13 @@ if i32.const 0 i32.const 1056 - i32.const 1899 + i32.const 1895 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const -1.1355782978128564 f64.const 0.2713092863559723 call $std/math/check @@ -30915,13 +30135,13 @@ if i32.const 0 i32.const 1056 - i32.const 1900 + i32.const 1896 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 0 f64.const 0 call $std/math/check @@ -30938,13 +30158,13 @@ if i32.const 0 i32.const 1056 - i32.const 1903 + i32.const 1899 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const -0 f64.const 0 call $std/math/check @@ -30961,13 +30181,13 @@ if i32.const 0 i32.const 1056 - i32.const 1904 + i32.const 1900 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const -7.888609052210118e-31 f64.const 1.7763568394002505e-15 call $std/math/check @@ -30984,13 +30204,13 @@ if i32.const 0 i32.const 1056 - i32.const 1905 + i32.const 1901 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const 0.6931471805599453 f64.const -0.2088811695575714 call $std/math/check @@ -31007,13 +30227,13 @@ if i32.const 0 i32.const 1056 - i32.const 1906 + i32.const 1902 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const -inf f64.const 0 call $std/math/check @@ -31030,13 +30250,13 @@ if i32.const 0 i32.const 1056 - i32.const 1907 + i32.const 1903 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const inf f64.const 0 call $std/math/check @@ -31053,13 +30273,13 @@ if i32.const 0 i32.const 1056 - i32.const 1908 + i32.const 1904 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31076,13 +30296,13 @@ if i32.const 0 i32.const 1056 - i32.const 1909 + i32.const 1905 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.log1p + call $~lib/util/math/log1p64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31099,13 +30319,13 @@ if i32.const 0 i32.const 1056 - i32.const 1910 + i32.const 1906 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -31113,13 +30333,13 @@ if i32.const 0 i32.const 1056 - i32.const 1919 + i32.const 1915 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 1.676206350326538 f32.const -0.23014859855175018 call $std/math/check @@ -31127,13 +30347,13 @@ if i32.const 0 i32.const 1056 - i32.const 1920 + i32.const 1916 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -31141,13 +30361,13 @@ if i32.const 0 i32.const 1056 - i32.const 1921 + i32.const 1917 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -31155,13 +30375,13 @@ if i32.const 0 i32.const 1056 - i32.const 1922 + i32.const 1918 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 2.3289403915405273 f32.const -0.29075589776039124 call $std/math/check @@ -31169,13 +30389,13 @@ if i32.const 0 i32.const 1056 - i32.const 1923 + i32.const 1919 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 0.5080131888389587 f32.const -0.1386766880750656 call $std/math/check @@ -31183,13 +30403,13 @@ if i32.const 0 i32.const 1056 - i32.const 1924 + i32.const 1920 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const -0.5218932032585144 f32.const -0.08804433047771454 call $std/math/check @@ -31197,13 +30417,13 @@ if i32.const 0 i32.const 1056 - i32.const 1925 + i32.const 1921 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 0.44581323862075806 f32.const -0.15101368725299835 call $std/math/check @@ -31211,13 +30431,13 @@ if i32.const 0 i32.const 1056 - i32.const 1926 + i32.const 1922 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 0.5733227133750916 f32.const -0.10264533013105392 call $std/math/check @@ -31225,13 +30445,13 @@ if i32.const 0 i32.const 1056 - i32.const 1927 + i32.const 1923 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const -1.1355782747268677 f32.const -0.19879481196403503 call $std/math/check @@ -31239,13 +30459,13 @@ if i32.const 0 i32.const 1056 - i32.const 1928 + i32.const 1924 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 0 f32.const 0 call $std/math/check @@ -31253,13 +30473,13 @@ if i32.const 0 i32.const 1056 - i32.const 1931 + i32.const 1927 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const -0 f32.const 0 call $std/math/check @@ -31267,13 +30487,13 @@ if i32.const 0 i32.const 1056 - i32.const 1932 + i32.const 1928 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -7.888609052210118e-31 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const -7.888609052210118e-31 f32.const 3.308722450212111e-24 call $std/math/check @@ -31281,13 +30501,13 @@ if i32.const 0 i32.const 1056 - i32.const 1933 + i32.const 1929 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const 0.6931471824645996 f32.const 0.031954795122146606 call $std/math/check @@ -31295,13 +30515,13 @@ if i32.const 0 i32.const 1056 - i32.const 1934 + i32.const 1930 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const -inf f32.const 0 call $std/math/check @@ -31309,13 +30529,13 @@ if i32.const 0 i32.const 1056 - i32.const 1935 + i32.const 1931 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const inf f32.const 0 call $std/math/check @@ -31323,13 +30543,13 @@ if i32.const 0 i32.const 1056 - i32.const 1936 + i32.const 1932 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -31337,13 +30557,13 @@ if i32.const 0 i32.const 1056 - i32.const 1937 + i32.const 1933 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -31351,13 +30571,13 @@ if i32.const 0 i32.const 1056 - i32.const 1938 + i32.const 1934 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 - call $~lib/math/NativeMathf.log1p + call $~lib/util/math/log1p32 f32.const -1.1754942106924411e-38 f32.const 4.930380657631324e-32 call $std/math/check @@ -31365,13 +30585,13 @@ if i32.const 0 i32.const 1056 - i32.const 1939 + i32.const 1935 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31388,13 +30608,13 @@ if i32.const 0 i32.const 1056 - i32.const 1951 + i32.const 1947 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const 2.1194358133804485 f64.const -0.10164877772331238 call $std/math/check @@ -31411,13 +30631,13 @@ if i32.const 0 i32.const 1056 - i32.const 1952 + i32.const 1948 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31434,13 +30654,13 @@ if i32.const 0 i32.const 1056 - i32.const 1953 + i32.const 1949 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31457,13 +30677,13 @@ if i32.const 0 i32.const 1056 - i32.const 1954 + i32.const 1950 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const 3.2121112403298744 f64.const -0.15739446878433228 call $std/math/check @@ -31480,13 +30700,13 @@ if i32.const 0 i32.const 1056 - i32.const 1955 + i32.const 1951 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const -0.5951276104207402 f64.const 0.3321485221385956 call $std/math/check @@ -31503,13 +30723,13 @@ if i32.const 0 i32.const 1056 - i32.const 1956 + i32.const 1952 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31526,13 +30746,13 @@ if i32.const 0 i32.const 1056 - i32.const 1957 + i32.const 1953 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const -0.8319748453044644 f64.const 0.057555437088012695 call $std/math/check @@ -31549,13 +30769,13 @@ if i32.const 0 i32.const 1056 - i32.const 1958 + i32.const 1954 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const -0.36931068365537134 f64.const -0.19838279485702515 call $std/math/check @@ -31572,13 +30792,13 @@ if i32.const 0 i32.const 1056 - i32.const 1959 + i32.const 1955 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31595,13 +30815,13 @@ if i32.const 0 i32.const 1056 - i32.const 1960 + i32.const 1956 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const -inf f64.const 0 call $std/math/check @@ -31618,13 +30838,13 @@ if i32.const 0 i32.const 1056 - i32.const 1963 + i32.const 1959 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const -inf f64.const 0 call $std/math/check @@ -31641,13 +30861,13 @@ if i32.const 0 i32.const 1056 - i32.const 1964 + i32.const 1960 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -7.888609052210118e-31 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31664,13 +30884,13 @@ if i32.const 0 i32.const 1056 - i32.const 1965 + i32.const 1961 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const 0 f64.const 0 call $std/math/check @@ -31687,13 +30907,13 @@ if i32.const 0 i32.const 1056 - i32.const 1966 + i32.const 1962 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31710,13 +30930,13 @@ if i32.const 0 i32.const 1056 - i32.const 1967 + i32.const 1963 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const inf f64.const 0 call $std/math/check @@ -31733,13 +30953,13 @@ if i32.const 0 i32.const 1056 - i32.const 1968 + i32.const 1964 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31756,13 +30976,13 @@ if i32.const 0 i32.const 1056 - i32.const 1969 + i32.const 1965 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.log2 + call $~lib/util/math/log2_64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -31779,7 +30999,7 @@ if i32.const 0 i32.const 1056 - i32.const 1970 + i32.const 1966 i32.const 1 call $~lib/builtins/abort unreachable @@ -31792,7 +31012,7 @@ if i32.const 0 i32.const 1056 - i32.const 1979 + i32.const 1975 i32.const 1 call $~lib/builtins/abort unreachable @@ -31805,7 +31025,7 @@ if i32.const 0 i32.const 1056 - i32.const 1980 + i32.const 1976 i32.const 1 call $~lib/builtins/abort unreachable @@ -31818,7 +31038,7 @@ if i32.const 0 i32.const 1056 - i32.const 1981 + i32.const 1977 i32.const 1 call $~lib/builtins/abort unreachable @@ -31831,7 +31051,7 @@ if i32.const 0 i32.const 1056 - i32.const 1982 + i32.const 1978 i32.const 1 call $~lib/builtins/abort unreachable @@ -31844,7 +31064,7 @@ if i32.const 0 i32.const 1056 - i32.const 1983 + i32.const 1979 i32.const 1 call $~lib/builtins/abort unreachable @@ -31857,7 +31077,7 @@ if i32.const 0 i32.const 1056 - i32.const 1984 + i32.const 1980 i32.const 1 call $~lib/builtins/abort unreachable @@ -31870,7 +31090,7 @@ if i32.const 0 i32.const 1056 - i32.const 1985 + i32.const 1981 i32.const 1 call $~lib/builtins/abort unreachable @@ -31883,7 +31103,7 @@ if i32.const 0 i32.const 1056 - i32.const 1986 + i32.const 1982 i32.const 1 call $~lib/builtins/abort unreachable @@ -31896,7 +31116,7 @@ if i32.const 0 i32.const 1056 - i32.const 1987 + i32.const 1983 i32.const 1 call $~lib/builtins/abort unreachable @@ -31909,7 +31129,7 @@ if i32.const 0 i32.const 1056 - i32.const 1988 + i32.const 1984 i32.const 1 call $~lib/builtins/abort unreachable @@ -31922,7 +31142,7 @@ if i32.const 0 i32.const 1056 - i32.const 1991 + i32.const 1987 i32.const 1 call $~lib/builtins/abort unreachable @@ -31935,7 +31155,7 @@ if i32.const 0 i32.const 1056 - i32.const 1992 + i32.const 1988 i32.const 1 call $~lib/builtins/abort unreachable @@ -31948,7 +31168,7 @@ if i32.const 0 i32.const 1056 - i32.const 1993 + i32.const 1989 i32.const 1 call $~lib/builtins/abort unreachable @@ -31961,7 +31181,7 @@ if i32.const 0 i32.const 1056 - i32.const 1994 + i32.const 1990 i32.const 1 call $~lib/builtins/abort unreachable @@ -31974,7 +31194,7 @@ if i32.const 0 i32.const 1056 - i32.const 1995 + i32.const 1991 i32.const 1 call $~lib/builtins/abort unreachable @@ -31987,7 +31207,7 @@ if i32.const 0 i32.const 1056 - i32.const 1996 + i32.const 1992 i32.const 1 call $~lib/builtins/abort unreachable @@ -32000,7 +31220,7 @@ if i32.const 0 i32.const 1056 - i32.const 1997 + i32.const 1993 i32.const 1 call $~lib/builtins/abort unreachable @@ -32013,7 +31233,7 @@ if i32.const 0 i32.const 1056 - i32.const 1998 + i32.const 1994 i32.const 1 call $~lib/builtins/abort unreachable @@ -32026,7 +31246,7 @@ if i32.const 0 i32.const 1056 - i32.const 2010 + i32.const 2006 i32.const 1 call $~lib/builtins/abort unreachable @@ -32039,7 +31259,7 @@ if i32.const 0 i32.const 1056 - i32.const 2011 + i32.const 2007 i32.const 1 call $~lib/builtins/abort unreachable @@ -32052,7 +31272,7 @@ if i32.const 0 i32.const 1056 - i32.const 2012 + i32.const 2008 i32.const 1 call $~lib/builtins/abort unreachable @@ -32065,7 +31285,7 @@ if i32.const 0 i32.const 1056 - i32.const 2013 + i32.const 2009 i32.const 1 call $~lib/builtins/abort unreachable @@ -32078,7 +31298,7 @@ if i32.const 0 i32.const 1056 - i32.const 2014 + i32.const 2010 i32.const 1 call $~lib/builtins/abort unreachable @@ -32091,7 +31311,7 @@ if i32.const 0 i32.const 1056 - i32.const 2015 + i32.const 2011 i32.const 1 call $~lib/builtins/abort unreachable @@ -32104,7 +31324,7 @@ if i32.const 0 i32.const 1056 - i32.const 2016 + i32.const 2012 i32.const 1 call $~lib/builtins/abort unreachable @@ -32117,7 +31337,7 @@ if i32.const 0 i32.const 1056 - i32.const 2017 + i32.const 2013 i32.const 1 call $~lib/builtins/abort unreachable @@ -32130,7 +31350,7 @@ if i32.const 0 i32.const 1056 - i32.const 2018 + i32.const 2014 i32.const 1 call $~lib/builtins/abort unreachable @@ -32143,7 +31363,7 @@ if i32.const 0 i32.const 1056 - i32.const 2019 + i32.const 2015 i32.const 1 call $~lib/builtins/abort unreachable @@ -32156,7 +31376,7 @@ if i32.const 0 i32.const 1056 - i32.const 2022 + i32.const 2018 i32.const 1 call $~lib/builtins/abort unreachable @@ -32169,7 +31389,7 @@ if i32.const 0 i32.const 1056 - i32.const 2023 + i32.const 2019 i32.const 1 call $~lib/builtins/abort unreachable @@ -32182,7 +31402,7 @@ if i32.const 0 i32.const 1056 - i32.const 2024 + i32.const 2020 i32.const 1 call $~lib/builtins/abort unreachable @@ -32195,7 +31415,7 @@ if i32.const 0 i32.const 1056 - i32.const 2025 + i32.const 2021 i32.const 1 call $~lib/builtins/abort unreachable @@ -32208,7 +31428,7 @@ if i32.const 0 i32.const 1056 - i32.const 2026 + i32.const 2022 i32.const 1 call $~lib/builtins/abort unreachable @@ -32221,7 +31441,7 @@ if i32.const 0 i32.const 1056 - i32.const 2027 + i32.const 2023 i32.const 1 call $~lib/builtins/abort unreachable @@ -32234,7 +31454,7 @@ if i32.const 0 i32.const 1056 - i32.const 2028 + i32.const 2024 i32.const 1 call $~lib/builtins/abort unreachable @@ -32247,7 +31467,7 @@ if i32.const 0 i32.const 1056 - i32.const 2029 + i32.const 2025 i32.const 1 call $~lib/builtins/abort unreachable @@ -32260,7 +31480,7 @@ if i32.const 0 i32.const 1056 - i32.const 2030 + i32.const 2026 i32.const 1 call $~lib/builtins/abort unreachable @@ -32273,7 +31493,7 @@ if i32.const 0 i32.const 1056 - i32.const 2031 + i32.const 2027 i32.const 1 call $~lib/builtins/abort unreachable @@ -32286,7 +31506,7 @@ if i32.const 0 i32.const 1056 - i32.const 2032 + i32.const 2028 i32.const 1 call $~lib/builtins/abort unreachable @@ -32299,7 +31519,7 @@ if i32.const 0 i32.const 1056 - i32.const 2033 + i32.const 2029 i32.const 1 call $~lib/builtins/abort unreachable @@ -32312,7 +31532,7 @@ if i32.const 0 i32.const 1056 - i32.const 2034 + i32.const 2030 i32.const 1 call $~lib/builtins/abort unreachable @@ -32325,7 +31545,7 @@ if i32.const 0 i32.const 1056 - i32.const 2035 + i32.const 2031 i32.const 1 call $~lib/builtins/abort unreachable @@ -32338,7 +31558,7 @@ if i32.const 0 i32.const 1056 - i32.const 2036 + i32.const 2032 i32.const 1 call $~lib/builtins/abort unreachable @@ -32351,7 +31571,7 @@ if i32.const 0 i32.const 1056 - i32.const 2037 + i32.const 2033 i32.const 1 call $~lib/builtins/abort unreachable @@ -32364,7 +31584,7 @@ if i32.const 0 i32.const 1056 - i32.const 2038 + i32.const 2034 i32.const 1 call $~lib/builtins/abort unreachable @@ -32377,7 +31597,7 @@ if i32.const 0 i32.const 1056 - i32.const 2039 + i32.const 2035 i32.const 1 call $~lib/builtins/abort unreachable @@ -32390,7 +31610,7 @@ if i32.const 0 i32.const 1056 - i32.const 2040 + i32.const 2036 i32.const 1 call $~lib/builtins/abort unreachable @@ -32403,7 +31623,7 @@ if i32.const 0 i32.const 1056 - i32.const 2041 + i32.const 2037 i32.const 1 call $~lib/builtins/abort unreachable @@ -32416,7 +31636,7 @@ if i32.const 0 i32.const 1056 - i32.const 2042 + i32.const 2038 i32.const 1 call $~lib/builtins/abort unreachable @@ -32429,7 +31649,7 @@ if i32.const 0 i32.const 1056 - i32.const 2043 + i32.const 2039 i32.const 1 call $~lib/builtins/abort unreachable @@ -32442,7 +31662,7 @@ if i32.const 0 i32.const 1056 - i32.const 2044 + i32.const 2040 i32.const 1 call $~lib/builtins/abort unreachable @@ -32455,7 +31675,7 @@ if i32.const 0 i32.const 1056 - i32.const 2045 + i32.const 2041 i32.const 1 call $~lib/builtins/abort unreachable @@ -32468,7 +31688,7 @@ if i32.const 0 i32.const 1056 - i32.const 2046 + i32.const 2042 i32.const 1 call $~lib/builtins/abort unreachable @@ -32481,7 +31701,7 @@ if i32.const 0 i32.const 1056 - i32.const 2047 + i32.const 2043 i32.const 1 call $~lib/builtins/abort unreachable @@ -32494,7 +31714,7 @@ if i32.const 0 i32.const 1056 - i32.const 2048 + i32.const 2044 i32.const 1 call $~lib/builtins/abort unreachable @@ -32507,7 +31727,7 @@ if i32.const 0 i32.const 1056 - i32.const 2049 + i32.const 2045 i32.const 1 call $~lib/builtins/abort unreachable @@ -32520,7 +31740,7 @@ if i32.const 0 i32.const 1056 - i32.const 2050 + i32.const 2046 i32.const 1 call $~lib/builtins/abort unreachable @@ -32533,7 +31753,7 @@ if i32.const 0 i32.const 1056 - i32.const 2051 + i32.const 2047 i32.const 1 call $~lib/builtins/abort unreachable @@ -32546,7 +31766,7 @@ if i32.const 0 i32.const 1056 - i32.const 2052 + i32.const 2048 i32.const 1 call $~lib/builtins/abort unreachable @@ -32559,7 +31779,7 @@ if i32.const 0 i32.const 1056 - i32.const 2053 + i32.const 2049 i32.const 1 call $~lib/builtins/abort unreachable @@ -32572,7 +31792,7 @@ if i32.const 0 i32.const 1056 - i32.const 2054 + i32.const 2050 i32.const 1 call $~lib/builtins/abort unreachable @@ -32585,7 +31805,7 @@ if i32.const 0 i32.const 1056 - i32.const 2055 + i32.const 2051 i32.const 1 call $~lib/builtins/abort unreachable @@ -32598,7 +31818,7 @@ if i32.const 0 i32.const 1056 - i32.const 2056 + i32.const 2052 i32.const 1 call $~lib/builtins/abort unreachable @@ -32611,7 +31831,7 @@ if i32.const 0 i32.const 1056 - i32.const 2057 + i32.const 2053 i32.const 1 call $~lib/builtins/abort unreachable @@ -32624,7 +31844,7 @@ if i32.const 0 i32.const 1056 - i32.const 2058 + i32.const 2054 i32.const 1 call $~lib/builtins/abort unreachable @@ -32637,7 +31857,7 @@ if i32.const 0 i32.const 1056 - i32.const 2059 + i32.const 2055 i32.const 1 call $~lib/builtins/abort unreachable @@ -32650,7 +31870,7 @@ if i32.const 0 i32.const 1056 - i32.const 2060 + i32.const 2056 i32.const 1 call $~lib/builtins/abort unreachable @@ -32663,7 +31883,7 @@ if i32.const 0 i32.const 1056 - i32.const 2061 + i32.const 2057 i32.const 1 call $~lib/builtins/abort unreachable @@ -32676,7 +31896,7 @@ if i32.const 0 i32.const 1056 - i32.const 2062 + i32.const 2058 i32.const 1 call $~lib/builtins/abort unreachable @@ -32689,7 +31909,7 @@ if i32.const 0 i32.const 1056 - i32.const 2063 + i32.const 2059 i32.const 1 call $~lib/builtins/abort unreachable @@ -32702,7 +31922,7 @@ if i32.const 0 i32.const 1056 - i32.const 2064 + i32.const 2060 i32.const 1 call $~lib/builtins/abort unreachable @@ -32715,7 +31935,7 @@ if i32.const 0 i32.const 1056 - i32.const 2065 + i32.const 2061 i32.const 1 call $~lib/builtins/abort unreachable @@ -32728,7 +31948,7 @@ if i32.const 0 i32.const 1056 - i32.const 2066 + i32.const 2062 i32.const 1 call $~lib/builtins/abort unreachable @@ -32741,7 +31961,7 @@ if i32.const 0 i32.const 1056 - i32.const 2067 + i32.const 2063 i32.const 1 call $~lib/builtins/abort unreachable @@ -32754,7 +31974,7 @@ if i32.const 0 i32.const 1056 - i32.const 2068 + i32.const 2064 i32.const 1 call $~lib/builtins/abort unreachable @@ -32767,7 +31987,7 @@ if i32.const 0 i32.const 1056 - i32.const 2069 + i32.const 2065 i32.const 1 call $~lib/builtins/abort unreachable @@ -32780,7 +32000,7 @@ if i32.const 0 i32.const 1056 - i32.const 2070 + i32.const 2066 i32.const 1 call $~lib/builtins/abort unreachable @@ -32793,7 +32013,7 @@ if i32.const 0 i32.const 1056 - i32.const 2071 + i32.const 2067 i32.const 1 call $~lib/builtins/abort unreachable @@ -32806,7 +32026,7 @@ if i32.const 0 i32.const 1056 - i32.const 2072 + i32.const 2068 i32.const 1 call $~lib/builtins/abort unreachable @@ -32819,7 +32039,7 @@ if i32.const 0 i32.const 1056 - i32.const 2073 + i32.const 2069 i32.const 1 call $~lib/builtins/abort unreachable @@ -32832,7 +32052,7 @@ if i32.const 0 i32.const 1056 - i32.const 2074 + i32.const 2070 i32.const 1 call $~lib/builtins/abort unreachable @@ -32845,7 +32065,7 @@ if i32.const 0 i32.const 1056 - i32.const 2075 + i32.const 2071 i32.const 1 call $~lib/builtins/abort unreachable @@ -32858,7 +32078,7 @@ if i32.const 0 i32.const 1056 - i32.const 2076 + i32.const 2072 i32.const 1 call $~lib/builtins/abort unreachable @@ -32871,7 +32091,7 @@ if i32.const 0 i32.const 1056 - i32.const 2077 + i32.const 2073 i32.const 1 call $~lib/builtins/abort unreachable @@ -32884,7 +32104,7 @@ if i32.const 0 i32.const 1056 - i32.const 2078 + i32.const 2074 i32.const 1 call $~lib/builtins/abort unreachable @@ -32897,7 +32117,7 @@ if i32.const 0 i32.const 1056 - i32.const 2079 + i32.const 2075 i32.const 1 call $~lib/builtins/abort unreachable @@ -32910,7 +32130,7 @@ if i32.const 0 i32.const 1056 - i32.const 2088 + i32.const 2084 i32.const 1 call $~lib/builtins/abort unreachable @@ -32923,7 +32143,7 @@ if i32.const 0 i32.const 1056 - i32.const 2089 + i32.const 2085 i32.const 1 call $~lib/builtins/abort unreachable @@ -32936,7 +32156,7 @@ if i32.const 0 i32.const 1056 - i32.const 2090 + i32.const 2086 i32.const 1 call $~lib/builtins/abort unreachable @@ -32949,7 +32169,7 @@ if i32.const 0 i32.const 1056 - i32.const 2091 + i32.const 2087 i32.const 1 call $~lib/builtins/abort unreachable @@ -32962,7 +32182,7 @@ if i32.const 0 i32.const 1056 - i32.const 2092 + i32.const 2088 i32.const 1 call $~lib/builtins/abort unreachable @@ -32975,7 +32195,7 @@ if i32.const 0 i32.const 1056 - i32.const 2093 + i32.const 2089 i32.const 1 call $~lib/builtins/abort unreachable @@ -32988,7 +32208,7 @@ if i32.const 0 i32.const 1056 - i32.const 2094 + i32.const 2090 i32.const 1 call $~lib/builtins/abort unreachable @@ -33001,7 +32221,7 @@ if i32.const 0 i32.const 1056 - i32.const 2095 + i32.const 2091 i32.const 1 call $~lib/builtins/abort unreachable @@ -33014,7 +32234,7 @@ if i32.const 0 i32.const 1056 - i32.const 2096 + i32.const 2092 i32.const 1 call $~lib/builtins/abort unreachable @@ -33027,7 +32247,7 @@ if i32.const 0 i32.const 1056 - i32.const 2097 + i32.const 2093 i32.const 1 call $~lib/builtins/abort unreachable @@ -33040,7 +32260,7 @@ if i32.const 0 i32.const 1056 - i32.const 2100 + i32.const 2096 i32.const 1 call $~lib/builtins/abort unreachable @@ -33053,7 +32273,7 @@ if i32.const 0 i32.const 1056 - i32.const 2101 + i32.const 2097 i32.const 1 call $~lib/builtins/abort unreachable @@ -33066,7 +32286,7 @@ if i32.const 0 i32.const 1056 - i32.const 2102 + i32.const 2098 i32.const 1 call $~lib/builtins/abort unreachable @@ -33079,7 +32299,7 @@ if i32.const 0 i32.const 1056 - i32.const 2103 + i32.const 2099 i32.const 1 call $~lib/builtins/abort unreachable @@ -33092,7 +32312,7 @@ if i32.const 0 i32.const 1056 - i32.const 2104 + i32.const 2100 i32.const 1 call $~lib/builtins/abort unreachable @@ -33105,7 +32325,7 @@ if i32.const 0 i32.const 1056 - i32.const 2105 + i32.const 2101 i32.const 1 call $~lib/builtins/abort unreachable @@ -33118,7 +32338,7 @@ if i32.const 0 i32.const 1056 - i32.const 2106 + i32.const 2102 i32.const 1 call $~lib/builtins/abort unreachable @@ -33131,7 +32351,7 @@ if i32.const 0 i32.const 1056 - i32.const 2107 + i32.const 2103 i32.const 1 call $~lib/builtins/abort unreachable @@ -33144,7 +32364,7 @@ if i32.const 0 i32.const 1056 - i32.const 2108 + i32.const 2104 i32.const 1 call $~lib/builtins/abort unreachable @@ -33157,7 +32377,7 @@ if i32.const 0 i32.const 1056 - i32.const 2109 + i32.const 2105 i32.const 1 call $~lib/builtins/abort unreachable @@ -33170,7 +32390,7 @@ if i32.const 0 i32.const 1056 - i32.const 2110 + i32.const 2106 i32.const 1 call $~lib/builtins/abort unreachable @@ -33183,7 +32403,7 @@ if i32.const 0 i32.const 1056 - i32.const 2111 + i32.const 2107 i32.const 1 call $~lib/builtins/abort unreachable @@ -33196,7 +32416,7 @@ if i32.const 0 i32.const 1056 - i32.const 2112 + i32.const 2108 i32.const 1 call $~lib/builtins/abort unreachable @@ -33209,7 +32429,7 @@ if i32.const 0 i32.const 1056 - i32.const 2113 + i32.const 2109 i32.const 1 call $~lib/builtins/abort unreachable @@ -33222,7 +32442,7 @@ if i32.const 0 i32.const 1056 - i32.const 2114 + i32.const 2110 i32.const 1 call $~lib/builtins/abort unreachable @@ -33235,7 +32455,7 @@ if i32.const 0 i32.const 1056 - i32.const 2115 + i32.const 2111 i32.const 1 call $~lib/builtins/abort unreachable @@ -33248,7 +32468,7 @@ if i32.const 0 i32.const 1056 - i32.const 2116 + i32.const 2112 i32.const 1 call $~lib/builtins/abort unreachable @@ -33261,7 +32481,7 @@ if i32.const 0 i32.const 1056 - i32.const 2117 + i32.const 2113 i32.const 1 call $~lib/builtins/abort unreachable @@ -33274,7 +32494,7 @@ if i32.const 0 i32.const 1056 - i32.const 2118 + i32.const 2114 i32.const 1 call $~lib/builtins/abort unreachable @@ -33287,7 +32507,7 @@ if i32.const 0 i32.const 1056 - i32.const 2119 + i32.const 2115 i32.const 1 call $~lib/builtins/abort unreachable @@ -33300,7 +32520,7 @@ if i32.const 0 i32.const 1056 - i32.const 2120 + i32.const 2116 i32.const 1 call $~lib/builtins/abort unreachable @@ -33313,7 +32533,7 @@ if i32.const 0 i32.const 1056 - i32.const 2121 + i32.const 2117 i32.const 1 call $~lib/builtins/abort unreachable @@ -33326,7 +32546,7 @@ if i32.const 0 i32.const 1056 - i32.const 2122 + i32.const 2118 i32.const 1 call $~lib/builtins/abort unreachable @@ -33339,7 +32559,7 @@ if i32.const 0 i32.const 1056 - i32.const 2123 + i32.const 2119 i32.const 1 call $~lib/builtins/abort unreachable @@ -33352,7 +32572,7 @@ if i32.const 0 i32.const 1056 - i32.const 2124 + i32.const 2120 i32.const 1 call $~lib/builtins/abort unreachable @@ -33365,7 +32585,7 @@ if i32.const 0 i32.const 1056 - i32.const 2125 + i32.const 2121 i32.const 1 call $~lib/builtins/abort unreachable @@ -33378,7 +32598,7 @@ if i32.const 0 i32.const 1056 - i32.const 2126 + i32.const 2122 i32.const 1 call $~lib/builtins/abort unreachable @@ -33391,7 +32611,7 @@ if i32.const 0 i32.const 1056 - i32.const 2127 + i32.const 2123 i32.const 1 call $~lib/builtins/abort unreachable @@ -33404,7 +32624,7 @@ if i32.const 0 i32.const 1056 - i32.const 2128 + i32.const 2124 i32.const 1 call $~lib/builtins/abort unreachable @@ -33417,7 +32637,7 @@ if i32.const 0 i32.const 1056 - i32.const 2129 + i32.const 2125 i32.const 1 call $~lib/builtins/abort unreachable @@ -33430,7 +32650,7 @@ if i32.const 0 i32.const 1056 - i32.const 2130 + i32.const 2126 i32.const 1 call $~lib/builtins/abort unreachable @@ -33443,7 +32663,7 @@ if i32.const 0 i32.const 1056 - i32.const 2131 + i32.const 2127 i32.const 1 call $~lib/builtins/abort unreachable @@ -33456,7 +32676,7 @@ if i32.const 0 i32.const 1056 - i32.const 2132 + i32.const 2128 i32.const 1 call $~lib/builtins/abort unreachable @@ -33469,7 +32689,7 @@ if i32.const 0 i32.const 1056 - i32.const 2133 + i32.const 2129 i32.const 1 call $~lib/builtins/abort unreachable @@ -33482,7 +32702,7 @@ if i32.const 0 i32.const 1056 - i32.const 2134 + i32.const 2130 i32.const 1 call $~lib/builtins/abort unreachable @@ -33495,7 +32715,7 @@ if i32.const 0 i32.const 1056 - i32.const 2135 + i32.const 2131 i32.const 1 call $~lib/builtins/abort unreachable @@ -33508,7 +32728,7 @@ if i32.const 0 i32.const 1056 - i32.const 2136 + i32.const 2132 i32.const 1 call $~lib/builtins/abort unreachable @@ -33521,7 +32741,7 @@ if i32.const 0 i32.const 1056 - i32.const 2137 + i32.const 2133 i32.const 1 call $~lib/builtins/abort unreachable @@ -33534,7 +32754,7 @@ if i32.const 0 i32.const 1056 - i32.const 2138 + i32.const 2134 i32.const 1 call $~lib/builtins/abort unreachable @@ -33547,7 +32767,7 @@ if i32.const 0 i32.const 1056 - i32.const 2139 + i32.const 2135 i32.const 1 call $~lib/builtins/abort unreachable @@ -33560,7 +32780,7 @@ if i32.const 0 i32.const 1056 - i32.const 2140 + i32.const 2136 i32.const 1 call $~lib/builtins/abort unreachable @@ -33573,7 +32793,7 @@ if i32.const 0 i32.const 1056 - i32.const 2141 + i32.const 2137 i32.const 1 call $~lib/builtins/abort unreachable @@ -33586,7 +32806,7 @@ if i32.const 0 i32.const 1056 - i32.const 2142 + i32.const 2138 i32.const 1 call $~lib/builtins/abort unreachable @@ -33599,7 +32819,7 @@ if i32.const 0 i32.const 1056 - i32.const 2143 + i32.const 2139 i32.const 1 call $~lib/builtins/abort unreachable @@ -33612,7 +32832,7 @@ if i32.const 0 i32.const 1056 - i32.const 2144 + i32.const 2140 i32.const 1 call $~lib/builtins/abort unreachable @@ -33625,7 +32845,7 @@ if i32.const 0 i32.const 1056 - i32.const 2145 + i32.const 2141 i32.const 1 call $~lib/builtins/abort unreachable @@ -33638,7 +32858,7 @@ if i32.const 0 i32.const 1056 - i32.const 2146 + i32.const 2142 i32.const 1 call $~lib/builtins/abort unreachable @@ -33651,7 +32871,7 @@ if i32.const 0 i32.const 1056 - i32.const 2147 + i32.const 2143 i32.const 1 call $~lib/builtins/abort unreachable @@ -33664,7 +32884,7 @@ if i32.const 0 i32.const 1056 - i32.const 2148 + i32.const 2144 i32.const 1 call $~lib/builtins/abort unreachable @@ -33677,7 +32897,7 @@ if i32.const 0 i32.const 1056 - i32.const 2149 + i32.const 2145 i32.const 1 call $~lib/builtins/abort unreachable @@ -33690,7 +32910,7 @@ if i32.const 0 i32.const 1056 - i32.const 2150 + i32.const 2146 i32.const 1 call $~lib/builtins/abort unreachable @@ -33703,7 +32923,7 @@ if i32.const 0 i32.const 1056 - i32.const 2151 + i32.const 2147 i32.const 1 call $~lib/builtins/abort unreachable @@ -33716,7 +32936,7 @@ if i32.const 0 i32.const 1056 - i32.const 2152 + i32.const 2148 i32.const 1 call $~lib/builtins/abort unreachable @@ -33729,7 +32949,7 @@ if i32.const 0 i32.const 1056 - i32.const 2153 + i32.const 2149 i32.const 1 call $~lib/builtins/abort unreachable @@ -33742,7 +32962,7 @@ if i32.const 0 i32.const 1056 - i32.const 2154 + i32.const 2150 i32.const 1 call $~lib/builtins/abort unreachable @@ -33755,7 +32975,7 @@ if i32.const 0 i32.const 1056 - i32.const 2155 + i32.const 2151 i32.const 1 call $~lib/builtins/abort unreachable @@ -33768,7 +32988,7 @@ if i32.const 0 i32.const 1056 - i32.const 2156 + i32.const 2152 i32.const 1 call $~lib/builtins/abort unreachable @@ -33781,7 +33001,7 @@ if i32.const 0 i32.const 1056 - i32.const 2157 + i32.const 2153 i32.const 1 call $~lib/builtins/abort unreachable @@ -33794,7 +33014,7 @@ if i32.const 0 i32.const 1056 - i32.const 2169 + i32.const 2165 i32.const 1 call $~lib/builtins/abort unreachable @@ -33807,7 +33027,7 @@ if i32.const 0 i32.const 1056 - i32.const 2170 + i32.const 2166 i32.const 1 call $~lib/builtins/abort unreachable @@ -33820,7 +33040,7 @@ if i32.const 0 i32.const 1056 - i32.const 2171 + i32.const 2167 i32.const 1 call $~lib/builtins/abort unreachable @@ -33833,7 +33053,7 @@ if i32.const 0 i32.const 1056 - i32.const 2172 + i32.const 2168 i32.const 1 call $~lib/builtins/abort unreachable @@ -33846,7 +33066,7 @@ if i32.const 0 i32.const 1056 - i32.const 2173 + i32.const 2169 i32.const 1 call $~lib/builtins/abort unreachable @@ -33859,7 +33079,7 @@ if i32.const 0 i32.const 1056 - i32.const 2174 + i32.const 2170 i32.const 1 call $~lib/builtins/abort unreachable @@ -33872,7 +33092,7 @@ if i32.const 0 i32.const 1056 - i32.const 2175 + i32.const 2171 i32.const 1 call $~lib/builtins/abort unreachable @@ -33885,7 +33105,7 @@ if i32.const 0 i32.const 1056 - i32.const 2176 + i32.const 2172 i32.const 1 call $~lib/builtins/abort unreachable @@ -33898,7 +33118,7 @@ if i32.const 0 i32.const 1056 - i32.const 2177 + i32.const 2173 i32.const 1 call $~lib/builtins/abort unreachable @@ -33911,7 +33131,7 @@ if i32.const 0 i32.const 1056 - i32.const 2178 + i32.const 2174 i32.const 1 call $~lib/builtins/abort unreachable @@ -33924,7 +33144,7 @@ if i32.const 0 i32.const 1056 - i32.const 2181 + i32.const 2177 i32.const 1 call $~lib/builtins/abort unreachable @@ -33937,7 +33157,7 @@ if i32.const 0 i32.const 1056 - i32.const 2182 + i32.const 2178 i32.const 1 call $~lib/builtins/abort unreachable @@ -33950,7 +33170,7 @@ if i32.const 0 i32.const 1056 - i32.const 2183 + i32.const 2179 i32.const 1 call $~lib/builtins/abort unreachable @@ -33963,7 +33183,7 @@ if i32.const 0 i32.const 1056 - i32.const 2184 + i32.const 2180 i32.const 1 call $~lib/builtins/abort unreachable @@ -33976,7 +33196,7 @@ if i32.const 0 i32.const 1056 - i32.const 2185 + i32.const 2181 i32.const 1 call $~lib/builtins/abort unreachable @@ -33989,7 +33209,7 @@ if i32.const 0 i32.const 1056 - i32.const 2186 + i32.const 2182 i32.const 1 call $~lib/builtins/abort unreachable @@ -34002,7 +33222,7 @@ if i32.const 0 i32.const 1056 - i32.const 2187 + i32.const 2183 i32.const 1 call $~lib/builtins/abort unreachable @@ -34015,7 +33235,7 @@ if i32.const 0 i32.const 1056 - i32.const 2188 + i32.const 2184 i32.const 1 call $~lib/builtins/abort unreachable @@ -34028,7 +33248,7 @@ if i32.const 0 i32.const 1056 - i32.const 2189 + i32.const 2185 i32.const 1 call $~lib/builtins/abort unreachable @@ -34041,7 +33261,7 @@ if i32.const 0 i32.const 1056 - i32.const 2190 + i32.const 2186 i32.const 1 call $~lib/builtins/abort unreachable @@ -34054,7 +33274,7 @@ if i32.const 0 i32.const 1056 - i32.const 2191 + i32.const 2187 i32.const 1 call $~lib/builtins/abort unreachable @@ -34067,7 +33287,7 @@ if i32.const 0 i32.const 1056 - i32.const 2192 + i32.const 2188 i32.const 1 call $~lib/builtins/abort unreachable @@ -34080,7 +33300,7 @@ if i32.const 0 i32.const 1056 - i32.const 2193 + i32.const 2189 i32.const 1 call $~lib/builtins/abort unreachable @@ -34093,7 +33313,7 @@ if i32.const 0 i32.const 1056 - i32.const 2194 + i32.const 2190 i32.const 1 call $~lib/builtins/abort unreachable @@ -34106,7 +33326,7 @@ if i32.const 0 i32.const 1056 - i32.const 2195 + i32.const 2191 i32.const 1 call $~lib/builtins/abort unreachable @@ -34119,7 +33339,7 @@ if i32.const 0 i32.const 1056 - i32.const 2196 + i32.const 2192 i32.const 1 call $~lib/builtins/abort unreachable @@ -34132,7 +33352,7 @@ if i32.const 0 i32.const 1056 - i32.const 2197 + i32.const 2193 i32.const 1 call $~lib/builtins/abort unreachable @@ -34145,7 +33365,7 @@ if i32.const 0 i32.const 1056 - i32.const 2198 + i32.const 2194 i32.const 1 call $~lib/builtins/abort unreachable @@ -34158,7 +33378,7 @@ if i32.const 0 i32.const 1056 - i32.const 2199 + i32.const 2195 i32.const 1 call $~lib/builtins/abort unreachable @@ -34171,7 +33391,7 @@ if i32.const 0 i32.const 1056 - i32.const 2200 + i32.const 2196 i32.const 1 call $~lib/builtins/abort unreachable @@ -34184,7 +33404,7 @@ if i32.const 0 i32.const 1056 - i32.const 2201 + i32.const 2197 i32.const 1 call $~lib/builtins/abort unreachable @@ -34197,7 +33417,7 @@ if i32.const 0 i32.const 1056 - i32.const 2202 + i32.const 2198 i32.const 1 call $~lib/builtins/abort unreachable @@ -34210,7 +33430,7 @@ if i32.const 0 i32.const 1056 - i32.const 2203 + i32.const 2199 i32.const 1 call $~lib/builtins/abort unreachable @@ -34223,7 +33443,7 @@ if i32.const 0 i32.const 1056 - i32.const 2204 + i32.const 2200 i32.const 1 call $~lib/builtins/abort unreachable @@ -34236,7 +33456,7 @@ if i32.const 0 i32.const 1056 - i32.const 2205 + i32.const 2201 i32.const 1 call $~lib/builtins/abort unreachable @@ -34249,7 +33469,7 @@ if i32.const 0 i32.const 1056 - i32.const 2206 + i32.const 2202 i32.const 1 call $~lib/builtins/abort unreachable @@ -34262,7 +33482,7 @@ if i32.const 0 i32.const 1056 - i32.const 2207 + i32.const 2203 i32.const 1 call $~lib/builtins/abort unreachable @@ -34275,7 +33495,7 @@ if i32.const 0 i32.const 1056 - i32.const 2208 + i32.const 2204 i32.const 1 call $~lib/builtins/abort unreachable @@ -34288,7 +33508,7 @@ if i32.const 0 i32.const 1056 - i32.const 2209 + i32.const 2205 i32.const 1 call $~lib/builtins/abort unreachable @@ -34301,7 +33521,7 @@ if i32.const 0 i32.const 1056 - i32.const 2210 + i32.const 2206 i32.const 1 call $~lib/builtins/abort unreachable @@ -34314,7 +33534,7 @@ if i32.const 0 i32.const 1056 - i32.const 2211 + i32.const 2207 i32.const 1 call $~lib/builtins/abort unreachable @@ -34327,7 +33547,7 @@ if i32.const 0 i32.const 1056 - i32.const 2212 + i32.const 2208 i32.const 1 call $~lib/builtins/abort unreachable @@ -34340,7 +33560,7 @@ if i32.const 0 i32.const 1056 - i32.const 2213 + i32.const 2209 i32.const 1 call $~lib/builtins/abort unreachable @@ -34353,7 +33573,7 @@ if i32.const 0 i32.const 1056 - i32.const 2214 + i32.const 2210 i32.const 1 call $~lib/builtins/abort unreachable @@ -34366,7 +33586,7 @@ if i32.const 0 i32.const 1056 - i32.const 2215 + i32.const 2211 i32.const 1 call $~lib/builtins/abort unreachable @@ -34379,7 +33599,7 @@ if i32.const 0 i32.const 1056 - i32.const 2216 + i32.const 2212 i32.const 1 call $~lib/builtins/abort unreachable @@ -34392,7 +33612,7 @@ if i32.const 0 i32.const 1056 - i32.const 2217 + i32.const 2213 i32.const 1 call $~lib/builtins/abort unreachable @@ -34405,7 +33625,7 @@ if i32.const 0 i32.const 1056 - i32.const 2218 + i32.const 2214 i32.const 1 call $~lib/builtins/abort unreachable @@ -34418,7 +33638,7 @@ if i32.const 0 i32.const 1056 - i32.const 2219 + i32.const 2215 i32.const 1 call $~lib/builtins/abort unreachable @@ -34431,7 +33651,7 @@ if i32.const 0 i32.const 1056 - i32.const 2220 + i32.const 2216 i32.const 1 call $~lib/builtins/abort unreachable @@ -34444,7 +33664,7 @@ if i32.const 0 i32.const 1056 - i32.const 2221 + i32.const 2217 i32.const 1 call $~lib/builtins/abort unreachable @@ -34457,7 +33677,7 @@ if i32.const 0 i32.const 1056 - i32.const 2222 + i32.const 2218 i32.const 1 call $~lib/builtins/abort unreachable @@ -34470,7 +33690,7 @@ if i32.const 0 i32.const 1056 - i32.const 2223 + i32.const 2219 i32.const 1 call $~lib/builtins/abort unreachable @@ -34483,7 +33703,7 @@ if i32.const 0 i32.const 1056 - i32.const 2224 + i32.const 2220 i32.const 1 call $~lib/builtins/abort unreachable @@ -34496,7 +33716,7 @@ if i32.const 0 i32.const 1056 - i32.const 2225 + i32.const 2221 i32.const 1 call $~lib/builtins/abort unreachable @@ -34509,7 +33729,7 @@ if i32.const 0 i32.const 1056 - i32.const 2226 + i32.const 2222 i32.const 1 call $~lib/builtins/abort unreachable @@ -34522,7 +33742,7 @@ if i32.const 0 i32.const 1056 - i32.const 2227 + i32.const 2223 i32.const 1 call $~lib/builtins/abort unreachable @@ -34535,7 +33755,7 @@ if i32.const 0 i32.const 1056 - i32.const 2228 + i32.const 2224 i32.const 1 call $~lib/builtins/abort unreachable @@ -34548,7 +33768,7 @@ if i32.const 0 i32.const 1056 - i32.const 2229 + i32.const 2225 i32.const 1 call $~lib/builtins/abort unreachable @@ -34561,7 +33781,7 @@ if i32.const 0 i32.const 1056 - i32.const 2230 + i32.const 2226 i32.const 1 call $~lib/builtins/abort unreachable @@ -34574,7 +33794,7 @@ if i32.const 0 i32.const 1056 - i32.const 2231 + i32.const 2227 i32.const 1 call $~lib/builtins/abort unreachable @@ -34587,7 +33807,7 @@ if i32.const 0 i32.const 1056 - i32.const 2232 + i32.const 2228 i32.const 1 call $~lib/builtins/abort unreachable @@ -34600,7 +33820,7 @@ if i32.const 0 i32.const 1056 - i32.const 2233 + i32.const 2229 i32.const 1 call $~lib/builtins/abort unreachable @@ -34613,7 +33833,7 @@ if i32.const 0 i32.const 1056 - i32.const 2234 + i32.const 2230 i32.const 1 call $~lib/builtins/abort unreachable @@ -34626,7 +33846,7 @@ if i32.const 0 i32.const 1056 - i32.const 2235 + i32.const 2231 i32.const 1 call $~lib/builtins/abort unreachable @@ -34639,7 +33859,7 @@ if i32.const 0 i32.const 1056 - i32.const 2236 + i32.const 2232 i32.const 1 call $~lib/builtins/abort unreachable @@ -34652,7 +33872,7 @@ if i32.const 0 i32.const 1056 - i32.const 2237 + i32.const 2233 i32.const 1 call $~lib/builtins/abort unreachable @@ -34665,7 +33885,7 @@ if i32.const 0 i32.const 1056 - i32.const 2238 + i32.const 2234 i32.const 1 call $~lib/builtins/abort unreachable @@ -34678,7 +33898,7 @@ if i32.const 0 i32.const 1056 - i32.const 2247 + i32.const 2243 i32.const 1 call $~lib/builtins/abort unreachable @@ -34691,7 +33911,7 @@ if i32.const 0 i32.const 1056 - i32.const 2248 + i32.const 2244 i32.const 1 call $~lib/builtins/abort unreachable @@ -34704,7 +33924,7 @@ if i32.const 0 i32.const 1056 - i32.const 2249 + i32.const 2245 i32.const 1 call $~lib/builtins/abort unreachable @@ -34717,7 +33937,7 @@ if i32.const 0 i32.const 1056 - i32.const 2250 + i32.const 2246 i32.const 1 call $~lib/builtins/abort unreachable @@ -34730,7 +33950,7 @@ if i32.const 0 i32.const 1056 - i32.const 2251 + i32.const 2247 i32.const 1 call $~lib/builtins/abort unreachable @@ -34743,7 +33963,7 @@ if i32.const 0 i32.const 1056 - i32.const 2252 + i32.const 2248 i32.const 1 call $~lib/builtins/abort unreachable @@ -34756,7 +33976,7 @@ if i32.const 0 i32.const 1056 - i32.const 2253 + i32.const 2249 i32.const 1 call $~lib/builtins/abort unreachable @@ -34769,7 +33989,7 @@ if i32.const 0 i32.const 1056 - i32.const 2254 + i32.const 2250 i32.const 1 call $~lib/builtins/abort unreachable @@ -34782,7 +34002,7 @@ if i32.const 0 i32.const 1056 - i32.const 2255 + i32.const 2251 i32.const 1 call $~lib/builtins/abort unreachable @@ -34795,7 +34015,7 @@ if i32.const 0 i32.const 1056 - i32.const 2256 + i32.const 2252 i32.const 1 call $~lib/builtins/abort unreachable @@ -34808,7 +34028,7 @@ if i32.const 0 i32.const 1056 - i32.const 2259 + i32.const 2255 i32.const 1 call $~lib/builtins/abort unreachable @@ -34821,7 +34041,7 @@ if i32.const 0 i32.const 1056 - i32.const 2260 + i32.const 2256 i32.const 1 call $~lib/builtins/abort unreachable @@ -34834,7 +34054,7 @@ if i32.const 0 i32.const 1056 - i32.const 2261 + i32.const 2257 i32.const 1 call $~lib/builtins/abort unreachable @@ -34847,7 +34067,7 @@ if i32.const 0 i32.const 1056 - i32.const 2262 + i32.const 2258 i32.const 1 call $~lib/builtins/abort unreachable @@ -34860,7 +34080,7 @@ if i32.const 0 i32.const 1056 - i32.const 2263 + i32.const 2259 i32.const 1 call $~lib/builtins/abort unreachable @@ -34873,7 +34093,7 @@ if i32.const 0 i32.const 1056 - i32.const 2264 + i32.const 2260 i32.const 1 call $~lib/builtins/abort unreachable @@ -34886,7 +34106,7 @@ if i32.const 0 i32.const 1056 - i32.const 2265 + i32.const 2261 i32.const 1 call $~lib/builtins/abort unreachable @@ -34899,7 +34119,7 @@ if i32.const 0 i32.const 1056 - i32.const 2266 + i32.const 2262 i32.const 1 call $~lib/builtins/abort unreachable @@ -34912,7 +34132,7 @@ if i32.const 0 i32.const 1056 - i32.const 2267 + i32.const 2263 i32.const 1 call $~lib/builtins/abort unreachable @@ -34925,7 +34145,7 @@ if i32.const 0 i32.const 1056 - i32.const 2268 + i32.const 2264 i32.const 1 call $~lib/builtins/abort unreachable @@ -34938,7 +34158,7 @@ if i32.const 0 i32.const 1056 - i32.const 2269 + i32.const 2265 i32.const 1 call $~lib/builtins/abort unreachable @@ -34951,7 +34171,7 @@ if i32.const 0 i32.const 1056 - i32.const 2270 + i32.const 2266 i32.const 1 call $~lib/builtins/abort unreachable @@ -34964,7 +34184,7 @@ if i32.const 0 i32.const 1056 - i32.const 2271 + i32.const 2267 i32.const 1 call $~lib/builtins/abort unreachable @@ -34977,7 +34197,7 @@ if i32.const 0 i32.const 1056 - i32.const 2272 + i32.const 2268 i32.const 1 call $~lib/builtins/abort unreachable @@ -34990,7 +34210,7 @@ if i32.const 0 i32.const 1056 - i32.const 2273 + i32.const 2269 i32.const 1 call $~lib/builtins/abort unreachable @@ -35003,7 +34223,7 @@ if i32.const 0 i32.const 1056 - i32.const 2274 + i32.const 2270 i32.const 1 call $~lib/builtins/abort unreachable @@ -35016,7 +34236,7 @@ if i32.const 0 i32.const 1056 - i32.const 2275 + i32.const 2271 i32.const 1 call $~lib/builtins/abort unreachable @@ -35029,7 +34249,7 @@ if i32.const 0 i32.const 1056 - i32.const 2276 + i32.const 2272 i32.const 1 call $~lib/builtins/abort unreachable @@ -35042,7 +34262,7 @@ if i32.const 0 i32.const 1056 - i32.const 2277 + i32.const 2273 i32.const 1 call $~lib/builtins/abort unreachable @@ -35055,7 +34275,7 @@ if i32.const 0 i32.const 1056 - i32.const 2278 + i32.const 2274 i32.const 1 call $~lib/builtins/abort unreachable @@ -35068,7 +34288,7 @@ if i32.const 0 i32.const 1056 - i32.const 2279 + i32.const 2275 i32.const 1 call $~lib/builtins/abort unreachable @@ -35081,7 +34301,7 @@ if i32.const 0 i32.const 1056 - i32.const 2280 + i32.const 2276 i32.const 1 call $~lib/builtins/abort unreachable @@ -35094,7 +34314,7 @@ if i32.const 0 i32.const 1056 - i32.const 2281 + i32.const 2277 i32.const 1 call $~lib/builtins/abort unreachable @@ -35107,7 +34327,7 @@ if i32.const 0 i32.const 1056 - i32.const 2282 + i32.const 2278 i32.const 1 call $~lib/builtins/abort unreachable @@ -35120,7 +34340,7 @@ if i32.const 0 i32.const 1056 - i32.const 2283 + i32.const 2279 i32.const 1 call $~lib/builtins/abort unreachable @@ -35133,7 +34353,7 @@ if i32.const 0 i32.const 1056 - i32.const 2284 + i32.const 2280 i32.const 1 call $~lib/builtins/abort unreachable @@ -35146,7 +34366,7 @@ if i32.const 0 i32.const 1056 - i32.const 2285 + i32.const 2281 i32.const 1 call $~lib/builtins/abort unreachable @@ -35159,7 +34379,7 @@ if i32.const 0 i32.const 1056 - i32.const 2286 + i32.const 2282 i32.const 1 call $~lib/builtins/abort unreachable @@ -35172,7 +34392,7 @@ if i32.const 0 i32.const 1056 - i32.const 2287 + i32.const 2283 i32.const 1 call $~lib/builtins/abort unreachable @@ -35185,7 +34405,7 @@ if i32.const 0 i32.const 1056 - i32.const 2288 + i32.const 2284 i32.const 1 call $~lib/builtins/abort unreachable @@ -35198,7 +34418,7 @@ if i32.const 0 i32.const 1056 - i32.const 2289 + i32.const 2285 i32.const 1 call $~lib/builtins/abort unreachable @@ -35211,7 +34431,7 @@ if i32.const 0 i32.const 1056 - i32.const 2290 + i32.const 2286 i32.const 1 call $~lib/builtins/abort unreachable @@ -35224,7 +34444,7 @@ if i32.const 0 i32.const 1056 - i32.const 2291 + i32.const 2287 i32.const 1 call $~lib/builtins/abort unreachable @@ -35237,7 +34457,7 @@ if i32.const 0 i32.const 1056 - i32.const 2292 + i32.const 2288 i32.const 1 call $~lib/builtins/abort unreachable @@ -35250,7 +34470,7 @@ if i32.const 0 i32.const 1056 - i32.const 2293 + i32.const 2289 i32.const 1 call $~lib/builtins/abort unreachable @@ -35263,7 +34483,7 @@ if i32.const 0 i32.const 1056 - i32.const 2294 + i32.const 2290 i32.const 1 call $~lib/builtins/abort unreachable @@ -35276,7 +34496,7 @@ if i32.const 0 i32.const 1056 - i32.const 2295 + i32.const 2291 i32.const 1 call $~lib/builtins/abort unreachable @@ -35289,7 +34509,7 @@ if i32.const 0 i32.const 1056 - i32.const 2296 + i32.const 2292 i32.const 1 call $~lib/builtins/abort unreachable @@ -35302,7 +34522,7 @@ if i32.const 0 i32.const 1056 - i32.const 2297 + i32.const 2293 i32.const 1 call $~lib/builtins/abort unreachable @@ -35315,7 +34535,7 @@ if i32.const 0 i32.const 1056 - i32.const 2298 + i32.const 2294 i32.const 1 call $~lib/builtins/abort unreachable @@ -35328,7 +34548,7 @@ if i32.const 0 i32.const 1056 - i32.const 2299 + i32.const 2295 i32.const 1 call $~lib/builtins/abort unreachable @@ -35341,7 +34561,7 @@ if i32.const 0 i32.const 1056 - i32.const 2300 + i32.const 2296 i32.const 1 call $~lib/builtins/abort unreachable @@ -35354,7 +34574,7 @@ if i32.const 0 i32.const 1056 - i32.const 2301 + i32.const 2297 i32.const 1 call $~lib/builtins/abort unreachable @@ -35367,7 +34587,7 @@ if i32.const 0 i32.const 1056 - i32.const 2302 + i32.const 2298 i32.const 1 call $~lib/builtins/abort unreachable @@ -35380,7 +34600,7 @@ if i32.const 0 i32.const 1056 - i32.const 2303 + i32.const 2299 i32.const 1 call $~lib/builtins/abort unreachable @@ -35393,7 +34613,7 @@ if i32.const 0 i32.const 1056 - i32.const 2304 + i32.const 2300 i32.const 1 call $~lib/builtins/abort unreachable @@ -35406,7 +34626,7 @@ if i32.const 0 i32.const 1056 - i32.const 2305 + i32.const 2301 i32.const 1 call $~lib/builtins/abort unreachable @@ -35419,7 +34639,7 @@ if i32.const 0 i32.const 1056 - i32.const 2306 + i32.const 2302 i32.const 1 call $~lib/builtins/abort unreachable @@ -35432,7 +34652,7 @@ if i32.const 0 i32.const 1056 - i32.const 2307 + i32.const 2303 i32.const 1 call $~lib/builtins/abort unreachable @@ -35445,7 +34665,7 @@ if i32.const 0 i32.const 1056 - i32.const 2308 + i32.const 2304 i32.const 1 call $~lib/builtins/abort unreachable @@ -35458,7 +34678,7 @@ if i32.const 0 i32.const 1056 - i32.const 2309 + i32.const 2305 i32.const 1 call $~lib/builtins/abort unreachable @@ -35471,7 +34691,7 @@ if i32.const 0 i32.const 1056 - i32.const 2310 + i32.const 2306 i32.const 1 call $~lib/builtins/abort unreachable @@ -35484,7 +34704,7 @@ if i32.const 0 i32.const 1056 - i32.const 2311 + i32.const 2307 i32.const 1 call $~lib/builtins/abort unreachable @@ -35497,7 +34717,7 @@ if i32.const 0 i32.const 1056 - i32.const 2312 + i32.const 2308 i32.const 1 call $~lib/builtins/abort unreachable @@ -35510,7 +34730,7 @@ if i32.const 0 i32.const 1056 - i32.const 2313 + i32.const 2309 i32.const 1 call $~lib/builtins/abort unreachable @@ -35523,7 +34743,7 @@ if i32.const 0 i32.const 1056 - i32.const 2314 + i32.const 2310 i32.const 1 call $~lib/builtins/abort unreachable @@ -35536,7 +34756,7 @@ if i32.const 0 i32.const 1056 - i32.const 2315 + i32.const 2311 i32.const 1 call $~lib/builtins/abort unreachable @@ -35549,7 +34769,7 @@ if i32.const 0 i32.const 1056 - i32.const 2316 + i32.const 2312 i32.const 1 call $~lib/builtins/abort unreachable @@ -35562,7 +34782,7 @@ if i32.const 0 i32.const 1056 - i32.const 2330 + i32.const 2326 i32.const 1 call $~lib/builtins/abort unreachable @@ -35575,7 +34795,7 @@ if i32.const 0 i32.const 1056 - i32.const 2331 + i32.const 2327 i32.const 1 call $~lib/builtins/abort unreachable @@ -35588,7 +34808,7 @@ if i32.const 0 i32.const 1056 - i32.const 2332 + i32.const 2328 i32.const 1 call $~lib/builtins/abort unreachable @@ -35601,7 +34821,7 @@ if i32.const 0 i32.const 1056 - i32.const 2333 + i32.const 2329 i32.const 1 call $~lib/builtins/abort unreachable @@ -35614,7 +34834,7 @@ if i32.const 0 i32.const 1056 - i32.const 2334 + i32.const 2330 i32.const 1 call $~lib/builtins/abort unreachable @@ -35627,7 +34847,7 @@ if i32.const 0 i32.const 1056 - i32.const 2335 + i32.const 2331 i32.const 1 call $~lib/builtins/abort unreachable @@ -35640,7 +34860,7 @@ if i32.const 0 i32.const 1056 - i32.const 2336 + i32.const 2332 i32.const 1 call $~lib/builtins/abort unreachable @@ -35653,7 +34873,7 @@ if i32.const 0 i32.const 1056 - i32.const 2337 + i32.const 2333 i32.const 1 call $~lib/builtins/abort unreachable @@ -35666,7 +34886,7 @@ if i32.const 0 i32.const 1056 - i32.const 2338 + i32.const 2334 i32.const 1 call $~lib/builtins/abort unreachable @@ -35679,7 +34899,7 @@ if i32.const 0 i32.const 1056 - i32.const 2339 + i32.const 2335 i32.const 1 call $~lib/builtins/abort unreachable @@ -35692,7 +34912,7 @@ if i32.const 0 i32.const 1056 - i32.const 2342 + i32.const 2338 i32.const 1 call $~lib/builtins/abort unreachable @@ -35705,7 +34925,7 @@ if i32.const 0 i32.const 1056 - i32.const 2343 + i32.const 2339 i32.const 1 call $~lib/builtins/abort unreachable @@ -35718,7 +34938,7 @@ if i32.const 0 i32.const 1056 - i32.const 2344 + i32.const 2340 i32.const 1 call $~lib/builtins/abort unreachable @@ -35731,7 +34951,7 @@ if i32.const 0 i32.const 1056 - i32.const 2345 + i32.const 2341 i32.const 1 call $~lib/builtins/abort unreachable @@ -35744,7 +34964,7 @@ if i32.const 0 i32.const 1056 - i32.const 2346 + i32.const 2342 i32.const 1 call $~lib/builtins/abort unreachable @@ -35757,7 +34977,7 @@ if i32.const 0 i32.const 1056 - i32.const 2347 + i32.const 2343 i32.const 1 call $~lib/builtins/abort unreachable @@ -35770,7 +34990,7 @@ if i32.const 0 i32.const 1056 - i32.const 2348 + i32.const 2344 i32.const 1 call $~lib/builtins/abort unreachable @@ -35783,7 +35003,7 @@ if i32.const 0 i32.const 1056 - i32.const 2349 + i32.const 2345 i32.const 1 call $~lib/builtins/abort unreachable @@ -35796,7 +35016,7 @@ if i32.const 0 i32.const 1056 - i32.const 2350 + i32.const 2346 i32.const 1 call $~lib/builtins/abort unreachable @@ -35809,7 +35029,7 @@ if i32.const 0 i32.const 1056 - i32.const 2351 + i32.const 2347 i32.const 1 call $~lib/builtins/abort unreachable @@ -35822,7 +35042,7 @@ if i32.const 0 i32.const 1056 - i32.const 2352 + i32.const 2348 i32.const 1 call $~lib/builtins/abort unreachable @@ -35835,7 +35055,7 @@ if i32.const 0 i32.const 1056 - i32.const 2353 + i32.const 2349 i32.const 1 call $~lib/builtins/abort unreachable @@ -35848,7 +35068,7 @@ if i32.const 0 i32.const 1056 - i32.const 2354 + i32.const 2350 i32.const 1 call $~lib/builtins/abort unreachable @@ -35861,7 +35081,7 @@ if i32.const 0 i32.const 1056 - i32.const 2355 + i32.const 2351 i32.const 1 call $~lib/builtins/abort unreachable @@ -35874,7 +35094,7 @@ if i32.const 0 i32.const 1056 - i32.const 2356 + i32.const 2352 i32.const 1 call $~lib/builtins/abort unreachable @@ -35887,7 +35107,7 @@ if i32.const 0 i32.const 1056 - i32.const 2357 + i32.const 2353 i32.const 1 call $~lib/builtins/abort unreachable @@ -35900,7 +35120,7 @@ if i32.const 0 i32.const 1056 - i32.const 2358 + i32.const 2354 i32.const 1 call $~lib/builtins/abort unreachable @@ -35913,7 +35133,7 @@ if i32.const 0 i32.const 1056 - i32.const 2359 + i32.const 2355 i32.const 1 call $~lib/builtins/abort unreachable @@ -35926,7 +35146,7 @@ if i32.const 0 i32.const 1056 - i32.const 2360 + i32.const 2356 i32.const 1 call $~lib/builtins/abort unreachable @@ -35939,7 +35159,7 @@ if i32.const 0 i32.const 1056 - i32.const 2361 + i32.const 2357 i32.const 1 call $~lib/builtins/abort unreachable @@ -35952,7 +35172,7 @@ if i32.const 0 i32.const 1056 - i32.const 2362 + i32.const 2358 i32.const 1 call $~lib/builtins/abort unreachable @@ -35965,7 +35185,7 @@ if i32.const 0 i32.const 1056 - i32.const 2363 + i32.const 2359 i32.const 1 call $~lib/builtins/abort unreachable @@ -35978,7 +35198,7 @@ if i32.const 0 i32.const 1056 - i32.const 2364 + i32.const 2360 i32.const 1 call $~lib/builtins/abort unreachable @@ -35991,7 +35211,7 @@ if i32.const 0 i32.const 1056 - i32.const 2365 + i32.const 2361 i32.const 1 call $~lib/builtins/abort unreachable @@ -36004,7 +35224,7 @@ if i32.const 0 i32.const 1056 - i32.const 2366 + i32.const 2362 i32.const 1 call $~lib/builtins/abort unreachable @@ -36017,7 +35237,7 @@ if i32.const 0 i32.const 1056 - i32.const 2367 + i32.const 2363 i32.const 1 call $~lib/builtins/abort unreachable @@ -36030,7 +35250,7 @@ if i32.const 0 i32.const 1056 - i32.const 2368 + i32.const 2364 i32.const 1 call $~lib/builtins/abort unreachable @@ -36043,7 +35263,7 @@ if i32.const 0 i32.const 1056 - i32.const 2369 + i32.const 2365 i32.const 1 call $~lib/builtins/abort unreachable @@ -36056,7 +35276,7 @@ if i32.const 0 i32.const 1056 - i32.const 2370 + i32.const 2366 i32.const 1 call $~lib/builtins/abort unreachable @@ -36069,7 +35289,7 @@ if i32.const 0 i32.const 1056 - i32.const 2371 + i32.const 2367 i32.const 1 call $~lib/builtins/abort unreachable @@ -36082,7 +35302,7 @@ if i32.const 0 i32.const 1056 - i32.const 2372 + i32.const 2368 i32.const 1 call $~lib/builtins/abort unreachable @@ -36095,7 +35315,7 @@ if i32.const 0 i32.const 1056 - i32.const 2373 + i32.const 2369 i32.const 1 call $~lib/builtins/abort unreachable @@ -36108,7 +35328,7 @@ if i32.const 0 i32.const 1056 - i32.const 2374 + i32.const 2370 i32.const 1 call $~lib/builtins/abort unreachable @@ -36121,7 +35341,7 @@ if i32.const 0 i32.const 1056 - i32.const 2375 + i32.const 2371 i32.const 1 call $~lib/builtins/abort unreachable @@ -36134,7 +35354,7 @@ if i32.const 0 i32.const 1056 - i32.const 2376 + i32.const 2372 i32.const 1 call $~lib/builtins/abort unreachable @@ -36147,7 +35367,7 @@ if i32.const 0 i32.const 1056 - i32.const 2377 + i32.const 2373 i32.const 1 call $~lib/builtins/abort unreachable @@ -36160,7 +35380,7 @@ if i32.const 0 i32.const 1056 - i32.const 2378 + i32.const 2374 i32.const 1 call $~lib/builtins/abort unreachable @@ -36173,7 +35393,7 @@ if i32.const 0 i32.const 1056 - i32.const 2379 + i32.const 2375 i32.const 1 call $~lib/builtins/abort unreachable @@ -36186,7 +35406,7 @@ if i32.const 0 i32.const 1056 - i32.const 2380 + i32.const 2376 i32.const 1 call $~lib/builtins/abort unreachable @@ -36199,7 +35419,7 @@ if i32.const 0 i32.const 1056 - i32.const 2381 + i32.const 2377 i32.const 1 call $~lib/builtins/abort unreachable @@ -36212,7 +35432,7 @@ if i32.const 0 i32.const 1056 - i32.const 2382 + i32.const 2378 i32.const 1 call $~lib/builtins/abort unreachable @@ -36225,7 +35445,7 @@ if i32.const 0 i32.const 1056 - i32.const 2383 + i32.const 2379 i32.const 1 call $~lib/builtins/abort unreachable @@ -36238,7 +35458,7 @@ if i32.const 0 i32.const 1056 - i32.const 2384 + i32.const 2380 i32.const 1 call $~lib/builtins/abort unreachable @@ -36251,7 +35471,7 @@ if i32.const 0 i32.const 1056 - i32.const 2385 + i32.const 2381 i32.const 1 call $~lib/builtins/abort unreachable @@ -36264,7 +35484,7 @@ if i32.const 0 i32.const 1056 - i32.const 2386 + i32.const 2382 i32.const 1 call $~lib/builtins/abort unreachable @@ -36277,7 +35497,7 @@ if i32.const 0 i32.const 1056 - i32.const 2387 + i32.const 2383 i32.const 1 call $~lib/builtins/abort unreachable @@ -36290,7 +35510,7 @@ if i32.const 0 i32.const 1056 - i32.const 2388 + i32.const 2384 i32.const 1 call $~lib/builtins/abort unreachable @@ -36303,7 +35523,7 @@ if i32.const 0 i32.const 1056 - i32.const 2389 + i32.const 2385 i32.const 1 call $~lib/builtins/abort unreachable @@ -36316,7 +35536,7 @@ if i32.const 0 i32.const 1056 - i32.const 2390 + i32.const 2386 i32.const 1 call $~lib/builtins/abort unreachable @@ -36329,7 +35549,7 @@ if i32.const 0 i32.const 1056 - i32.const 2391 + i32.const 2387 i32.const 1 call $~lib/builtins/abort unreachable @@ -36342,7 +35562,7 @@ if i32.const 0 i32.const 1056 - i32.const 2392 + i32.const 2388 i32.const 1 call $~lib/builtins/abort unreachable @@ -36355,7 +35575,7 @@ if i32.const 0 i32.const 1056 - i32.const 2393 + i32.const 2389 i32.const 1 call $~lib/builtins/abort unreachable @@ -36368,7 +35588,7 @@ if i32.const 0 i32.const 1056 - i32.const 2394 + i32.const 2390 i32.const 1 call $~lib/builtins/abort unreachable @@ -36381,7 +35601,7 @@ if i32.const 0 i32.const 1056 - i32.const 2395 + i32.const 2391 i32.const 1 call $~lib/builtins/abort unreachable @@ -36394,7 +35614,7 @@ if i32.const 0 i32.const 1056 - i32.const 2396 + i32.const 2392 i32.const 1 call $~lib/builtins/abort unreachable @@ -36407,7 +35627,7 @@ if i32.const 0 i32.const 1056 - i32.const 2397 + i32.const 2393 i32.const 1 call $~lib/builtins/abort unreachable @@ -36420,7 +35640,7 @@ if i32.const 0 i32.const 1056 - i32.const 2398 + i32.const 2394 i32.const 1 call $~lib/builtins/abort unreachable @@ -36433,7 +35653,7 @@ if i32.const 0 i32.const 1056 - i32.const 2399 + i32.const 2395 i32.const 1 call $~lib/builtins/abort unreachable @@ -36446,7 +35666,7 @@ if i32.const 0 i32.const 1056 - i32.const 2400 + i32.const 2396 i32.const 1 call $~lib/builtins/abort unreachable @@ -36459,7 +35679,7 @@ if i32.const 0 i32.const 1056 - i32.const 2401 + i32.const 2397 i32.const 1 call $~lib/builtins/abort unreachable @@ -36472,7 +35692,7 @@ if i32.const 0 i32.const 1056 - i32.const 2402 + i32.const 2398 i32.const 1 call $~lib/builtins/abort unreachable @@ -36485,7 +35705,7 @@ if i32.const 0 i32.const 1056 - i32.const 2403 + i32.const 2399 i32.const 1 call $~lib/builtins/abort unreachable @@ -36498,7 +35718,7 @@ if i32.const 0 i32.const 1056 - i32.const 2404 + i32.const 2400 i32.const 1 call $~lib/builtins/abort unreachable @@ -36511,7 +35731,7 @@ if i32.const 0 i32.const 1056 - i32.const 2405 + i32.const 2401 i32.const 1 call $~lib/builtins/abort unreachable @@ -36524,7 +35744,7 @@ if i32.const 0 i32.const 1056 - i32.const 2406 + i32.const 2402 i32.const 1 call $~lib/builtins/abort unreachable @@ -36537,7 +35757,7 @@ if i32.const 0 i32.const 1056 - i32.const 2407 + i32.const 2403 i32.const 1 call $~lib/builtins/abort unreachable @@ -36550,7 +35770,7 @@ if i32.const 0 i32.const 1056 - i32.const 2410 + i32.const 2406 i32.const 1 call $~lib/builtins/abort unreachable @@ -36563,7 +35783,7 @@ if i32.const 0 i32.const 1056 - i32.const 2411 + i32.const 2407 i32.const 1 call $~lib/builtins/abort unreachable @@ -36576,7 +35796,7 @@ if i32.const 0 i32.const 1056 - i32.const 2412 + i32.const 2408 i32.const 1 call $~lib/builtins/abort unreachable @@ -36589,7 +35809,7 @@ if i32.const 0 i32.const 1056 - i32.const 2413 + i32.const 2409 i32.const 1 call $~lib/builtins/abort unreachable @@ -36602,7 +35822,7 @@ if i32.const 0 i32.const 1056 - i32.const 2414 + i32.const 2410 i32.const 1 call $~lib/builtins/abort unreachable @@ -36615,7 +35835,7 @@ if i32.const 0 i32.const 1056 - i32.const 2415 + i32.const 2411 i32.const 1 call $~lib/builtins/abort unreachable @@ -36628,7 +35848,7 @@ if i32.const 0 i32.const 1056 - i32.const 2416 + i32.const 2412 i32.const 1 call $~lib/builtins/abort unreachable @@ -36641,7 +35861,7 @@ if i32.const 0 i32.const 1056 - i32.const 2417 + i32.const 2413 i32.const 1 call $~lib/builtins/abort unreachable @@ -36654,7 +35874,7 @@ if i32.const 0 i32.const 1056 - i32.const 2420 + i32.const 2416 i32.const 1 call $~lib/builtins/abort unreachable @@ -36667,7 +35887,7 @@ if i32.const 0 i32.const 1056 - i32.const 2421 + i32.const 2417 i32.const 1 call $~lib/builtins/abort unreachable @@ -36680,7 +35900,7 @@ if i32.const 0 i32.const 1056 - i32.const 2422 + i32.const 2418 i32.const 1 call $~lib/builtins/abort unreachable @@ -36693,7 +35913,7 @@ if i32.const 0 i32.const 1056 - i32.const 2423 + i32.const 2419 i32.const 1 call $~lib/builtins/abort unreachable @@ -36706,7 +35926,7 @@ if i32.const 0 i32.const 1056 - i32.const 2424 + i32.const 2420 i32.const 1 call $~lib/builtins/abort unreachable @@ -36719,7 +35939,7 @@ if i32.const 0 i32.const 1056 - i32.const 2425 + i32.const 2421 i32.const 1 call $~lib/builtins/abort unreachable @@ -36732,7 +35952,7 @@ if i32.const 0 i32.const 1056 - i32.const 2426 + i32.const 2422 i32.const 1 call $~lib/builtins/abort unreachable @@ -36745,7 +35965,7 @@ if i32.const 0 i32.const 1056 - i32.const 2427 + i32.const 2423 i32.const 1 call $~lib/builtins/abort unreachable @@ -36758,7 +35978,7 @@ if i32.const 0 i32.const 1056 - i32.const 2430 + i32.const 2426 i32.const 1 call $~lib/builtins/abort unreachable @@ -36771,7 +35991,7 @@ if i32.const 0 i32.const 1056 - i32.const 2431 + i32.const 2427 i32.const 1 call $~lib/builtins/abort unreachable @@ -36784,7 +36004,7 @@ if i32.const 0 i32.const 1056 - i32.const 2433 + i32.const 2429 i32.const 1 call $~lib/builtins/abort unreachable @@ -36797,7 +36017,7 @@ if i32.const 0 i32.const 1056 - i32.const 2434 + i32.const 2430 i32.const 1 call $~lib/builtins/abort unreachable @@ -36810,7 +36030,7 @@ if i32.const 0 i32.const 1056 - i32.const 2436 + i32.const 2432 i32.const 1 call $~lib/builtins/abort unreachable @@ -36823,7 +36043,7 @@ if i32.const 0 i32.const 1056 - i32.const 2437 + i32.const 2433 i32.const 1 call $~lib/builtins/abort unreachable @@ -36836,7 +36056,7 @@ if i32.const 0 i32.const 1056 - i32.const 2439 + i32.const 2435 i32.const 1 call $~lib/builtins/abort unreachable @@ -36849,7 +36069,7 @@ if i32.const 0 i32.const 1056 - i32.const 2440 + i32.const 2436 i32.const 1 call $~lib/builtins/abort unreachable @@ -36862,7 +36082,7 @@ if i32.const 0 i32.const 1056 - i32.const 2442 + i32.const 2438 i32.const 1 call $~lib/builtins/abort unreachable @@ -36875,7 +36095,7 @@ if i32.const 0 i32.const 1056 - i32.const 2443 + i32.const 2439 i32.const 1 call $~lib/builtins/abort unreachable @@ -36888,7 +36108,7 @@ if i32.const 0 i32.const 1056 - i32.const 2445 + i32.const 2441 i32.const 1 call $~lib/builtins/abort unreachable @@ -36901,7 +36121,7 @@ if i32.const 0 i32.const 1056 - i32.const 2446 + i32.const 2442 i32.const 1 call $~lib/builtins/abort unreachable @@ -36914,7 +36134,7 @@ if i32.const 0 i32.const 1056 - i32.const 2448 + i32.const 2444 i32.const 1 call $~lib/builtins/abort unreachable @@ -36927,7 +36147,7 @@ if i32.const 0 i32.const 1056 - i32.const 2449 + i32.const 2445 i32.const 1 call $~lib/builtins/abort unreachable @@ -36940,7 +36160,7 @@ if i32.const 0 i32.const 1056 - i32.const 2451 + i32.const 2447 i32.const 1 call $~lib/builtins/abort unreachable @@ -36953,7 +36173,7 @@ if i32.const 0 i32.const 1056 - i32.const 2452 + i32.const 2448 i32.const 1 call $~lib/builtins/abort unreachable @@ -36966,7 +36186,7 @@ if i32.const 0 i32.const 1056 - i32.const 2454 + i32.const 2450 i32.const 1 call $~lib/builtins/abort unreachable @@ -36979,7 +36199,7 @@ if i32.const 0 i32.const 1056 - i32.const 2455 + i32.const 2451 i32.const 1 call $~lib/builtins/abort unreachable @@ -36992,7 +36212,7 @@ if i32.const 0 i32.const 1056 - i32.const 2457 + i32.const 2453 i32.const 1 call $~lib/builtins/abort unreachable @@ -37005,7 +36225,7 @@ if i32.const 0 i32.const 1056 - i32.const 2458 + i32.const 2454 i32.const 1 call $~lib/builtins/abort unreachable @@ -37018,7 +36238,7 @@ if i32.const 0 i32.const 1056 - i32.const 2459 + i32.const 2455 i32.const 1 call $~lib/builtins/abort unreachable @@ -37031,7 +36251,7 @@ if i32.const 0 i32.const 1056 - i32.const 2460 + i32.const 2456 i32.const 1 call $~lib/builtins/abort unreachable @@ -37044,7 +36264,7 @@ if i32.const 0 i32.const 1056 - i32.const 2461 + i32.const 2457 i32.const 1 call $~lib/builtins/abort unreachable @@ -37057,7 +36277,7 @@ if i32.const 0 i32.const 1056 - i32.const 2462 + i32.const 2458 i32.const 1 call $~lib/builtins/abort unreachable @@ -37070,7 +36290,7 @@ if i32.const 0 i32.const 1056 - i32.const 2463 + i32.const 2459 i32.const 1 call $~lib/builtins/abort unreachable @@ -37083,7 +36303,7 @@ if i32.const 0 i32.const 1056 - i32.const 2464 + i32.const 2460 i32.const 1 call $~lib/builtins/abort unreachable @@ -37096,7 +36316,7 @@ if i32.const 0 i32.const 1056 - i32.const 2466 + i32.const 2462 i32.const 1 call $~lib/builtins/abort unreachable @@ -37109,7 +36329,7 @@ if i32.const 0 i32.const 1056 - i32.const 2467 + i32.const 2463 i32.const 1 call $~lib/builtins/abort unreachable @@ -37122,7 +36342,7 @@ if i32.const 0 i32.const 1056 - i32.const 2468 + i32.const 2464 i32.const 1 call $~lib/builtins/abort unreachable @@ -37135,7 +36355,7 @@ if i32.const 0 i32.const 1056 - i32.const 2469 + i32.const 2465 i32.const 1 call $~lib/builtins/abort unreachable @@ -37148,7 +36368,7 @@ if i32.const 0 i32.const 1056 - i32.const 2470 + i32.const 2466 i32.const 1 call $~lib/builtins/abort unreachable @@ -37161,7 +36381,7 @@ if i32.const 0 i32.const 1056 - i32.const 2471 + i32.const 2467 i32.const 1 call $~lib/builtins/abort unreachable @@ -37174,7 +36394,7 @@ if i32.const 0 i32.const 1056 - i32.const 2472 + i32.const 2468 i32.const 1 call $~lib/builtins/abort unreachable @@ -37187,7 +36407,7 @@ if i32.const 0 i32.const 1056 - i32.const 2473 + i32.const 2469 i32.const 1 call $~lib/builtins/abort unreachable @@ -37200,7 +36420,7 @@ if i32.const 0 i32.const 1056 - i32.const 2474 + i32.const 2470 i32.const 1 call $~lib/builtins/abort unreachable @@ -37213,7 +36433,7 @@ if i32.const 0 i32.const 1056 - i32.const 2475 + i32.const 2471 i32.const 1 call $~lib/builtins/abort unreachable @@ -37226,7 +36446,7 @@ if i32.const 0 i32.const 1056 - i32.const 2476 + i32.const 2472 i32.const 1 call $~lib/builtins/abort unreachable @@ -37239,7 +36459,7 @@ if i32.const 0 i32.const 1056 - i32.const 2477 + i32.const 2473 i32.const 1 call $~lib/builtins/abort unreachable @@ -37252,7 +36472,7 @@ if i32.const 0 i32.const 1056 - i32.const 2478 + i32.const 2474 i32.const 1 call $~lib/builtins/abort unreachable @@ -37265,7 +36485,7 @@ if i32.const 0 i32.const 1056 - i32.const 2479 + i32.const 2475 i32.const 1 call $~lib/builtins/abort unreachable @@ -37278,7 +36498,7 @@ if i32.const 0 i32.const 1056 - i32.const 2480 + i32.const 2476 i32.const 1 call $~lib/builtins/abort unreachable @@ -37291,7 +36511,7 @@ if i32.const 0 i32.const 1056 - i32.const 2481 + i32.const 2477 i32.const 1 call $~lib/builtins/abort unreachable @@ -37304,7 +36524,7 @@ if i32.const 0 i32.const 1056 - i32.const 2482 + i32.const 2478 i32.const 1 call $~lib/builtins/abort unreachable @@ -37317,7 +36537,7 @@ if i32.const 0 i32.const 1056 - i32.const 2483 + i32.const 2479 i32.const 1 call $~lib/builtins/abort unreachable @@ -37330,7 +36550,7 @@ if i32.const 0 i32.const 1056 - i32.const 2484 + i32.const 2480 i32.const 1 call $~lib/builtins/abort unreachable @@ -37343,14 +36563,14 @@ if i32.const 0 i32.const 1056 - i32.const 2485 + i32.const 2481 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 f32.const 4.535662651062012 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -3.531186103820801 f32.const 0 call $std/math/check @@ -37358,14 +36578,14 @@ if i32.const 0 i32.const 1056 - i32.const 2494 + i32.const 2490 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 f32.const -8.887990951538086 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 4.345239639282227 f32.const 0 call $std/math/check @@ -37373,14 +36593,14 @@ if i32.const 0 i32.const 1056 - i32.const 2495 + i32.const 2491 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 f32.const -2.7636072635650635 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.09061169624328613 f32.const 0 call $std/math/check @@ -37388,14 +36608,14 @@ if i32.const 0 i32.const 1056 - i32.const 2496 + i32.const 2492 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 f32.const 4.567535400390625 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -1.9641380310058594 f32.const 0 call $std/math/check @@ -37403,14 +36623,14 @@ if i32.const 0 i32.const 1056 - i32.const 2497 + i32.const 2493 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 f32.const 4.811392307281494 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 4.455665111541748 f32.const 0 call $std/math/check @@ -37418,14 +36638,14 @@ if i32.const 0 i32.const 1056 - i32.const 2498 + i32.const 2494 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 f32.const 0.6620717644691467 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.49139970541000366 f32.const 0 call $std/math/check @@ -37433,14 +36653,14 @@ if i32.const 0 i32.const 1056 - i32.const 2499 + i32.const 2495 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 f32.const 0.052154526114463806 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.0357111394405365 f32.const 0 call $std/math/check @@ -37448,14 +36668,14 @@ if i32.const 0 i32.const 1056 - i32.const 2500 + i32.const 2496 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 f32.const 7.676402568817139 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.7920545339584351 f32.const 0 call $std/math/check @@ -37463,14 +36683,14 @@ if i32.const 0 i32.const 1056 - i32.const 2501 + i32.const 2497 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 f32.const 2.0119025707244873 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.6157026886940002 f32.const 0 call $std/math/check @@ -37478,14 +36698,14 @@ if i32.const 0 i32.const 1056 - i32.const 2502 + i32.const 2498 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 f32.const 0.03223983198404312 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.010681532323360443 f32.const 0 call $std/math/check @@ -37493,14 +36713,14 @@ if i32.const 0 i32.const 1056 - i32.const 2503 + i32.const 2499 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37508,14 +36728,14 @@ if i32.const 0 i32.const 1056 - i32.const 2506 + i32.const 2502 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -37523,14 +36743,14 @@ if i32.const 0 i32.const 1056 - i32.const 2507 + i32.const 2503 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.5 f32.const 0 call $std/math/check @@ -37538,14 +36758,14 @@ if i32.const 0 i32.const 1056 - i32.const 2508 + i32.const 2504 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.5 f32.const 0 call $std/math/check @@ -37553,14 +36773,14 @@ if i32.const 0 i32.const 1056 - i32.const 2509 + i32.const 2505 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37568,14 +36788,14 @@ if i32.const 0 i32.const 1056 - i32.const 2510 + i32.const 2506 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -37583,14 +36803,14 @@ if i32.const 0 i32.const 1056 - i32.const 2511 + i32.const 2507 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.5 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.5 f32.const 0 call $std/math/check @@ -37598,14 +36818,14 @@ if i32.const 0 i32.const 1056 - i32.const 2512 + i32.const 2508 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.5 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.5 f32.const 0 call $std/math/check @@ -37613,14 +36833,14 @@ if i32.const 0 i32.const 1056 - i32.const 2513 + i32.const 2509 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37628,14 +36848,14 @@ if i32.const 0 i32.const 1056 - i32.const 2514 + i32.const 2510 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -37643,14 +36863,14 @@ if i32.const 0 i32.const 1056 - i32.const 2515 + i32.const 2511 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37658,14 +36878,14 @@ if i32.const 0 i32.const 1056 - i32.const 2516 + i32.const 2512 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37673,14 +36893,14 @@ if i32.const 0 i32.const 1056 - i32.const 2517 + i32.const 2513 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37688,14 +36908,14 @@ if i32.const 0 i32.const 1056 - i32.const 2518 + i32.const 2514 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37703,14 +36923,14 @@ if i32.const 0 i32.const 1056 - i32.const 2519 + i32.const 2515 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -37718,14 +36938,14 @@ if i32.const 0 i32.const 1056 - i32.const 2520 + i32.const 2516 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.5 f32.const 0 call $std/math/check @@ -37733,14 +36953,14 @@ if i32.const 0 i32.const 1056 - i32.const 2521 + i32.const 2517 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.5 f32.const 0 call $std/math/check @@ -37748,14 +36968,14 @@ if i32.const 0 i32.const 1056 - i32.const 2522 + i32.const 2518 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37763,14 +36983,14 @@ if i32.const 0 i32.const 1056 - i32.const 2523 + i32.const 2519 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -37778,14 +36998,14 @@ if i32.const 0 i32.const 1056 - i32.const 2524 + i32.const 2520 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.5 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.5 f32.const 0 call $std/math/check @@ -37793,14 +37013,14 @@ if i32.const 0 i32.const 1056 - i32.const 2525 + i32.const 2521 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.5 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.5 f32.const 0 call $std/math/check @@ -37808,14 +37028,14 @@ if i32.const 0 i32.const 1056 - i32.const 2526 + i32.const 2522 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37823,14 +37043,14 @@ if i32.const 0 i32.const 1056 - i32.const 2527 + i32.const 2523 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -37838,14 +37058,14 @@ if i32.const 0 i32.const 1056 - i32.const 2528 + i32.const 2524 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37853,14 +37073,14 @@ if i32.const 0 i32.const 1056 - i32.const 2529 + i32.const 2525 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37868,14 +37088,14 @@ if i32.const 0 i32.const 1056 - i32.const 2530 + i32.const 2526 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const -1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37883,14 +37103,14 @@ if i32.const 0 i32.const 1056 - i32.const 2531 + i32.const 2527 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37898,14 +37118,14 @@ if i32.const 0 i32.const 1056 - i32.const 2532 + i32.const 2528 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37913,14 +37133,14 @@ if i32.const 0 i32.const 1056 - i32.const 2533 + i32.const 2529 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37928,14 +37148,14 @@ if i32.const 0 i32.const 1056 - i32.const 2534 + i32.const 2530 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.const 0 call $std/math/check @@ -37943,14 +37163,14 @@ if i32.const 0 i32.const 1056 - i32.const 2535 + i32.const 2531 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const nan:0x400000 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37958,14 +37178,14 @@ if i32.const 0 i32.const 1056 - i32.const 2536 + i32.const 2532 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37973,14 +37193,14 @@ if i32.const 0 i32.const 1056 - i32.const 2537 + i32.const 2533 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -37988,14 +37208,14 @@ if i32.const 0 i32.const 1056 - i32.const 2538 + i32.const 2534 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -38003,14 +37223,14 @@ if i32.const 0 i32.const 1056 - i32.const 2539 + i32.const 2535 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0 f32.const 0 call $std/math/check @@ -38018,14 +37238,14 @@ if i32.const 0 i32.const 1056 - i32.const 2540 + i32.const 2536 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const nan:0x400000 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38033,14 +37253,14 @@ if i32.const 0 i32.const 1056 - i32.const 2541 + i32.const 2537 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38048,14 +37268,14 @@ if i32.const 0 i32.const 1056 - i32.const 2542 + i32.const 2538 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38063,14 +37283,14 @@ if i32.const 0 i32.const 1056 - i32.const 2543 + i32.const 2539 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38078,14 +37298,14 @@ if i32.const 0 i32.const 1056 - i32.const 2544 + i32.const 2540 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38093,14 +37313,14 @@ if i32.const 0 i32.const 1056 - i32.const 2545 + i32.const 2541 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38108,14 +37328,14 @@ if i32.const 0 i32.const 1056 - i32.const 2546 + i32.const 2542 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38123,14 +37343,14 @@ if i32.const 0 i32.const 1056 - i32.const 2547 + i32.const 2543 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38138,14 +37358,14 @@ if i32.const 0 i32.const 1056 - i32.const 2548 + i32.const 2544 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38153,14 +37373,14 @@ if i32.const 0 i32.const 1056 - i32.const 2549 + i32.const 2545 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const -0 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38168,14 +37388,14 @@ if i32.const 0 i32.const 1056 - i32.const 2550 + i32.const 2546 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 2 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38183,14 +37403,14 @@ if i32.const 0 i32.const 1056 - i32.const 2551 + i32.const 2547 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -0.5 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38198,14 +37418,14 @@ if i32.const 0 i32.const 1056 - i32.const 2552 + i32.const 2548 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const nan:0x400000 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38213,14 +37433,14 @@ if i32.const 0 i32.const 1056 - i32.const 2553 + i32.const 2549 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 2 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38228,14 +37448,14 @@ if i32.const 0 i32.const 1056 - i32.const 2554 + i32.const 2550 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -0.5 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38243,14 +37463,14 @@ if i32.const 0 i32.const 1056 - i32.const 2555 + i32.const 2551 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const nan:0x400000 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38258,14 +37478,14 @@ if i32.const 0 i32.const 1056 - i32.const 2556 + i32.const 2552 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const nan:0x400000 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38273,14 +37493,14 @@ if i32.const 0 i32.const 1056 - i32.const 2557 + i32.const 2553 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const nan:0x400000 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38288,14 +37508,14 @@ if i32.const 0 i32.const 1056 - i32.const 2558 + i32.const 2554 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const nan:0x400000 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38303,14 +37523,14 @@ if i32.const 0 i32.const 1056 - i32.const 2559 + i32.const 2555 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 1 f32.const 0 call $std/math/check @@ -38318,14 +37538,14 @@ if i32.const 0 i32.const 1056 - i32.const 2560 + i32.const 2556 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -1 f32.const 0 call $std/math/check @@ -38333,14 +37553,14 @@ if i32.const 0 i32.const 1056 - i32.const 2561 + i32.const 2557 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38348,14 +37568,14 @@ if i32.const 0 i32.const 1056 - i32.const 2562 + i32.const 2558 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38363,14 +37583,14 @@ if i32.const 0 i32.const 1056 - i32.const 2563 + i32.const 2559 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 1 f32.const 0 call $std/math/check @@ -38378,14 +37598,14 @@ if i32.const 0 i32.const 1056 - i32.const 2564 + i32.const 2560 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -1 f32.const 0 call $std/math/check @@ -38393,14 +37613,14 @@ if i32.const 0 i32.const 1056 - i32.const 2565 + i32.const 2561 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38408,14 +37628,14 @@ if i32.const 0 i32.const 1056 - i32.const 2566 + i32.const 2562 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -inf - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -38423,14 +37643,14 @@ if i32.const 0 i32.const 1056 - i32.const 2567 + i32.const 2563 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.75 f32.const 0.5 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.25 f32.const 0 call $std/math/check @@ -38438,14 +37658,14 @@ if i32.const 0 i32.const 1056 - i32.const 2568 + i32.const 2564 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.75 f32.const 0.5 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.25 f32.const 0 call $std/math/check @@ -38453,14 +37673,14 @@ if i32.const 0 i32.const 1056 - i32.const 2569 + i32.const 2565 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.75 f32.const -0.5 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0.25 f32.const 0 call $std/math/check @@ -38468,14 +37688,14 @@ if i32.const 0 i32.const 1056 - i32.const 2570 + i32.const 2566 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.75 f32.const -0.5 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const -0.25 f32.const 0 call $std/math/check @@ -38483,7 +37703,7 @@ if i32.const 0 i32.const 1056 - i32.const 2571 + i32.const 2567 i32.const 1 call $~lib/builtins/abort unreachable @@ -38497,7 +37717,7 @@ if i32.const 0 i32.const 1056 - i32.const 2583 + i32.const 2579 i32.const 1 call $~lib/builtins/abort unreachable @@ -38511,7 +37731,7 @@ if i32.const 0 i32.const 1056 - i32.const 2584 + i32.const 2580 i32.const 1 call $~lib/builtins/abort unreachable @@ -38525,7 +37745,7 @@ if i32.const 0 i32.const 1056 - i32.const 2585 + i32.const 2581 i32.const 1 call $~lib/builtins/abort unreachable @@ -38539,7 +37759,7 @@ if i32.const 0 i32.const 1056 - i32.const 2586 + i32.const 2582 i32.const 1 call $~lib/builtins/abort unreachable @@ -38553,7 +37773,7 @@ if i32.const 0 i32.const 1056 - i32.const 2587 + i32.const 2583 i32.const 1 call $~lib/builtins/abort unreachable @@ -38567,7 +37787,7 @@ if i32.const 0 i32.const 1056 - i32.const 2588 + i32.const 2584 i32.const 1 call $~lib/builtins/abort unreachable @@ -38581,7 +37801,7 @@ if i32.const 0 i32.const 1056 - i32.const 2589 + i32.const 2585 i32.const 1 call $~lib/builtins/abort unreachable @@ -38595,7 +37815,7 @@ if i32.const 0 i32.const 1056 - i32.const 2590 + i32.const 2586 i32.const 1 call $~lib/builtins/abort unreachable @@ -38609,7 +37829,7 @@ if i32.const 0 i32.const 1056 - i32.const 2591 + i32.const 2587 i32.const 1 call $~lib/builtins/abort unreachable @@ -38623,7 +37843,7 @@ if i32.const 0 i32.const 1056 - i32.const 2592 + i32.const 2588 i32.const 1 call $~lib/builtins/abort unreachable @@ -38637,7 +37857,7 @@ if i32.const 0 i32.const 1056 - i32.const 2595 + i32.const 2591 i32.const 1 call $~lib/builtins/abort unreachable @@ -38651,7 +37871,7 @@ if i32.const 0 i32.const 1056 - i32.const 2596 + i32.const 2592 i32.const 1 call $~lib/builtins/abort unreachable @@ -38665,7 +37885,7 @@ if i32.const 0 i32.const 1056 - i32.const 2597 + i32.const 2593 i32.const 1 call $~lib/builtins/abort unreachable @@ -38679,7 +37899,7 @@ if i32.const 0 i32.const 1056 - i32.const 2598 + i32.const 2594 i32.const 1 call $~lib/builtins/abort unreachable @@ -38693,7 +37913,7 @@ if i32.const 0 i32.const 1056 - i32.const 2599 + i32.const 2595 i32.const 1 call $~lib/builtins/abort unreachable @@ -38707,7 +37927,7 @@ if i32.const 0 i32.const 1056 - i32.const 2600 + i32.const 2596 i32.const 1 call $~lib/builtins/abort unreachable @@ -38721,7 +37941,7 @@ if i32.const 0 i32.const 1056 - i32.const 2601 + i32.const 2597 i32.const 1 call $~lib/builtins/abort unreachable @@ -38735,7 +37955,7 @@ if i32.const 0 i32.const 1056 - i32.const 2602 + i32.const 2598 i32.const 1 call $~lib/builtins/abort unreachable @@ -38749,7 +37969,7 @@ if i32.const 0 i32.const 1056 - i32.const 2603 + i32.const 2599 i32.const 1 call $~lib/builtins/abort unreachable @@ -38763,7 +37983,7 @@ if i32.const 0 i32.const 1056 - i32.const 2604 + i32.const 2600 i32.const 1 call $~lib/builtins/abort unreachable @@ -38777,7 +37997,7 @@ if i32.const 0 i32.const 1056 - i32.const 2605 + i32.const 2601 i32.const 1 call $~lib/builtins/abort unreachable @@ -38791,7 +38011,7 @@ if i32.const 0 i32.const 1056 - i32.const 2606 + i32.const 2602 i32.const 1 call $~lib/builtins/abort unreachable @@ -38805,7 +38025,7 @@ if i32.const 0 i32.const 1056 - i32.const 2607 + i32.const 2603 i32.const 1 call $~lib/builtins/abort unreachable @@ -38819,7 +38039,7 @@ if i32.const 0 i32.const 1056 - i32.const 2608 + i32.const 2604 i32.const 1 call $~lib/builtins/abort unreachable @@ -38833,7 +38053,7 @@ if i32.const 0 i32.const 1056 - i32.const 2609 + i32.const 2605 i32.const 1 call $~lib/builtins/abort unreachable @@ -38847,7 +38067,7 @@ if i32.const 0 i32.const 1056 - i32.const 2610 + i32.const 2606 i32.const 1 call $~lib/builtins/abort unreachable @@ -38861,7 +38081,7 @@ if i32.const 0 i32.const 1056 - i32.const 2611 + i32.const 2607 i32.const 1 call $~lib/builtins/abort unreachable @@ -38875,7 +38095,7 @@ if i32.const 0 i32.const 1056 - i32.const 2612 + i32.const 2608 i32.const 1 call $~lib/builtins/abort unreachable @@ -38889,7 +38109,7 @@ if i32.const 0 i32.const 1056 - i32.const 2613 + i32.const 2609 i32.const 1 call $~lib/builtins/abort unreachable @@ -38903,7 +38123,7 @@ if i32.const 0 i32.const 1056 - i32.const 2614 + i32.const 2610 i32.const 1 call $~lib/builtins/abort unreachable @@ -38917,7 +38137,7 @@ if i32.const 0 i32.const 1056 - i32.const 2615 + i32.const 2611 i32.const 1 call $~lib/builtins/abort unreachable @@ -38931,7 +38151,7 @@ if i32.const 0 i32.const 1056 - i32.const 2616 + i32.const 2612 i32.const 1 call $~lib/builtins/abort unreachable @@ -38945,7 +38165,7 @@ if i32.const 0 i32.const 1056 - i32.const 2617 + i32.const 2613 i32.const 1 call $~lib/builtins/abort unreachable @@ -38959,7 +38179,7 @@ if i32.const 0 i32.const 1056 - i32.const 2618 + i32.const 2614 i32.const 1 call $~lib/builtins/abort unreachable @@ -38973,7 +38193,7 @@ if i32.const 0 i32.const 1056 - i32.const 2619 + i32.const 2615 i32.const 1 call $~lib/builtins/abort unreachable @@ -38987,7 +38207,7 @@ if i32.const 0 i32.const 1056 - i32.const 2620 + i32.const 2616 i32.const 1 call $~lib/builtins/abort unreachable @@ -39001,7 +38221,7 @@ if i32.const 0 i32.const 1056 - i32.const 2621 + i32.const 2617 i32.const 1 call $~lib/builtins/abort unreachable @@ -39015,7 +38235,7 @@ if i32.const 0 i32.const 1056 - i32.const 2622 + i32.const 2618 i32.const 1 call $~lib/builtins/abort unreachable @@ -39029,7 +38249,7 @@ if i32.const 0 i32.const 1056 - i32.const 2623 + i32.const 2619 i32.const 1 call $~lib/builtins/abort unreachable @@ -39043,7 +38263,7 @@ if i32.const 0 i32.const 1056 - i32.const 2624 + i32.const 2620 i32.const 1 call $~lib/builtins/abort unreachable @@ -39057,7 +38277,7 @@ if i32.const 0 i32.const 1056 - i32.const 2625 + i32.const 2621 i32.const 1 call $~lib/builtins/abort unreachable @@ -39071,7 +38291,7 @@ if i32.const 0 i32.const 1056 - i32.const 2626 + i32.const 2622 i32.const 1 call $~lib/builtins/abort unreachable @@ -39085,7 +38305,7 @@ if i32.const 0 i32.const 1056 - i32.const 2627 + i32.const 2623 i32.const 1 call $~lib/builtins/abort unreachable @@ -39099,7 +38319,7 @@ if i32.const 0 i32.const 1056 - i32.const 2628 + i32.const 2624 i32.const 1 call $~lib/builtins/abort unreachable @@ -39113,7 +38333,7 @@ if i32.const 0 i32.const 1056 - i32.const 2629 + i32.const 2625 i32.const 1 call $~lib/builtins/abort unreachable @@ -39127,7 +38347,7 @@ if i32.const 0 i32.const 1056 - i32.const 2630 + i32.const 2626 i32.const 1 call $~lib/builtins/abort unreachable @@ -39141,7 +38361,7 @@ if i32.const 0 i32.const 1056 - i32.const 2631 + i32.const 2627 i32.const 1 call $~lib/builtins/abort unreachable @@ -39155,7 +38375,7 @@ if i32.const 0 i32.const 1056 - i32.const 2632 + i32.const 2628 i32.const 1 call $~lib/builtins/abort unreachable @@ -39169,7 +38389,7 @@ if i32.const 0 i32.const 1056 - i32.const 2633 + i32.const 2629 i32.const 1 call $~lib/builtins/abort unreachable @@ -39183,7 +38403,7 @@ if i32.const 0 i32.const 1056 - i32.const 2634 + i32.const 2630 i32.const 1 call $~lib/builtins/abort unreachable @@ -39197,7 +38417,7 @@ if i32.const 0 i32.const 1056 - i32.const 2635 + i32.const 2631 i32.const 1 call $~lib/builtins/abort unreachable @@ -39211,7 +38431,7 @@ if i32.const 0 i32.const 1056 - i32.const 2636 + i32.const 2632 i32.const 1 call $~lib/builtins/abort unreachable @@ -39225,7 +38445,7 @@ if i32.const 0 i32.const 1056 - i32.const 2637 + i32.const 2633 i32.const 1 call $~lib/builtins/abort unreachable @@ -39239,7 +38459,7 @@ if i32.const 0 i32.const 1056 - i32.const 2638 + i32.const 2634 i32.const 1 call $~lib/builtins/abort unreachable @@ -39253,7 +38473,7 @@ if i32.const 0 i32.const 1056 - i32.const 2639 + i32.const 2635 i32.const 1 call $~lib/builtins/abort unreachable @@ -39267,7 +38487,7 @@ if i32.const 0 i32.const 1056 - i32.const 2640 + i32.const 2636 i32.const 1 call $~lib/builtins/abort unreachable @@ -39281,7 +38501,7 @@ if i32.const 0 i32.const 1056 - i32.const 2641 + i32.const 2637 i32.const 1 call $~lib/builtins/abort unreachable @@ -39295,7 +38515,7 @@ if i32.const 0 i32.const 1056 - i32.const 2642 + i32.const 2638 i32.const 1 call $~lib/builtins/abort unreachable @@ -39309,7 +38529,7 @@ if i32.const 0 i32.const 1056 - i32.const 2643 + i32.const 2639 i32.const 1 call $~lib/builtins/abort unreachable @@ -39323,7 +38543,7 @@ if i32.const 0 i32.const 1056 - i32.const 2644 + i32.const 2640 i32.const 1 call $~lib/builtins/abort unreachable @@ -39337,7 +38557,7 @@ if i32.const 0 i32.const 1056 - i32.const 2645 + i32.const 2641 i32.const 1 call $~lib/builtins/abort unreachable @@ -39351,7 +38571,7 @@ if i32.const 0 i32.const 1056 - i32.const 2646 + i32.const 2642 i32.const 1 call $~lib/builtins/abort unreachable @@ -39365,7 +38585,7 @@ if i32.const 0 i32.const 1056 - i32.const 2647 + i32.const 2643 i32.const 1 call $~lib/builtins/abort unreachable @@ -39379,7 +38599,7 @@ if i32.const 0 i32.const 1056 - i32.const 2648 + i32.const 2644 i32.const 1 call $~lib/builtins/abort unreachable @@ -39393,7 +38613,7 @@ if i32.const 0 i32.const 1056 - i32.const 2649 + i32.const 2645 i32.const 1 call $~lib/builtins/abort unreachable @@ -39407,7 +38627,7 @@ if i32.const 0 i32.const 1056 - i32.const 2650 + i32.const 2646 i32.const 1 call $~lib/builtins/abort unreachable @@ -39421,7 +38641,7 @@ if i32.const 0 i32.const 1056 - i32.const 2651 + i32.const 2647 i32.const 1 call $~lib/builtins/abort unreachable @@ -39435,7 +38655,7 @@ if i32.const 0 i32.const 1056 - i32.const 2652 + i32.const 2648 i32.const 1 call $~lib/builtins/abort unreachable @@ -39449,7 +38669,7 @@ if i32.const 0 i32.const 1056 - i32.const 2653 + i32.const 2649 i32.const 1 call $~lib/builtins/abort unreachable @@ -39463,7 +38683,7 @@ if i32.const 0 i32.const 1056 - i32.const 2654 + i32.const 2650 i32.const 1 call $~lib/builtins/abort unreachable @@ -39477,7 +38697,7 @@ if i32.const 0 i32.const 1056 - i32.const 2655 + i32.const 2651 i32.const 1 call $~lib/builtins/abort unreachable @@ -39491,7 +38711,7 @@ if i32.const 0 i32.const 1056 - i32.const 2656 + i32.const 2652 i32.const 1 call $~lib/builtins/abort unreachable @@ -39505,7 +38725,7 @@ if i32.const 0 i32.const 1056 - i32.const 2657 + i32.const 2653 i32.const 1 call $~lib/builtins/abort unreachable @@ -39519,7 +38739,7 @@ if i32.const 0 i32.const 1056 - i32.const 2658 + i32.const 2654 i32.const 1 call $~lib/builtins/abort unreachable @@ -39533,7 +38753,7 @@ if i32.const 0 i32.const 1056 - i32.const 2659 + i32.const 2655 i32.const 1 call $~lib/builtins/abort unreachable @@ -39547,7 +38767,7 @@ if i32.const 0 i32.const 1056 - i32.const 2660 + i32.const 2656 i32.const 1 call $~lib/builtins/abort unreachable @@ -39561,7 +38781,7 @@ if i32.const 0 i32.const 1056 - i32.const 2661 + i32.const 2657 i32.const 1 call $~lib/builtins/abort unreachable @@ -39575,7 +38795,7 @@ if i32.const 0 i32.const 1056 - i32.const 2662 + i32.const 2658 i32.const 1 call $~lib/builtins/abort unreachable @@ -39589,7 +38809,7 @@ if i32.const 0 i32.const 1056 - i32.const 2663 + i32.const 2659 i32.const 1 call $~lib/builtins/abort unreachable @@ -39603,7 +38823,7 @@ if i32.const 0 i32.const 1056 - i32.const 2664 + i32.const 2660 i32.const 1 call $~lib/builtins/abort unreachable @@ -39617,7 +38837,7 @@ if i32.const 0 i32.const 1056 - i32.const 2665 + i32.const 2661 i32.const 1 call $~lib/builtins/abort unreachable @@ -39631,7 +38851,7 @@ if i32.const 0 i32.const 1056 - i32.const 2666 + i32.const 2662 i32.const 1 call $~lib/builtins/abort unreachable @@ -39645,7 +38865,7 @@ if i32.const 0 i32.const 1056 - i32.const 2667 + i32.const 2663 i32.const 1 call $~lib/builtins/abort unreachable @@ -39659,7 +38879,7 @@ if i32.const 0 i32.const 1056 - i32.const 2668 + i32.const 2664 i32.const 1 call $~lib/builtins/abort unreachable @@ -39673,7 +38893,7 @@ if i32.const 0 i32.const 1056 - i32.const 2669 + i32.const 2665 i32.const 1 call $~lib/builtins/abort unreachable @@ -39687,7 +38907,7 @@ if i32.const 0 i32.const 1056 - i32.const 2670 + i32.const 2666 i32.const 1 call $~lib/builtins/abort unreachable @@ -39701,7 +38921,7 @@ if i32.const 0 i32.const 1056 - i32.const 2671 + i32.const 2667 i32.const 1 call $~lib/builtins/abort unreachable @@ -39715,7 +38935,7 @@ if i32.const 0 i32.const 1056 - i32.const 2672 + i32.const 2668 i32.const 1 call $~lib/builtins/abort unreachable @@ -39729,7 +38949,7 @@ if i32.const 0 i32.const 1056 - i32.const 2673 + i32.const 2669 i32.const 1 call $~lib/builtins/abort unreachable @@ -39743,7 +38963,7 @@ if i32.const 0 i32.const 1056 - i32.const 2674 + i32.const 2670 i32.const 1 call $~lib/builtins/abort unreachable @@ -39757,7 +38977,7 @@ if i32.const 0 i32.const 1056 - i32.const 2675 + i32.const 2671 i32.const 1 call $~lib/builtins/abort unreachable @@ -39771,7 +38991,7 @@ if i32.const 0 i32.const 1056 - i32.const 2676 + i32.const 2672 i32.const 1 call $~lib/builtins/abort unreachable @@ -39785,7 +39005,7 @@ if i32.const 0 i32.const 1056 - i32.const 2677 + i32.const 2673 i32.const 1 call $~lib/builtins/abort unreachable @@ -39799,7 +39019,7 @@ if i32.const 0 i32.const 1056 - i32.const 2678 + i32.const 2674 i32.const 1 call $~lib/builtins/abort unreachable @@ -39813,7 +39033,7 @@ if i32.const 0 i32.const 1056 - i32.const 2679 + i32.const 2675 i32.const 1 call $~lib/builtins/abort unreachable @@ -39827,7 +39047,7 @@ if i32.const 0 i32.const 1056 - i32.const 2680 + i32.const 2676 i32.const 1 call $~lib/builtins/abort unreachable @@ -39841,7 +39061,7 @@ if i32.const 0 i32.const 1056 - i32.const 2681 + i32.const 2677 i32.const 1 call $~lib/builtins/abort unreachable @@ -39855,7 +39075,7 @@ if i32.const 0 i32.const 1056 - i32.const 2682 + i32.const 2678 i32.const 1 call $~lib/builtins/abort unreachable @@ -39869,7 +39089,7 @@ if i32.const 0 i32.const 1056 - i32.const 2683 + i32.const 2679 i32.const 1 call $~lib/builtins/abort unreachable @@ -39883,7 +39103,7 @@ if i32.const 0 i32.const 1056 - i32.const 2684 + i32.const 2680 i32.const 1 call $~lib/builtins/abort unreachable @@ -39897,7 +39117,7 @@ if i32.const 0 i32.const 1056 - i32.const 2685 + i32.const 2681 i32.const 1 call $~lib/builtins/abort unreachable @@ -39911,513 +39131,513 @@ if i32.const 0 i32.const 1056 - i32.const 2686 + i32.const 2682 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2689 + i32.const 2685 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const 0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2690 + i32.const 2686 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const -0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2691 + i32.const 2687 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const -0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2692 + i32.const 2688 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2693 + i32.const 2689 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2694 + i32.const 2690 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf f64.const 0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2695 + i32.const 2691 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 f64.const 0 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2696 + i32.const 2692 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2698 + i32.const 2694 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const -0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2699 + i32.const 2695 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const -1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2700 + i32.const 2696 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2701 + i32.const 2697 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf f64.const 1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const -inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2702 + i32.const 2698 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 f64.const 1 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 + call $~lib/util/math/pow64 + local.tee $1 + local.get $1 f64.eq if i32.const 0 i32.const 1056 - i32.const 2703 + i32.const 2699 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2705 + i32.const 2701 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const -inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2706 + i32.const 2702 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const -1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2707 + i32.const 2703 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 2 f64.ne if i32.const 0 i32.const 1056 - i32.const 2708 + i32.const 2704 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2709 + i32.const 2705 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2710 + i32.const 2706 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const -0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2711 + i32.const 2707 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 f64.const -1 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 + call $~lib/util/math/pow64 + local.tee $1 + local.get $1 f64.eq if i32.const 0 i32.const 1056 - i32.const 2712 + i32.const 2708 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2714 + i32.const 2710 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2715 + i32.const 2711 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2716 + i32.const 2712 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0.25 f64.ne if i32.const 0 i32.const 1056 - i32.const 2717 + i32.const 2713 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2718 + i32.const 2714 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2719 + i32.const 2715 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf f64.const 2 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2720 + i32.const 2716 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 f64.const 2 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 + call $~lib/util/math/pow64 + local.tee $1 + local.get $1 f64.eq if i32.const 0 i32.const 1056 - i32.const 2721 + i32.const 2717 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2723 + i32.const 2719 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 2724 + i32.const 2720 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 0.5 - call $~lib/math/NativeMath.pow - local.tee $0 - local.get $0 + call $~lib/util/math/pow64 + local.tee $1 + local.get $1 f64.eq if i32.const 0 i32.const 1056 - i32.const 2725 + i32.const 2721 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4 f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 2 f64.ne if i32.const 0 i32.const 1056 - i32.const 2726 + i32.const 2722 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 2727 + i32.const 2723 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2728 + i32.const 2724 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.ne if i32.const 0 i32.const 1056 - i32.const 2729 + i32.const 2725 i32.const 1 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 + call $~lib/util/math/pow64 + local.tee $1 + local.get $1 f64.eq if i32.const 0 i32.const 1056 - i32.const 2730 + i32.const 2726 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 f32.const 4.535662651062012 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40425,14 +39645,14 @@ if i32.const 0 i32.const 1056 - i32.const 2739 + i32.const 2735 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 f32.const -8.887990951538086 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2.134714122803416e-06 f32.const 0.1436440795660019 call $std/math/check @@ -40440,14 +39660,14 @@ if i32.const 0 i32.const 1056 - i32.const 2740 + i32.const 2736 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 f32.const -2.7636072635650635 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40455,14 +39675,14 @@ if i32.const 0 i32.const 1056 - i32.const 2741 + i32.const 2737 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 f32.const 4.567535400390625 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40470,14 +39690,14 @@ if i32.const 0 i32.const 1056 - i32.const 2742 + i32.const 2738 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 f32.const 4.811392307281494 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 44909.33203125 f32.const -0.05356409028172493 call $std/math/check @@ -40485,14 +39705,14 @@ if i32.const 0 i32.const 1056 - i32.const 2743 + i32.const 2739 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.450045585632324 f32.const 0.6620717644691467 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40500,14 +39720,14 @@ if i32.const 0 i32.const 1056 - i32.const 2744 + i32.const 2740 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 7.858890056610107 f32.const 0.052154526114463806 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1.1135177612304688 f32.const 0.19122089445590973 call $std/math/check @@ -40515,14 +39735,14 @@ if i32.const 0 i32.const 1056 - i32.const 2745 + i32.const 2741 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.7920545339584351 f32.const 7.676402568817139 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40530,14 +39750,14 @@ if i32.const 0 i32.const 1056 - i32.const 2746 + i32.const 2742 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6157026886940002 f32.const 2.0119025707244873 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.3769077658653259 f32.const 0.337149053812027 call $std/math/check @@ -40545,14 +39765,14 @@ if i32.const 0 i32.const 1056 - i32.const 2747 + i32.const 2743 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5587586760520935 f32.const 0.03223983198404312 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40560,14 +39780,14 @@ if i32.const 0 i32.const 1056 - i32.const 2748 + i32.const 2744 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40575,14 +39795,14 @@ if i32.const 0 i32.const 1056 - i32.const 2751 + i32.const 2747 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40590,14 +39810,14 @@ if i32.const 0 i32.const 1056 - i32.const 2752 + i32.const 2748 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40605,14 +39825,14 @@ if i32.const 0 i32.const 1056 - i32.const 2753 + i32.const 2749 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40620,14 +39840,14 @@ if i32.const 0 i32.const 1056 - i32.const 2754 + i32.const 2750 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40635,14 +39855,14 @@ if i32.const 0 i32.const 1056 - i32.const 2755 + i32.const 2751 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40650,14 +39870,14 @@ if i32.const 0 i32.const 1056 - i32.const 2756 + i32.const 2752 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -40665,14 +39885,14 @@ if i32.const 0 i32.const 1056 - i32.const 2757 + i32.const 2753 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -40680,14 +39900,14 @@ if i32.const 0 i32.const 1056 - i32.const 2758 + i32.const 2754 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40695,14 +39915,14 @@ if i32.const 0 i32.const 1056 - i32.const 2759 + i32.const 2755 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40710,14 +39930,14 @@ if i32.const 0 i32.const 1056 - i32.const 2760 + i32.const 2756 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40725,14 +39945,14 @@ if i32.const 0 i32.const 1056 - i32.const 2761 + i32.const 2757 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40740,14 +39960,14 @@ if i32.const 0 i32.const 1056 - i32.const 2762 + i32.const 2758 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -4 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40755,14 +39975,14 @@ if i32.const 0 i32.const 1056 - i32.const 2763 + i32.const 2759 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40770,14 +39990,14 @@ if i32.const 0 i32.const 1056 - i32.const 2764 + i32.const 2760 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -40785,14 +40005,14 @@ if i32.const 0 i32.const 1056 - i32.const 2765 + i32.const 2761 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40800,14 +40020,14 @@ if i32.const 0 i32.const 1056 - i32.const 2766 + i32.const 2762 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0 f32.const 0 call $std/math/check @@ -40815,14 +40035,14 @@ if i32.const 0 i32.const 1056 - i32.const 2767 + i32.const 2763 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40830,14 +40050,14 @@ if i32.const 0 i32.const 1056 - i32.const 2768 + i32.const 2764 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0 f32.const 0 call $std/math/check @@ -40845,14 +40065,14 @@ if i32.const 0 i32.const 1056 - i32.const 2769 + i32.const 2765 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -40860,14 +40080,14 @@ if i32.const 0 i32.const 1056 - i32.const 2770 + i32.const 2766 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -40875,14 +40095,14 @@ if i32.const 0 i32.const 1056 - i32.const 2771 + i32.const 2767 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -40890,14 +40110,14 @@ if i32.const 0 i32.const 1056 - i32.const 2772 + i32.const 2768 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40905,14 +40125,14 @@ if i32.const 0 i32.const 1056 - i32.const 2773 + i32.const 2769 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -40920,14 +40140,14 @@ if i32.const 0 i32.const 1056 - i32.const 2774 + i32.const 2770 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40935,14 +40155,14 @@ if i32.const 0 i32.const 1056 - i32.const 2775 + i32.const 2771 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -40950,14 +40170,14 @@ if i32.const 0 i32.const 1056 - i32.const 2776 + i32.const 2772 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -4 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40965,14 +40185,14 @@ if i32.const 0 i32.const 1056 - i32.const 2777 + i32.const 2773 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -40980,14 +40200,14 @@ if i32.const 0 i32.const 1056 - i32.const 2778 + i32.const 2774 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -40995,14 +40215,14 @@ if i32.const 0 i32.const 1056 - i32.const 2779 + i32.const 2775 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41010,14 +40230,14 @@ if i32.const 0 i32.const 1056 - i32.const 2780 + i32.const 2776 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41025,14 +40245,14 @@ if i32.const 0 i32.const 1056 - i32.const 2781 + i32.const 2777 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41040,14 +40260,14 @@ if i32.const 0 i32.const 1056 - i32.const 2782 + i32.const 2778 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41055,14 +40275,14 @@ if i32.const 0 i32.const 1056 - i32.const 2783 + i32.const 2779 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41070,14 +40290,14 @@ if i32.const 0 i32.const 1056 - i32.const 2784 + i32.const 2780 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41085,14 +40305,14 @@ if i32.const 0 i32.const 1056 - i32.const 2785 + i32.const 2781 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41100,14 +40320,14 @@ if i32.const 0 i32.const 1056 - i32.const 2786 + i32.const 2782 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41115,14 +40335,14 @@ if i32.const 0 i32.const 1056 - i32.const 2787 + i32.const 2783 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41130,14 +40350,14 @@ if i32.const 0 i32.const 1056 - i32.const 2788 + i32.const 2784 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41145,14 +40365,14 @@ if i32.const 0 i32.const 1056 - i32.const 2789 + i32.const 2785 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const -0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41160,14 +40380,14 @@ if i32.const 0 i32.const 1056 - i32.const 2790 + i32.const 2786 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41175,14 +40395,14 @@ if i32.const 0 i32.const 1056 - i32.const 2791 + i32.const 2787 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41190,14 +40410,14 @@ if i32.const 0 i32.const 1056 - i32.const 2792 + i32.const 2788 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41205,14 +40425,14 @@ if i32.const 0 i32.const 1056 - i32.const 2793 + i32.const 2789 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41220,14 +40440,14 @@ if i32.const 0 i32.const 1056 - i32.const 2794 + i32.const 2790 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -1 f32.const 0 call $std/math/check @@ -41235,14 +40455,14 @@ if i32.const 0 i32.const 1056 - i32.const 2795 + i32.const 2791 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41250,14 +40470,14 @@ if i32.const 0 i32.const 1056 - i32.const 2796 + i32.const 2792 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const -3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -1 f32.const 0 call $std/math/check @@ -41265,14 +40485,14 @@ if i32.const 0 i32.const 1056 - i32.const 2797 + i32.const 2793 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41280,14 +40500,14 @@ if i32.const 0 i32.const 1056 - i32.const 2798 + i32.const 2794 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41295,14 +40515,14 @@ if i32.const 0 i32.const 1056 - i32.const 2799 + i32.const 2795 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41310,14 +40530,14 @@ if i32.const 0 i32.const 1056 - i32.const 2800 + i32.const 2796 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41325,14 +40545,14 @@ if i32.const 0 i32.const 1056 - i32.const 2801 + i32.const 2797 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41340,14 +40560,14 @@ if i32.const 0 i32.const 1056 - i32.const 2802 + i32.const 2798 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41355,14 +40575,14 @@ if i32.const 0 i32.const 1056 - i32.const 2803 + i32.const 2799 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41370,14 +40590,14 @@ if i32.const 0 i32.const 1056 - i32.const 2804 + i32.const 2800 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const -3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -41385,14 +40605,14 @@ if i32.const 0 i32.const 1056 - i32.const 2805 + i32.const 2801 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41400,14 +40620,14 @@ if i32.const 0 i32.const 1056 - i32.const 2806 + i32.const 2802 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const 1.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41415,14 +40635,14 @@ if i32.const 0 i32.const 1056 - i32.const 2807 + i32.const 2803 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.25 f32.const 0 call $std/math/check @@ -41430,14 +40650,14 @@ if i32.const 0 i32.const 1056 - i32.const 2808 + i32.const 2804 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const 3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0.125 f32.const 0 call $std/math/check @@ -41445,14 +40665,14 @@ if i32.const 0 i32.const 1056 - i32.const 2809 + i32.const 2805 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41460,14 +40680,14 @@ if i32.const 0 i32.const 1056 - i32.const 2810 + i32.const 2806 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41475,14 +40695,14 @@ if i32.const 0 i32.const 1056 - i32.const 2811 + i32.const 2807 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.5 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41490,14 +40710,14 @@ if i32.const 0 i32.const 1056 - i32.const 2812 + i32.const 2808 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41505,14 +40725,14 @@ if i32.const 0 i32.const 1056 - i32.const 2813 + i32.const 2809 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41520,14 +40740,14 @@ if i32.const 0 i32.const 1056 - i32.const 2814 + i32.const 2810 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41535,14 +40755,14 @@ if i32.const 0 i32.const 1056 - i32.const 2815 + i32.const 2811 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.5 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41550,14 +40770,14 @@ if i32.const 0 i32.const 1056 - i32.const 2816 + i32.const 2812 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.5 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41565,14 +40785,14 @@ if i32.const 0 i32.const 1056 - i32.const 2817 + i32.const 2813 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.5 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41580,14 +40800,14 @@ if i32.const 0 i32.const 1056 - i32.const 2818 + i32.const 2814 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41595,14 +40815,14 @@ if i32.const 0 i32.const 1056 - i32.const 2819 + i32.const 2815 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41610,14 +40830,14 @@ if i32.const 0 i32.const 1056 - i32.const 2820 + i32.const 2816 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41625,14 +40845,14 @@ if i32.const 0 i32.const 1056 - i32.const 2821 + i32.const 2817 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41640,14 +40860,14 @@ if i32.const 0 i32.const 1056 - i32.const 2822 + i32.const 2818 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41655,14 +40875,14 @@ if i32.const 0 i32.const 1056 - i32.const 2823 + i32.const 2819 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41670,14 +40890,14 @@ if i32.const 0 i32.const 1056 - i32.const 2824 + i32.const 2820 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41685,14 +40905,14 @@ if i32.const 0 i32.const 1056 - i32.const 2825 + i32.const 2821 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41700,14 +40920,14 @@ if i32.const 0 i32.const 1056 - i32.const 2826 + i32.const 2822 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41715,14 +40935,14 @@ if i32.const 0 i32.const 1056 - i32.const 2827 + i32.const 2823 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41730,14 +40950,14 @@ if i32.const 0 i32.const 1056 - i32.const 2828 + i32.const 2824 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41745,14 +40965,14 @@ if i32.const 0 i32.const 1056 - i32.const 2829 + i32.const 2825 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41760,14 +40980,14 @@ if i32.const 0 i32.const 1056 - i32.const 2830 + i32.const 2826 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41775,14 +40995,14 @@ if i32.const 0 i32.const 1056 - i32.const 2831 + i32.const 2827 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -41790,14 +41010,14 @@ if i32.const 0 i32.const 1056 - i32.const 2832 + i32.const 2828 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41805,14 +41025,14 @@ if i32.const 0 i32.const 1056 - i32.const 2833 + i32.const 2829 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -41820,14 +41040,14 @@ if i32.const 0 i32.const 1056 - i32.const 2834 + i32.const 2830 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -41835,14 +41055,14 @@ if i32.const 0 i32.const 1056 - i32.const 2835 + i32.const 2831 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41850,14 +41070,14 @@ if i32.const 0 i32.const 1056 - i32.const 2836 + i32.const 2832 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0 f32.const 0 call $std/math/check @@ -41865,14 +41085,14 @@ if i32.const 0 i32.const 1056 - i32.const 2837 + i32.const 2833 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41880,14 +41100,14 @@ if i32.const 0 i32.const 1056 - i32.const 2838 + i32.const 2834 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41895,14 +41115,14 @@ if i32.const 0 i32.const 1056 - i32.const 2839 + i32.const 2835 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -41910,14 +41130,14 @@ if i32.const 0 i32.const 1056 - i32.const 2840 + i32.const 2836 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -2 f32.const 0 call $std/math/check @@ -41925,14 +41145,14 @@ if i32.const 0 i32.const 1056 - i32.const 2841 + i32.const 2837 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0.5 f32.const 0 call $std/math/check @@ -41940,14 +41160,14 @@ if i32.const 0 i32.const 1056 - i32.const 2842 + i32.const 2838 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -41955,14 +41175,14 @@ if i32.const 0 i32.const 1056 - i32.const 2845 + i32.const 2841 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0 f32.const 0 call $std/math/check @@ -41970,14 +41190,14 @@ if i32.const 0 i32.const 1056 - i32.const 2846 + i32.const 2842 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1.1754943508222875e-38 f32.const 0 call $std/math/check @@ -41985,14 +41205,14 @@ if i32.const 0 i32.const 1056 - i32.const 2847 + i32.const 2843 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -1.1754943508222875e-38 f32.const 0 call $std/math/check @@ -42000,14 +41220,14 @@ if i32.const 0 i32.const 1056 - i32.const 2848 + i32.const 2844 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 3402823466385288598117041e14 f32.const 0 call $std/math/check @@ -42015,14 +41235,14 @@ if i32.const 0 i32.const 1056 - i32.const 2849 + i32.const 2845 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -3402823466385288598117041e14 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -3402823466385288598117041e14 f32.const 0 call $std/math/check @@ -42030,14 +41250,14 @@ if i32.const 0 i32.const 1056 - i32.const 2850 + i32.const 2846 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 3402823466385288598117041e14 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42045,14 +41265,14 @@ if i32.const 0 i32.const 1056 - i32.const 2852 + i32.const 2848 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 1.1754943508222875e-38 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42060,14 +41280,14 @@ if i32.const 0 i32.const 1056 - i32.const 2853 + i32.const 2849 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 3402823466385288598117041e14 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42075,14 +41295,14 @@ if i32.const 0 i32.const 1056 - i32.const 2854 + i32.const 2850 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 17 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0 f32.const 0 call $std/math/check @@ -42090,14 +41310,14 @@ if i32.const 0 i32.const 1056 - i32.const 2855 + i32.const 2851 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42105,14 +41325,14 @@ if i32.const 0 i32.const 1056 - i32.const 2856 + i32.const 2852 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 1.1754943508222875e-38 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42120,14 +41340,14 @@ if i32.const 0 i32.const 1056 - i32.const 2857 + i32.const 2853 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.100000023841858 f32.const 101 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -15158.70703125 f32.const -0.2798735499382019 call $std/math/check @@ -42135,14 +41355,14 @@ if i32.const 0 i32.const 1056 - i32.const 2859 + i32.const 2855 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 19 f32.const 5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2476099 f32.const 0 call $std/math/check @@ -42150,14 +41370,14 @@ if i32.const 0 i32.const 1056 - i32.const 2861 + i32.const 2857 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -19 f32.const 5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -2476099 f32.const 0 call $std/math/check @@ -42165,14 +41385,14 @@ if i32.const 0 i32.const 1056 - i32.const 2862 + i32.const 2858 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -193 f32.const 3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -7189057 f32.const 0 call $std/math/check @@ -42180,14 +41400,14 @@ if i32.const 0 i32.const 1056 - i32.const 2863 + i32.const 2859 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1201 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1442401 f32.const 0 call $std/math/check @@ -42195,14 +41415,14 @@ if i32.const 0 i32.const 1056 - i32.const 2864 + i32.const 2860 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 7.312918663024902 f32.const 17.122268676757812 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 624013315407872 f32.const -0.14995409548282623 call $std/math/check @@ -42210,14 +41430,14 @@ if i32.const 0 i32.const 1056 - i32.const 2866 + i32.const 2862 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 18.804489135742188 f32.const 3.3214492797851562 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 17076.3515625 f32.const 0.3042995035648346 call $std/math/check @@ -42225,14 +41445,14 @@ if i32.const 0 i32.const 1056 - i32.const 2867 + i32.const 2863 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 7.290969371795654 f32.const 9.60707950592041 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 194467360 f32.const -0.10728006064891815 call $std/math/check @@ -42240,14 +41460,14 @@ if i32.const 0 i32.const 1056 - i32.const 2868 + i32.const 2864 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 15.783316612243652 f32.const 18.55087661743164 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 16889945384019652771840 f32.const 0.09180249273777008 call $std/math/check @@ -42255,14 +41475,14 @@ if i32.const 0 i32.const 1056 - i32.const 2869 + i32.const 2865 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 8.319306373596191 f32.const 0.4197559952735901 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2.43339204788208 f32.const 0.009661106392741203 call $std/math/check @@ -42270,14 +41490,14 @@ if i32.const 0 i32.const 1056 - i32.const 2870 + i32.const 2866 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.831245422363281 f32.const 10.462174415588379 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 102690080 f32.const -1.4237762661650777e-03 call $std/math/check @@ -42285,14 +41505,14 @@ if i32.const 0 i32.const 1056 - i32.const 2871 + i32.const 2867 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.415773391723633 f32.const 17.12181282043457 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 3619232.25 f32.const 0.2961936891078949 call $std/math/check @@ -42300,14 +41520,14 @@ if i32.const 0 i32.const 1056 - i32.const 2872 + i32.const 2868 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.03832307085394859 f32.const 0.011254354380071163 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.9639571905136108 f32.const -0.4840981066226959 call $std/math/check @@ -42315,14 +41535,14 @@ if i32.const 0 i32.const 1056 - i32.const 2873 + i32.const 2869 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.4462971687316895 f32.const 15.814705848693848 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 437749907456 f32.const -0.40305933356285095 call $std/math/check @@ -42330,14 +41550,14 @@ if i32.const 0 i32.const 1056 - i32.const 2874 + i32.const 2870 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 12.87027645111084 f32.const 14.93734359741211 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 37522809982812160 f32.const 0.10445278882980347 call $std/math/check @@ -42345,14 +41565,14 @@ if i32.const 0 i32.const 1056 - i32.const 2875 + i32.const 2871 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -42360,14 +41580,14 @@ if i32.const 0 i32.const 1056 - i32.const 2877 + i32.const 2873 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -42375,14 +41595,14 @@ if i32.const 0 i32.const 1056 - i32.const 2878 + i32.const 2874 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -42390,14 +41610,14 @@ if i32.const 0 i32.const 1056 - i32.const 2879 + i32.const 2875 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -42405,14 +41625,14 @@ if i32.const 0 i32.const 1056 - i32.const 2880 + i32.const 2876 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -42420,14 +41640,14 @@ if i32.const 0 i32.const 1056 - i32.const 2881 + i32.const 2877 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 f32.const 0 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1 f32.const 0 call $std/math/check @@ -42435,14 +41655,14 @@ if i32.const 0 i32.const 1056 - i32.const 2882 + i32.const 2878 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42450,14 +41670,14 @@ if i32.const 0 i32.const 1056 - i32.const 2884 + i32.const 2880 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42465,14 +41685,14 @@ if i32.const 0 i32.const 1056 - i32.const 2885 + i32.const 2881 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42480,14 +41700,14 @@ if i32.const 0 i32.const 1056 - i32.const 2886 + i32.const 2882 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -42495,14 +41715,14 @@ if i32.const 0 i32.const 1056 - i32.const 2887 + i32.const 2883 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42510,14 +41730,14 @@ if i32.const 0 i32.const 1056 - i32.const 2889 + i32.const 2885 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42525,14 +41745,14 @@ if i32.const 0 i32.const 1056 - i32.const 2890 + i32.const 2886 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42540,14 +41760,14 @@ if i32.const 0 i32.const 1056 - i32.const 2891 + i32.const 2887 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42555,14 +41775,14 @@ if i32.const 0 i32.const 1056 - i32.const 2892 + i32.const 2888 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42570,14 +41790,14 @@ if i32.const 0 i32.const 1056 - i32.const 2893 + i32.const 2889 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42585,14 +41805,14 @@ if i32.const 0 i32.const 1056 - i32.const 2894 + i32.const 2890 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const nan:0x400000 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -42600,14 +41820,14 @@ if i32.const 0 i32.const 1056 - i32.const 2895 + i32.const 2891 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42615,14 +41835,14 @@ if i32.const 0 i32.const 1056 - i32.const 2897 + i32.const 2893 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42630,14 +41850,14 @@ if i32.const 0 i32.const 1056 - i32.const 2898 + i32.const 2894 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42645,14 +41865,14 @@ if i32.const 0 i32.const 1056 - i32.const 2899 + i32.const 2895 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42660,14 +41880,14 @@ if i32.const 0 i32.const 1056 - i32.const 2900 + i32.const 2896 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.0000001192092896 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42675,14 +41895,14 @@ if i32.const 0 i32.const 1056 - i32.const 2902 + i32.const 2898 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42690,14 +41910,14 @@ if i32.const 0 i32.const 1056 - i32.const 2903 + i32.const 2899 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.0000001192092896 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42705,14 +41925,14 @@ if i32.const 0 i32.const 1056 - i32.const 2904 + i32.const 2900 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42720,14 +41940,14 @@ if i32.const 0 i32.const 1056 - i32.const 2905 + i32.const 2901 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.9999999403953552 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42735,14 +41955,14 @@ if i32.const 0 i32.const 1056 - i32.const 2907 + i32.const 2903 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42750,14 +41970,14 @@ if i32.const 0 i32.const 1056 - i32.const 2908 + i32.const 2904 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42765,14 +41985,14 @@ if i32.const 0 i32.const 1056 - i32.const 2909 + i32.const 2905 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.9999999403953552 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42780,14 +42000,14 @@ if i32.const 0 i32.const 1056 - i32.const 2910 + i32.const 2906 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42795,14 +42015,14 @@ if i32.const 0 i32.const 1056 - i32.const 2911 + i32.const 2907 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42810,14 +42030,14 @@ if i32.const 0 i32.const 1056 - i32.const 2912 + i32.const 2908 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const 1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42825,14 +42045,14 @@ if i32.const 0 i32.const 1056 - i32.const 2914 + i32.const 2910 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const 1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42840,14 +42060,14 @@ if i32.const 0 i32.const 1056 - i32.const 2915 + i32.const 2911 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -3402823466385288598117041e14 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42855,14 +42075,14 @@ if i32.const 0 i32.const 1056 - i32.const 2917 + i32.const 2913 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 f32.const -1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42870,14 +42090,14 @@ if i32.const 0 i32.const 1056 - i32.const 2918 + i32.const 2914 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -3402823466385288598117041e14 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42885,14 +42105,14 @@ if i32.const 0 i32.const 1056 - i32.const 2919 + i32.const 2915 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42900,14 +42120,14 @@ if i32.const 0 i32.const 1056 - i32.const 2920 + i32.const 2916 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42915,14 +42135,14 @@ if i32.const 0 i32.const 1056 - i32.const 2921 + i32.const 2917 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -42930,14 +42150,14 @@ if i32.const 0 i32.const 1056 - i32.const 2922 + i32.const 2918 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 f32.const -17 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -42945,14 +42165,14 @@ if i32.const 0 i32.const 1056 - i32.const 2923 + i32.const 2919 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const 1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42960,14 +42180,14 @@ if i32.const 0 i32.const 1056 - i32.const 2925 + i32.const 2921 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf f32.const -1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -42975,14 +42195,14 @@ if i32.const 0 i32.const 1056 - i32.const 2926 + i32.const 2922 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 3402823466385288598117041e14 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -42990,14 +42210,14 @@ if i32.const 0 i32.const 1056 - i32.const 2928 + i32.const 2924 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -43005,14 +42225,14 @@ if i32.const 0 i32.const 1056 - i32.const 2929 + i32.const 2925 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -3402823466385288598117041e14 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -43020,14 +42240,14 @@ if i32.const 0 i32.const 1056 - i32.const 2930 + i32.const 2926 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -1.401298464324817e-45 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -43035,14 +42255,14 @@ if i32.const 0 i32.const 1056 - i32.const 2931 + i32.const 2927 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -43050,14 +42270,14 @@ if i32.const 0 i32.const 1056 - i32.const 2932 + i32.const 2928 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0 f32.const 0 call $std/math/check @@ -43065,14 +42285,14 @@ if i32.const 0 i32.const 1056 - i32.const 2933 + i32.const 2929 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 6 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -43080,14 +42300,14 @@ if i32.const 0 i32.const 1056 - i32.const 2934 + i32.const 2930 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const -6 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -43095,14 +42315,14 @@ if i32.const 0 i32.const 1056 - i32.const 2935 + i32.const 2931 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 2.000000238418579 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -43110,14 +42330,14 @@ if i32.const 0 i32.const 1056 - i32.const 2937 + i32.const 2933 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1 f32.const 1.0000001192092896 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -43125,14 +42345,14 @@ if i32.const 0 i32.const 1056 - i32.const 2938 + i32.const 2934 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 f32.const -1.9999998807907104 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -43140,14 +42360,14 @@ if i32.const 0 i32.const 1056 - i32.const 2939 + i32.const 2935 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -10 f32.const 309 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -inf f32.const 0 call $std/math/check @@ -43155,14 +42375,14 @@ if i32.const 0 i32.const 1056 - i32.const 2941 + i32.const 2937 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -43170,14 +42390,14 @@ if i32.const 0 i32.const 1056 - i32.const 2942 + i32.const 2938 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 5.293955920339377e-23 f32.const 0 call $std/math/check @@ -43185,14 +42405,14 @@ if i32.const 0 i32.const 1056 - i32.const 2944 + i32.const 2940 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1210387714598537e-44 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1.0587911840678754e-22 f32.const 0 call $std/math/check @@ -43200,14 +42420,14 @@ if i32.const 0 i32.const 1056 - i32.const 2945 + i32.const 2941 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 5.421010862427522e-20 f32.const 0 call $std/math/check @@ -43215,14 +42435,14 @@ if i32.const 0 i32.const 1056 - i32.const 2946 + i32.const 2942 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1701411834604692317316873e14 f32.const 0 call $std/math/check @@ -43230,14 +42450,14 @@ if i32.const 0 i32.const 1056 - i32.const 2947 + i32.const 2943 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1.0842021724855044e-19 f32.const 0 call $std/math/check @@ -43245,14 +42465,14 @@ if i32.const 0 i32.const 1056 - i32.const 2948 + i32.const 2944 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 8507059173023461586584365e13 f32.const 0 call $std/math/check @@ -43260,14 +42480,14 @@ if i32.const 0 i32.const 1056 - i32.const 2949 + i32.const 2945 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 4253529586511730793292182e13 f32.const 0 call $std/math/check @@ -43275,14 +42495,14 @@ if i32.const 0 i32.const 1056 - i32.const 2950 + i32.const 2946 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2.168404344971009e-19 f32.const 0 call $std/math/check @@ -43290,14 +42510,14 @@ if i32.const 0 i32.const 1056 - i32.const 2951 + i32.const 2947 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2126764793255865396646091e13 f32.const 0 call $std/math/check @@ -43305,14 +42525,14 @@ if i32.const 0 i32.const 1056 - i32.const 2952 + i32.const 2948 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.293955920339377e-23 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2.802596928649634e-45 f32.const 0 call $std/math/check @@ -43320,14 +42540,14 @@ if i32.const 0 i32.const 1056 - i32.const 2953 + i32.const 2949 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.168404344971009e-19 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 4.656612873077393e-10 f32.const 0 call $std/math/check @@ -43335,14 +42555,14 @@ if i32.const 0 i32.const 1056 - i32.const 2954 + i32.const 2950 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.3283064365386963e-10 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 5.421010862427522e-20 f32.const 0 call $std/math/check @@ -43350,14 +42570,14 @@ if i32.const 0 i32.const 1056 - i32.const 2955 + i32.const 2951 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.656612873077393e-10 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2.168404344971009e-19 f32.const 0 call $std/math/check @@ -43365,14 +42585,14 @@ if i32.const 0 i32.const 1056 - i32.const 2956 + i32.const 2952 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1920928955078125e-07 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 8388608 f32.const 0 call $std/math/check @@ -43380,14 +42600,14 @@ if i32.const 0 i32.const 1056 - i32.const 2957 + i32.const 2953 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.000034332275390625 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.005859375 f32.const 0 call $std/math/check @@ -43395,14 +42615,14 @@ if i32.const 0 i32.const 1056 - i32.const 2958 + i32.const 2954 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.00006103515625 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.0078125 f32.const 0 call $std/math/check @@ -43410,14 +42630,14 @@ if i32.const 0 i32.const 1056 - i32.const 2959 + i32.const 2955 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.00390625 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.0625 f32.const 0 call $std/math/check @@ -43425,14 +42645,14 @@ if i32.const 0 i32.const 1056 - i32.const 2960 + i32.const 2956 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.03515625 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.1875 f32.const 0 call $std/math/check @@ -43440,14 +42660,14 @@ if i32.const 0 i32.const 1056 - i32.const 2961 + i32.const 2957 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.0625 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.25 f32.const 0 call $std/math/check @@ -43455,14 +42675,14 @@ if i32.const 0 i32.const 1056 - i32.const 2962 + i32.const 2958 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.25 f32.const 2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0.0625 f32.const 0 call $std/math/check @@ -43470,14 +42690,14 @@ if i32.const 0 i32.const 1056 - i32.const 2963 + i32.const 2959 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2126764793255865396646091e13 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 4611686018427387904 f32.const 0 call $std/math/check @@ -43485,14 +42705,14 @@ if i32.const 0 i32.const 1056 - i32.const 2965 + i32.const 2961 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2126764793255865396646091e13 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 4.70197740328915e-38 f32.const 0 call $std/math/check @@ -43500,14 +42720,14 @@ if i32.const 0 i32.const 1056 - i32.const 2966 + i32.const 2962 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4253529586511730793292182e13 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -43515,14 +42735,14 @@ if i32.const 0 i32.const 1056 - i32.const 2967 + i32.const 2963 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4253529586511730793292182e13 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2.350988701644575e-38 f32.const 0 call $std/math/check @@ -43530,14 +42750,14 @@ if i32.const 0 i32.const 1056 - i32.const 2968 + i32.const 2964 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4253529586511730793292182e13 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -43545,14 +42765,14 @@ if i32.const 0 i32.const 1056 - i32.const 2969 + i32.const 2965 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 8507059173023461586584365e13 f32.const 0.5 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 9223372036854775808 f32.const 0 call $std/math/check @@ -43560,14 +42780,14 @@ if i32.const 0 i32.const 1056 - i32.const 2970 + i32.const 2966 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 8507059173023461586584365e13 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 1.1754943508222875e-38 f32.const 0 call $std/math/check @@ -43575,14 +42795,14 @@ if i32.const 0 i32.const 1056 - i32.const 2971 + i32.const 2967 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 f32.const inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const inf f32.const 0 call $std/math/check @@ -43590,14 +42810,14 @@ if i32.const 0 i32.const 1056 - i32.const 2973 + i32.const 2969 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 f32.const -inf - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const 0 call $std/math/check @@ -43605,14 +42825,14 @@ if i32.const 0 i32.const 1056 - i32.const 2974 + i32.const 2970 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -2.465190328815662e-32 call $std/math/check @@ -43620,14 +42840,14 @@ if i32.const 0 i32.const 1056 - i32.const 2976 + i32.const 2972 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -3 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43635,14 +42855,14 @@ if i32.const 0 i32.const 1056 - i32.const 2977 + i32.const 2973 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -255 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43650,14 +42870,14 @@ if i32.const 0 i32.const 1056 - i32.const 2978 + i32.const 2974 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -256 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43665,14 +42885,14 @@ if i32.const 0 i32.const 1056 - i32.const 2979 + i32.const 2975 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -257 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43680,14 +42900,14 @@ if i32.const 0 i32.const 1056 - i32.const 2980 + i32.const 2976 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -260 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43695,14 +42915,14 @@ if i32.const 0 i32.const 1056 - i32.const 2981 + i32.const 2977 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -261 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43710,14 +42930,14 @@ if i32.const 0 i32.const 1056 - i32.const 2982 + i32.const 2978 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -32767 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43725,14 +42945,14 @@ if i32.const 0 i32.const 1056 - i32.const 2983 + i32.const 2979 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1701411834604692317316873e14 f32.const -32768 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43740,14 +42960,14 @@ if i32.const 0 i32.const 1056 - i32.const 2984 + i32.const 2980 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 3402822046616616342500112e14 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 2.938737278354183e-39 f32.const -4.768373855768004e-07 call $std/math/check @@ -43755,14 +42975,14 @@ if i32.const 0 i32.const 1056 - i32.const 2985 + i32.const 2981 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 3402822046616616342500112e14 f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -6.162981699510909e-33 call $std/math/check @@ -43770,14 +42990,14 @@ if i32.const 0 i32.const 1056 - i32.const 2986 + i32.const 2982 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1701411834604692317316873e14 f32.const -32767 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -0 f32.const 0 call $std/math/check @@ -43785,14 +43005,14 @@ if i32.const 0 i32.const 1056 - i32.const 2988 + i32.const 2984 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1701411834604692317316873e14 f32.const -32768 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -0 call $std/math/check @@ -43800,14 +43020,14 @@ if i32.const 0 i32.const 1056 - i32.const 2989 + i32.const 2985 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -3402822046616616342500112e14 f32.const -1 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const -2.938737278354183e-39 f32.const 4.768373855768004e-07 call $std/math/check @@ -43815,14 +43035,14 @@ if i32.const 0 i32.const 1056 - i32.const 2990 + i32.const 2986 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -3402822046616616342500112e14 f32.const -2 - call $~lib/math/NativeMathf.pow + call $~lib/util/math/pow32 f32.const 0 f32.const -6.162981699510909e-33 call $std/math/check @@ -43830,16 +43050,66 @@ if i32.const 0 i32.const 1056 - i32.const 2991 + i32.const 2987 i32.const 1 call $~lib/builtins/abort unreachable end call $~lib/bindings/dom/Math.random i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom + local.tee $0 + i64.eqz + if + i64.const -7046029254386353131 + local.set $0 + end + local.get $0 + i64.const 33 + i64.shr_u + local.get $0 + i64.xor + i64.const -49064778989728563 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -4265267296055464877 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -49064778989728563 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -4265267296055464877 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + global.set $~lib/math/random_state1_64 + i32.const 1 + global.set $~lib/math/random_seeded loop $for-loop|0 - local.get $1 + local.get $2 f64.convert_i32_s f64.const 1e6 f64.lt @@ -43849,31 +43119,81 @@ if call $~lib/builtins/seed i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom + local.tee $0 + i64.eqz + if + i64.const -7046029254386353131 + local.set $0 + end + local.get $0 + i64.const 33 + i64.shr_u + local.get $0 + i64.xor + i64.const -49064778989728563 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -4265267296055464877 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -49064778989728563 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -4265267296055464877 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + global.set $~lib/math/random_state1_64 + i32.const 1 + global.set $~lib/math/random_seeded end global.get $~lib/math/random_state0_64 - local.set $6 + local.set $3 global.get $~lib/math/random_state1_64 - local.tee $2 + local.tee $0 global.set $~lib/math/random_state0_64 - local.get $2 - local.get $6 - local.get $6 + local.get $0 + local.get $3 + local.get $3 i64.const 23 i64.shl i64.xor - local.tee $6 + local.tee $3 i64.const 17 i64.shr_u - local.get $6 + local.get $3 i64.xor i64.xor - local.get $2 + local.get $0 i64.const 26 i64.shr_u i64.xor global.set $~lib/math/random_state1_64 - local.get $2 + local.get $0 i64.const 12 i64.shr_u i64.const 4607182418800017408 @@ -43881,10 +43201,10 @@ f64.reinterpret_i64 f64.const 1 f64.sub - local.tee $0 + local.tee $1 f64.const 1 f64.lt - local.get $0 + local.get $1 f64.const 0 f64.ge i32.and @@ -43892,91 +43212,18 @@ if i32.const 0 i32.const 1056 - i32.const 3000 + i32.const 2996 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - call $~lib/bindings/dom/Math.random - i64.reinterpret_f64 - 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 - if - global.get $~lib/math/random_seeded - i32.eqz - if - call $~lib/builtins/seed - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom - end - global.get $~lib/math/random_state0_32 - local.tee $4 - global.get $~lib/math/random_state1_32 - i32.xor - local.tee $3 - local.get $4 - i32.const 26 - i32.rotl - i32.xor - local.get $3 - i32.const 9 - i32.shl - i32.xor - global.set $~lib/math/random_state0_32 - local.get $3 - i32.const 13 - i32.rotl - global.set $~lib/math/random_state1_32 - local.get $4 - i32.const -1640531525 - i32.mul - i32.const 5 - i32.rotl - i32.const 5 - i32.mul - i32.const 9 - i32.shr_u - i32.const 1065353216 - i32.or - f32.reinterpret_i32 - f32.const 1 - f32.sub - local.tee $5 - f32.const 1 - f32.lt - local.get $5 - f32.const 0 - f32.ge - i32.and - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3008 - i32.const 3 - 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 call $std/math/test_round @@ -43984,7 +43231,7 @@ if i32.const 0 i32.const 1056 - i32.const 3022 + i32.const 3010 i32.const 1 call $~lib/builtins/abort unreachable @@ -43996,7 +43243,7 @@ if i32.const 0 i32.const 1056 - i32.const 3023 + i32.const 3011 i32.const 1 call $~lib/builtins/abort unreachable @@ -44008,7 +43255,7 @@ if i32.const 0 i32.const 1056 - i32.const 3024 + i32.const 3012 i32.const 1 call $~lib/builtins/abort unreachable @@ -44020,7 +43267,7 @@ if i32.const 0 i32.const 1056 - i32.const 3025 + i32.const 3013 i32.const 1 call $~lib/builtins/abort unreachable @@ -44032,7 +43279,7 @@ if i32.const 0 i32.const 1056 - i32.const 3026 + i32.const 3014 i32.const 1 call $~lib/builtins/abort unreachable @@ -44044,7 +43291,7 @@ if i32.const 0 i32.const 1056 - i32.const 3027 + i32.const 3015 i32.const 1 call $~lib/builtins/abort unreachable @@ -44056,7 +43303,7 @@ if i32.const 0 i32.const 1056 - i32.const 3028 + i32.const 3016 i32.const 1 call $~lib/builtins/abort unreachable @@ -44068,7 +43315,7 @@ if i32.const 0 i32.const 1056 - i32.const 3029 + i32.const 3017 i32.const 1 call $~lib/builtins/abort unreachable @@ -44080,7 +43327,7 @@ if i32.const 0 i32.const 1056 - i32.const 3030 + i32.const 3018 i32.const 1 call $~lib/builtins/abort unreachable @@ -44092,7 +43339,7 @@ if i32.const 0 i32.const 1056 - i32.const 3031 + i32.const 3019 i32.const 1 call $~lib/builtins/abort unreachable @@ -44104,7 +43351,7 @@ if i32.const 0 i32.const 1056 - i32.const 3034 + i32.const 3022 i32.const 1 call $~lib/builtins/abort unreachable @@ -44116,7 +43363,7 @@ if i32.const 0 i32.const 1056 - i32.const 3035 + i32.const 3023 i32.const 1 call $~lib/builtins/abort unreachable @@ -44128,7 +43375,7 @@ if i32.const 0 i32.const 1056 - i32.const 3036 + i32.const 3024 i32.const 1 call $~lib/builtins/abort unreachable @@ -44140,7 +43387,7 @@ if i32.const 0 i32.const 1056 - i32.const 3037 + i32.const 3025 i32.const 1 call $~lib/builtins/abort unreachable @@ -44152,7 +43399,7 @@ if i32.const 0 i32.const 1056 - i32.const 3038 + i32.const 3026 i32.const 1 call $~lib/builtins/abort unreachable @@ -44164,7 +43411,7 @@ if i32.const 0 i32.const 1056 - i32.const 3039 + i32.const 3027 i32.const 1 call $~lib/builtins/abort unreachable @@ -44176,7 +43423,7 @@ if i32.const 0 i32.const 1056 - i32.const 3040 + i32.const 3028 i32.const 1 call $~lib/builtins/abort unreachable @@ -44188,7 +43435,7 @@ if i32.const 0 i32.const 1056 - i32.const 3041 + i32.const 3029 i32.const 1 call $~lib/builtins/abort unreachable @@ -44200,7 +43447,7 @@ if i32.const 0 i32.const 1056 - i32.const 3042 + i32.const 3030 i32.const 1 call $~lib/builtins/abort unreachable @@ -44212,7 +43459,7 @@ if i32.const 0 i32.const 1056 - i32.const 3043 + i32.const 3031 i32.const 1 call $~lib/builtins/abort unreachable @@ -44224,7 +43471,7 @@ if i32.const 0 i32.const 1056 - i32.const 3044 + i32.const 3032 i32.const 1 call $~lib/builtins/abort unreachable @@ -44236,7 +43483,7 @@ if i32.const 0 i32.const 1056 - i32.const 3045 + i32.const 3033 i32.const 1 call $~lib/builtins/abort unreachable @@ -44248,2911 +43495,601 @@ if i32.const 0 i32.const 1056 - i32.const 3046 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999923706054688 - f64.const 1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3047 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.9999923706054688 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3048 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 7.888609052210118e-31 - f64.const 0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3049 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -7.888609052210118e-31 - f64.const -0 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3050 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const -8 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3065 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const 4 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3066 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -8 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3067 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const -7 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3068 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 9 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3069 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6619858741760254 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3070 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.40660393238067627 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3071 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5617597699165344 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3072 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.7741522789001465 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3073 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.6787636876106262 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3074 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3077 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const inf - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3078 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -inf - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3079 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3080 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3081 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3082 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3083 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3084 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3085 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 2 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3086 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - call $std/math/test_round - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3087 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1.0000152587890625 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3088 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -1.0000152587890625 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3089 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.9999923706054688 - f32.const 1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3090 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.9999923706054688 - f32.const -1 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3091 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 7.888609052210118e-31 - f32.const 0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3092 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -7.888609052210118e-31 - f32.const -0 - call $std/math/test_roundf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3093 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3104 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3105 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3106 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3107 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3108 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3109 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3110 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3111 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $std/math/test_sign - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3112 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3120 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -0 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3121 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3122 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3123 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const -1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3124 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const -1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3125 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3126 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const -1 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3127 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const nan:0x400000 - call $std/math/test_signf - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3128 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -8.06684839057968 - f64.const 4.535662560676869 - call $~lib/math/NativeMath.rem - f64.const 1.0044767307740567 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3165 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 4.345239849338305 - f64.const -8.88799136300345 - call $~lib/math/NativeMath.rem - f64.const 4.345239849338305 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3166 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -8.38143342755525 - f64.const -2.763607337379588 - call $~lib/math/NativeMath.rem - f64.const -0.09061141541648476 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3167 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -6.531673581913484 - f64.const 4.567535276842744 - call $~lib/math/NativeMath.rem - f64.const -1.9641383050707404 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3168 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 9.267056966972586 - f64.const 4.811392084359796 - call $~lib/math/NativeMath.rem - f64.const -0.35572720174700656 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3169 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -6.450045556060236 - f64.const 0.6620717923376739 - call $~lib/math/NativeMath.rem - f64.const 0.17067236731650248 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3170 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 7.858890253041697 - f64.const 0.05215452675006225 - call $~lib/math/NativeMath.rem - f64.const -0.016443286217702822 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3171 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.792054511984896 - f64.const 7.67640268511754 - call $~lib/math/NativeMath.rem - f64.const -0.792054511984896 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3172 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.615702673197924 - f64.const 2.0119025790324803 - call $~lib/math/NativeMath.rem - f64.const 0.615702673197924 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3173 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5587586823609152 - f64.const 0.03223983060263804 - call $~lib/math/NativeMath.rem - f64.const -0.0106815621160685 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3174 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3177 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3178 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const 0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3179 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const -0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3180 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3181 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3182 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const -0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3183 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const 0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3184 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3185 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3186 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3187 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3188 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 1 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3189 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3190 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3191 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.5 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const 0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3192 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0.5 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const -0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3193 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3194 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3195 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.5 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const -0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3196 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1.5 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const 0.5 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3197 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 2 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3198 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -2 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3199 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3200 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3201 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -1 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3202 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const 0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3203 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3204 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const inf - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3205 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const -inf - call $~lib/math/NativeMath.rem - f64.const 0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3206 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3207 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const 0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3208 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3209 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const inf - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3210 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const -inf - call $~lib/math/NativeMath.rem - f64.const -0 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3211 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3212 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const 0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3213 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const 0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3214 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3215 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3216 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const 0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3217 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3218 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3219 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3220 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const -0 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3221 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const 2 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3222 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -0.5 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3223 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3224 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const 2 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3225 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -0.5 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3226 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3227 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const nan:0x8000000000000 - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3228 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3229 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3230 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const inf - call $~lib/math/NativeMath.rem - f64.const 1 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3231 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const inf - call $~lib/math/NativeMath.rem - f64.const -1 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3232 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const inf - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3233 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const inf - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3234 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1 - f64.const -inf - call $~lib/math/NativeMath.rem - f64.const 1 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3235 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - f64.const -inf - call $~lib/math/NativeMath.rem - f64.const -1 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3236 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - f64.const -inf - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3237 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - f64.const -inf - call $~lib/math/NativeMath.rem - f64.const nan:0x8000000000000 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3238 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const 0.5 - call $~lib/math/NativeMath.rem - f64.const -0.25 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3239 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const 0.5 - call $~lib/math/NativeMath.rem - f64.const 0.25 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3240 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.75 - f64.const -0.5 - call $~lib/math/NativeMath.rem - f64.const -0.25 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3241 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1.75 - f64.const -0.5 - call $~lib/math/NativeMath.rem - f64.const 0.25 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3242 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 8e-323 - f64.const inf - call $~lib/math/NativeMath.rem - f64.const 8e-323 - f64.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3243 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.066848754882812 - f32.const 4.535662651062012 - call $~lib/math/NativeMathf.rem - f32.const 1.004476547241211 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3252 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 4.345239639282227 - f32.const -8.887990951538086 - call $~lib/math/NativeMathf.rem - f32.const 4.345239639282227 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3253 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -8.381433486938477 - f32.const -2.7636072635650635 - call $~lib/math/NativeMathf.rem - f32.const -0.09061169624328613 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3254 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -6.531673431396484 - f32.const 4.567535400390625 - call $~lib/math/NativeMathf.rem - f32.const -1.9641380310058594 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3255 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 9.267057418823242 - f32.const 4.811392307281494 - call $~lib/math/NativeMathf.rem - f32.const -0.3557271957397461 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3256 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -6.450045585632324 - f32.const 0.6620717644691467 - call $~lib/math/NativeMathf.rem - f32.const 0.17067205905914307 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3257 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 7.858890056610107 - f32.const 0.052154526114463806 - call $~lib/math/NativeMathf.rem - f32.const -0.016443386673927307 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3258 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.7920545339584351 - f32.const 7.676402568817139 - call $~lib/math/NativeMathf.rem - f32.const -0.7920545339584351 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3259 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.6157026886940002 - f32.const 2.0119025707244873 - call $~lib/math/NativeMathf.rem - f32.const 0.6157026886940002 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3260 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5587586760520935 - f32.const 0.03223983198404312 - call $~lib/math/NativeMathf.rem - f32.const -0.010681532323360443 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3261 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3264 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3265 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const 0.5 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3266 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const -0.5 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3267 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3268 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -1 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3269 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1.5 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const -0.5 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3270 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -1.5 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const 0.5 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3271 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 2 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3272 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -2 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3273 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const inf - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3274 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -inf - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3275 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const nan:0x400000 - f32.const 1 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3276 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3277 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3278 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 0.5 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const 0.5 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3279 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const -0.5 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const -0.5 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3280 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f32.const 1 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check - i32.eqz - if - i32.const 0 - i32.const 1056 - i32.const 3281 + i32.const 3034 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check + f64.const 0.9999923706054688 + f64.const 1 + call $std/math/test_round i32.eqz if i32.const 0 i32.const 1056 - i32.const 3282 + i32.const 3035 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.5 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const -0.5 - f32.const 0 - call $std/math/check + f64.const -0.9999923706054688 + f64.const -1 + call $std/math/test_round i32.eqz if i32.const 0 i32.const 1056 - i32.const 3283 + i32.const 3036 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.5 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const 0.5 - f32.const 0 - call $std/math/check + f64.const 7.888609052210118e-31 + f64.const 0 + call $std/math/test_round i32.eqz if i32.const 0 i32.const 1056 - i32.const 3284 + i32.const 3037 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 2 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check + f64.const -7.888609052210118e-31 + f64.const -0 + call $std/math/test_round i32.eqz if i32.const 0 i32.const 1056 - i32.const 3285 + i32.const 3038 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -2 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check + f32.const -8.066848754882812 + f32.const -8 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3286 + i32.const 3053 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 4.345239639282227 + f32.const 4 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3287 + i32.const 3054 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -8.381433486938477 + f32.const -8 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3288 + i32.const 3055 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const -1 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -6.531673431396484 + f32.const -7 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3289 + i32.const 3056 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const 0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 9.267057418823242 + f32.const 9 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3290 + i32.const 3057 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 0.6619858741760254 + f32.const 1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3291 + i32.const 3058 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const inf - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check + f32.const -0.40660393238067627 + f32.const -0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3292 + i32.const 3059 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const -inf - call $~lib/math/NativeMathf.rem - f32.const 0 - f32.const 0 - call $std/math/check + f32.const 0.5617597699165344 + f32.const 1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3293 + i32.const 3060 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 0 - f32.const nan:0x400000 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 0.7741522789001465 + f32.const 1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3294 + i32.const 3061 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const 0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -0.6787636876106262 + f32.const -1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3295 + i32.const 3062 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const -0 - call $~lib/math/NativeMathf.rem f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const nan:0x400000 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3296 + i32.const 3065 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 f32.const inf - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check + f32.const inf + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3297 + i32.const 3066 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 f32.const -inf - call $~lib/math/NativeMathf.rem - f32.const -0 - f32.const 0 - call $std/math/check + f32.const -inf + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3298 + i32.const 3067 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -0 - f32.const nan:0x400000 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 f32.const 0 - call $std/math/check + f32.const 0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3299 + i32.const 3068 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const 0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -0 + f32.const -0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3300 + i32.const 3069 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const 0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 1 + f32.const 1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3301 + i32.const 3070 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -1 + f32.const -1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3302 + i32.const 3071 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const 0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 0.5 + f32.const 1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3303 + i32.const 3072 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const 0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -0.5 + f32.const -0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3304 + i32.const 3073 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const 1.5 + f64.const 2 + call $std/math/test_round i32.eqz if i32.const 0 i32.const 1056 - i32.const 3305 + i32.const 3074 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const -1.5 + f64.const -1 + call $std/math/test_round i32.eqz if i32.const 0 i32.const 1056 - i32.const 3306 + i32.const 3075 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const -0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 1.0000152587890625 + f32.const 1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3307 + i32.const 3076 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const -0 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -1.0000152587890625 + f32.const -1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3308 + i32.const 3077 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const 2 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 0.9999923706054688 + f32.const 1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3309 + i32.const 3078 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -0.5 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -0.9999923706054688 + f32.const -1 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3310 + i32.const 3079 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const nan:0x400000 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 + f32.const 7.888609052210118e-31 f32.const 0 - call $std/math/check + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3311 + i32.const 3080 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const 2 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const -7.888609052210118e-31 + f32.const -0 + call $std/math/test_roundf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3312 + i32.const 3081 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const -0.5 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const 0 + f64.const 0 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3313 + i32.const 3092 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const nan:0x400000 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const -0 + f64.const -0 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3314 + i32.const 3093 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - f32.const nan:0x400000 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const 1 + f64.const 1 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3315 + i32.const 3094 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const nan:0x400000 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const 2 + f64.const 1 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3316 + i32.const 3095 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const nan:0x400000 - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const -1 + f64.const -1 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3317 + i32.const 3096 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const inf - call $~lib/math/NativeMathf.rem - f32.const 1 - f32.const 0 - call $std/math/check + f64.const -2 + f64.const -1 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3318 + i32.const 3097 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const inf - call $~lib/math/NativeMathf.rem - f32.const -1 - f32.const 0 - call $std/math/check + f64.const inf + f64.const 1 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3319 + i32.const 3098 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const inf - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const -inf + f64.const -1 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3320 + i32.const 3099 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const inf - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f64.const nan:0x8000000000000 + f64.const nan:0x8000000000000 + call $std/math/test_sign i32.eqz if i32.const 0 i32.const 1056 - i32.const 3321 + i32.const 3100 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1 - f32.const -inf - call $~lib/math/NativeMathf.rem - f32.const 1 f32.const 0 - call $std/math/check + f32.const 0 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3322 + i32.const 3108 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1 - f32.const -inf - call $~lib/math/NativeMathf.rem - f32.const -1 - f32.const 0 - call $std/math/check + f32.const -0 + f32.const -0 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3323 + i32.const 3109 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const inf - f32.const -inf - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 1 + f32.const 1 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3324 + i32.const 3110 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -inf - f32.const -inf - call $~lib/math/NativeMathf.rem - f32.const nan:0x400000 - f32.const 0 - call $std/math/check + f32.const 2 + f32.const 1 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3325 + i32.const 3111 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.75 - f32.const 0.5 - call $~lib/math/NativeMathf.rem - f32.const -0.25 - f32.const 0 - call $std/math/check + f32.const -1 + f32.const -1 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3326 + i32.const 3112 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.75 - f32.const 0.5 - call $~lib/math/NativeMathf.rem - f32.const 0.25 - f32.const 0 - call $std/math/check + f32.const -2 + f32.const -1 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3327 + i32.const 3113 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 1.75 - f32.const -0.5 - call $~lib/math/NativeMathf.rem - f32.const -0.25 - f32.const 0 - call $std/math/check + f32.const inf + f32.const 1 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3328 + i32.const 3114 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const -1.75 - f32.const -0.5 - call $~lib/math/NativeMathf.rem - f32.const 0.25 - f32.const 0 - call $std/math/check + f32.const -inf + f32.const -1 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3329 + i32.const 3115 i32.const 1 call $~lib/builtins/abort unreachable end - f32.const 5.877471754111438e-39 - f32.const inf - call $~lib/math/NativeMathf.rem - f32.const 5.877471754111438e-39 - f32.const 0 - call $std/math/check + f32.const nan:0x400000 + f32.const nan:0x400000 + call $std/math/test_signf i32.eqz if i32.const 0 i32.const 1056 - i32.const 3330 + i32.const 3116 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.9774292928781227 f64.const -0.14564912021160126 call $std/math/check @@ -47169,13 +44106,13 @@ if i32.const 0 i32.const 1056 - i32.const 3342 + i32.const 3154 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.9333544736965718 f64.const -0.08813747018575668 call $std/math/check @@ -47192,13 +44129,13 @@ if i32.const 0 i32.const 1056 - i32.const 3343 + i32.const 3155 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.8640924711706304 f64.const -0.11743883043527603 call $std/math/check @@ -47215,13 +44152,13 @@ if i32.const 0 i32.const 1056 - i32.const 3344 + i32.const 3156 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.24593894772615374 f64.const -0.12697851657867432 call $std/math/check @@ -47238,13 +44175,13 @@ if i32.const 0 i32.const 1056 - i32.const 3345 + i32.const 3157 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.15706789772028007 f64.const -0.029550159350037575 call $std/math/check @@ -47261,13 +44198,13 @@ if i32.const 0 i32.const 1056 - i32.const 3346 + i32.const 3158 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.6146844860113447 f64.const -0.09976737946271896 call $std/math/check @@ -47284,13 +44221,13 @@ if i32.const 0 i32.const 1056 - i32.const 3347 + i32.const 3159 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.39549242182823696 f64.const -0.3668774962425232 call $std/math/check @@ -47307,13 +44244,13 @@ if i32.const 0 i32.const 1056 - i32.const 3348 + i32.const 3160 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.5326763286672376 f64.const -0.3550407588481903 call $std/math/check @@ -47330,13 +44267,13 @@ if i32.const 0 i32.const 1056 - i32.const 3349 + i32.const 3161 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.6991102068649779 f64.const -0.427672415971756 call $std/math/check @@ -47353,13 +44290,13 @@ if i32.const 0 i32.const 1056 - i32.const 3350 + i32.const 3162 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.6278312326301215 f64.const -0.3828115463256836 call $std/math/check @@ -47376,13 +44313,13 @@ if i32.const 0 i32.const 1056 - i32.const 3351 + i32.const 3163 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.313225746154785e-10 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 9.313225746154785e-10 f64.const 6.510416860692203e-04 call $std/math/check @@ -47399,13 +44336,13 @@ if i32.const 0 i32.const 1056 - i32.const 3354 + i32.const 3166 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -9.313225746154785e-10 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -9.313225746154785e-10 f64.const -6.510416860692203e-04 call $std/math/check @@ -47422,13 +44359,13 @@ if i32.const 0 i32.const 1056 - i32.const 3355 + i32.const 3167 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072014e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 2.2250738585072014e-308 f64.const 0 call $std/math/check @@ -47445,13 +44382,13 @@ if i32.const 0 i32.const 1056 - i32.const 3356 + i32.const 3168 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072014e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -2.2250738585072014e-308 f64.const 0 call $std/math/check @@ -47468,13 +44405,13 @@ if i32.const 0 i32.const 1056 - i32.const 3357 + i32.const 3169 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 5e-324 f64.const 0 call $std/math/check @@ -47491,13 +44428,13 @@ if i32.const 0 i32.const 1056 - i32.const 3358 + i32.const 3170 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5e-324 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -5e-324 f64.const 0 call $std/math/check @@ -47514,13 +44451,13 @@ if i32.const 0 i32.const 1056 - i32.const 3359 + i32.const 3171 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0 f64.const 0 call $std/math/check @@ -47537,13 +44474,13 @@ if i32.const 0 i32.const 1056 - i32.const 3360 + i32.const 3172 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0 f64.const 0 call $std/math/check @@ -47560,13 +44497,13 @@ if i32.const 0 i32.const 1056 - i32.const 3361 + i32.const 3173 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.225073858507202e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 2.225073858507202e-308 f64.const 0 call $std/math/check @@ -47583,13 +44520,13 @@ if i32.const 0 i32.const 1056 - i32.const 3362 + i32.const 3174 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072024e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 2.2250738585072024e-308 f64.const 0 call $std/math/check @@ -47606,13 +44543,13 @@ if i32.const 0 i32.const 1056 - i32.const 3363 + i32.const 3175 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.4501477170144003e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 4.4501477170144003e-308 f64.const 0 call $std/math/check @@ -47629,13 +44566,13 @@ if i32.const 0 i32.const 1056 - i32.const 3364 + i32.const 3176 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.450147717014403e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 4.450147717014403e-308 f64.const 0 call $std/math/check @@ -47652,13 +44589,13 @@ if i32.const 0 i32.const 1056 - i32.const 3365 + i32.const 3177 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.450147717014406e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 4.450147717014406e-308 f64.const 0 call $std/math/check @@ -47675,13 +44612,13 @@ if i32.const 0 i32.const 1056 - i32.const 3366 + i32.const 3178 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.900295434028806e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 8.900295434028806e-308 f64.const 0 call $std/math/check @@ -47698,13 +44635,13 @@ if i32.const 0 i32.const 1056 - i32.const 3367 + i32.const 3179 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1175870895385742e-08 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 1.1175870895385742e-08 f64.const 0.140625 call $std/math/check @@ -47721,13 +44658,13 @@ if i32.const 0 i32.const 1056 - i32.const 3368 + i32.const 3180 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.4901161193847656e-08 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 1.4901161193847656e-08 f64.const 0.1666666716337204 call $std/math/check @@ -47744,13 +44681,13 @@ if i32.const 0 i32.const 1056 - i32.const 3369 + i32.const 3181 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.225073858507202e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -2.225073858507202e-308 f64.const 0 call $std/math/check @@ -47767,13 +44704,13 @@ if i32.const 0 i32.const 1056 - i32.const 3370 + i32.const 3182 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072024e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -2.2250738585072024e-308 f64.const 0 call $std/math/check @@ -47790,13 +44727,13 @@ if i32.const 0 i32.const 1056 - i32.const 3371 + i32.const 3183 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.4501477170144003e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -4.4501477170144003e-308 f64.const 0 call $std/math/check @@ -47813,13 +44750,13 @@ if i32.const 0 i32.const 1056 - i32.const 3372 + i32.const 3184 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.450147717014403e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -4.450147717014403e-308 f64.const 0 call $std/math/check @@ -47836,13 +44773,13 @@ if i32.const 0 i32.const 1056 - i32.const 3373 + i32.const 3185 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.450147717014406e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -4.450147717014406e-308 f64.const 0 call $std/math/check @@ -47859,13 +44796,13 @@ if i32.const 0 i32.const 1056 - i32.const 3374 + i32.const 3186 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.900295434028806e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -8.900295434028806e-308 f64.const 0 call $std/math/check @@ -47882,13 +44819,13 @@ if i32.const 0 i32.const 1056 - i32.const 3375 + i32.const 3187 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.1175870895385742e-08 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -1.1175870895385742e-08 f64.const -0.140625 call $std/math/check @@ -47905,13 +44842,13 @@ if i32.const 0 i32.const 1056 - i32.const 3376 + i32.const 3188 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.4901161193847656e-08 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -1.4901161193847656e-08 f64.const -0.1666666716337204 call $std/math/check @@ -47928,13 +44865,13 @@ if i32.const 0 i32.const 1056 - i32.const 3377 + i32.const 3189 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.4901161193847656e-08 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -1.4901161193847656e-08 f64.const -0.1666666716337204 call $std/math/check @@ -47951,13 +44888,13 @@ if i32.const 0 i32.const 1056 - i32.const 3378 + i32.const 3190 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-323 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 1e-323 f64.const 0 call $std/math/check @@ -47974,13 +44911,13 @@ if i32.const 0 i32.const 1056 - i32.const 3379 + i32.const 3191 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.4e-323 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 4.4e-323 f64.const 0 call $std/math/check @@ -47997,13 +44934,13 @@ if i32.const 0 i32.const 1056 - i32.const 3380 + i32.const 3192 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5.562684646268003e-309 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 5.562684646268003e-309 f64.const 0 call $std/math/check @@ -48020,13 +44957,13 @@ if i32.const 0 i32.const 1056 - i32.const 3381 + i32.const 3193 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1125369292536007e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 1.1125369292536007e-308 f64.const 0 call $std/math/check @@ -48043,13 +44980,13 @@ if i32.const 0 i32.const 1056 - i32.const 3382 + i32.const 3194 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072004e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 2.2250738585072004e-308 f64.const 0 call $std/math/check @@ -48066,13 +45003,13 @@ if i32.const 0 i32.const 1056 - i32.const 3383 + i32.const 3195 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.225073858507201e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 2.225073858507201e-308 f64.const 0 call $std/math/check @@ -48089,13 +45026,13 @@ if i32.const 0 i32.const 1056 - i32.const 3384 + i32.const 3196 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-323 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -1e-323 f64.const 0 call $std/math/check @@ -48112,13 +45049,13 @@ if i32.const 0 i32.const 1056 - i32.const 3385 + i32.const 3197 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.4e-323 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -4.4e-323 f64.const 0 call $std/math/check @@ -48135,13 +45072,13 @@ if i32.const 0 i32.const 1056 - i32.const 3386 + i32.const 3198 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5.562684646268003e-309 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -5.562684646268003e-309 f64.const 0 call $std/math/check @@ -48158,13 +45095,13 @@ if i32.const 0 i32.const 1056 - i32.const 3387 + i32.const 3199 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.1125369292536007e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -1.1125369292536007e-308 f64.const 0 call $std/math/check @@ -48181,13 +45118,13 @@ if i32.const 0 i32.const 1056 - i32.const 3388 + i32.const 3200 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072004e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -2.2250738585072004e-308 f64.const 0 call $std/math/check @@ -48204,13 +45141,13 @@ if i32.const 0 i32.const 1056 - i32.const 3389 + i32.const 3201 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.225073858507201e-308 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -2.225073858507201e-308 f64.const 0 call $std/math/check @@ -48227,13 +45164,13 @@ if i32.const 0 i32.const 1056 - i32.const 3390 + i32.const 3202 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0 f64.const 0 call $std/math/check @@ -48250,13 +45187,13 @@ if i32.const 0 i32.const 1056 - i32.const 3393 + i32.const 3205 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0 f64.const 0 call $std/math/check @@ -48273,13 +45210,13 @@ if i32.const 0 i32.const 1056 - i32.const 3394 + i32.const 3206 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -48296,13 +45233,13 @@ if i32.const 0 i32.const 1056 - i32.const 3395 + i32.const 3207 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -48319,13 +45256,13 @@ if i32.const 0 i32.const 1056 - i32.const 3396 + i32.const 3208 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -48342,243 +45279,243 @@ if i32.const 0 i32.const 1056 - i32.const 3397 + i32.const 3209 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.5707963267948966 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 1.5707963267948966 call $~lib/bindings/dom/Math.sin f64.ne if i32.const 0 i32.const 1056 - i32.const 3400 + i32.const 3212 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.141592653589793 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 3.141592653589793 call $~lib/bindings/dom/Math.sin f64.ne if i32.const 0 i32.const 1056 - i32.const 3401 + i32.const 3213 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 2.3283064365386963e-10 f64.ne if i32.const 0 i32.const 1056 - i32.const 3404 + i32.const 3216 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -2.3283064365386963e-10 f64.ne if i32.const 0 i32.const 1056 - i32.const 3405 + i32.const 3217 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.39269908169872414 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.3826834323650898 f64.ne if i32.const 0 i32.const 1056 - i32.const 3407 + i32.const 3219 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.39269908169872414 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.3826834323650898 f64.ne if i32.const 0 i32.const 1056 - i32.const 3408 + i32.const 3220 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.479425538604203 f64.ne if i32.const 0 i32.const 1056 - i32.const 3411 + i32.const 3223 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.5 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.479425538604203 f64.ne if i32.const 0 i32.const 1056 - i32.const 3412 + i32.const 3224 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.5707963267948966 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 3413 + i32.const 3225 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.5707963267948966 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -1 f64.ne if i32.const 0 i32.const 1056 - i32.const 3414 + i32.const 3226 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.141592653589793 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 1.2246467991473532e-16 f64.ne if i32.const 0 i32.const 1056 - i32.const 3416 + i32.const 3228 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 6911.503837897545 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -7.047032979958965e-14 f64.ne if i32.const 0 i32.const 1056 - i32.const 3417 + i32.const 3229 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5.497787143782138 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.7071067811865477 f64.ne if i32.const 0 i32.const 1056 - i32.const 3419 + i32.const 3231 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.0685834705770345 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.7071067811865474 f64.ne if i32.const 0 i32.const 1056 - i32.const 3420 + i32.const 3232 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.63937979737193 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.7071067811865483 f64.ne if i32.const 0 i32.const 1056 - i32.const 3421 + i32.const 3233 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 10.210176124166829 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.7071067811865479 f64.ne if i32.const 0 i32.const 1056 - i32.const 3422 + i32.const 3234 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 823549.6645826427 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -3.2103381051568376e-11 f64.ne if i32.const 0 i32.const 1056 - i32.const 3423 + i32.const 3235 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1329227995784915872903807e12 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const 0.377820109360752 f64.ne if i32.const 0 i32.const 1056 - i32.const 3426 + i32.const 3238 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1329227995784915872903807e12 - call $~lib/math/NativeMath.sin + call $~lib/util/math/sin64 f64.const -0.377820109360752 f64.ne if i32.const 0 i32.const 1056 - i32.const 3427 + i32.const 3239 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.977429211139679 f32.const 0.0801057294011116 call $std/math/check @@ -48586,13 +45523,13 @@ if i32.const 0 i32.const 1056 - i32.const 3436 + i32.const 3248 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.933354377746582 f32.const 0.34475627541542053 call $std/math/check @@ -48600,13 +45537,13 @@ if i32.const 0 i32.const 1056 - i32.const 3437 + i32.const 3249 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.8640924692153931 f32.const -0.468659907579422 call $std/math/check @@ -48614,13 +45551,13 @@ if i32.const 0 i32.const 1056 - i32.const 3438 + i32.const 3250 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.24593880772590637 f32.const -0.3955177664756775 call $std/math/check @@ -48628,13 +45565,13 @@ if i32.const 0 i32.const 1056 - i32.const 3439 + i32.const 3251 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.1570674479007721 f32.const -0.24006809294223785 call $std/math/check @@ -48642,13 +45579,13 @@ if i32.const 0 i32.const 1056 - i32.const 3440 + i32.const 3252 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.6146844625473022 f32.const -0.07707194238901138 call $std/math/check @@ -48656,13 +45593,13 @@ if i32.const 0 i32.const 1056 - i32.const 3441 + i32.const 3253 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.39549243450164795 f32.const -0.11720617115497589 call $std/math/check @@ -48670,13 +45607,13 @@ if i32.const 0 i32.const 1056 - i32.const 3442 + i32.const 3254 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.5326763391494751 f32.const -0.16059114038944244 call $std/math/check @@ -48684,13 +45621,13 @@ if i32.const 0 i32.const 1056 - i32.const 3443 + i32.const 3255 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.699110209941864 f32.const 0.26384368538856506 call $std/math/check @@ -48698,13 +45635,13 @@ if i32.const 0 i32.const 1056 - i32.const 3444 + i32.const 3256 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.627831220626831 f32.const 0.005127954296767712 call $std/math/check @@ -48712,13 +45649,13 @@ if i32.const 0 i32.const 1056 - i32.const 3445 + i32.const 3257 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0 f32.const 0 call $std/math/check @@ -48726,13 +45663,13 @@ if i32.const 0 i32.const 1056 - i32.const 3448 + i32.const 3260 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0 f32.const 0 call $std/math/check @@ -48740,13 +45677,13 @@ if i32.const 0 i32.const 1056 - i32.const 3449 + i32.const 3261 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -48754,13 +45691,13 @@ if i32.const 0 i32.const 1056 - i32.const 3450 + i32.const 3262 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -48768,13 +45705,13 @@ if i32.const 0 i32.const 1056 - i32.const 3451 + i32.const 3263 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -48782,13 +45719,13 @@ if i32.const 0 i32.const 1056 - i32.const 3452 + i32.const 3264 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.862645149230957e-09 f32.const 4.850638554015907e-12 call $std/math/check @@ -48796,13 +45733,13 @@ if i32.const 0 i32.const 1056 - i32.const 3455 + i32.const 3267 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.862645149230957e-09 f32.const -4.850638554015907e-12 call $std/math/check @@ -48810,13 +45747,13 @@ if i32.const 0 i32.const 1056 - i32.const 3456 + i32.const 3268 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.1754943508222875e-38 f32.const 0 call $std/math/check @@ -48824,13 +45761,13 @@ if i32.const 0 i32.const 1056 - i32.const 3457 + i32.const 3269 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.1754943508222875e-38 f32.const 0 call $std/math/check @@ -48838,13 +45775,13 @@ if i32.const 0 i32.const 1056 - i32.const 3458 + i32.const 3270 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.401298464324817e-45 f32.const 0 call $std/math/check @@ -48852,13 +45789,13 @@ if i32.const 0 i32.const 1056 - i32.const 3459 + i32.const 3271 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.401298464324817e-45 f32.const 0 call $std/math/check @@ -48866,13 +45803,13 @@ if i32.const 0 i32.const 1056 - i32.const 3460 + i32.const 3272 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.175494490952134e-38 f32.const 0 call $std/math/check @@ -48880,13 +45817,13 @@ if i32.const 0 i32.const 1056 - i32.const 3461 + i32.const 3273 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.1754946310819804e-38 f32.const 0 call $std/math/check @@ -48894,13 +45831,13 @@ if i32.const 0 i32.const 1056 - i32.const 3462 + i32.const 3274 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 2.3509880009953429e-38 f32.const 0 call $std/math/check @@ -48908,13 +45845,13 @@ if i32.const 0 i32.const 1056 - i32.const 3463 + i32.const 3275 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 2.350988701644575e-38 f32.const 0 call $std/math/check @@ -48922,13 +45859,13 @@ if i32.const 0 i32.const 1056 - i32.const 3464 + i32.const 3276 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 2.3509895424236536e-38 f32.const 0 call $std/math/check @@ -48936,13 +45873,13 @@ if i32.const 0 i32.const 1056 - i32.const 3465 + i32.const 3277 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 4.70197740328915e-38 f32.const 0 call $std/math/check @@ -48950,13 +45887,13 @@ if i32.const 0 i32.const 1056 - i32.const 3466 + i32.const 3278 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1175870895385742e-08 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.1175870895385742e-08 f32.const 2.6193447411060333e-10 call $std/math/check @@ -48964,13 +45901,13 @@ if i32.const 0 i32.const 1056 - i32.const 3467 + i32.const 3279 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.4901161193847656e-08 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.4901161193847656e-08 f32.const 3.1044086745701804e-10 call $std/math/check @@ -48978,13 +45915,13 @@ if i32.const 0 i32.const 1056 - i32.const 3468 + i32.const 3280 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.000244140625 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.000244140625 f32.const 0.0833333358168602 call $std/math/check @@ -48992,13 +45929,13 @@ if i32.const 0 i32.const 1056 - i32.const 3469 + i32.const 3281 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.0003662109375 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.0003662109375 f32.const 0.28125 call $std/math/check @@ -49006,13 +45943,13 @@ if i32.const 0 i32.const 1056 - i32.const 3470 + i32.const 3282 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.175494490952134e-38 f32.const 0 call $std/math/check @@ -49020,13 +45957,13 @@ if i32.const 0 i32.const 1056 - i32.const 3471 + i32.const 3283 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.1754946310819804e-38 f32.const 0 call $std/math/check @@ -49034,13 +45971,13 @@ if i32.const 0 i32.const 1056 - i32.const 3472 + i32.const 3284 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -2.3509880009953429e-38 f32.const 0 call $std/math/check @@ -49048,13 +45985,13 @@ if i32.const 0 i32.const 1056 - i32.const 3473 + i32.const 3285 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.350988701644575e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -2.350988701644575e-38 f32.const 0 call $std/math/check @@ -49062,13 +45999,13 @@ if i32.const 0 i32.const 1056 - i32.const 3474 + i32.const 3286 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -2.3509895424236536e-38 f32.const 0 call $std/math/check @@ -49076,13 +46013,13 @@ if i32.const 0 i32.const 1056 - i32.const 3475 + i32.const 3287 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -4.70197740328915e-38 f32.const 0 call $std/math/check @@ -49090,13 +46027,13 @@ if i32.const 0 i32.const 1056 - i32.const 3476 + i32.const 3288 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1175870895385742e-08 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.1175870895385742e-08 f32.const -2.6193447411060333e-10 call $std/math/check @@ -49104,13 +46041,13 @@ if i32.const 0 i32.const 1056 - i32.const 3477 + i32.const 3289 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.4901161193847656e-08 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.4901161193847656e-08 f32.const -3.1044086745701804e-10 call $std/math/check @@ -49118,13 +46055,13 @@ if i32.const 0 i32.const 1056 - i32.const 3478 + i32.const 3290 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.000244140625 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.000244140625 f32.const -0.0833333358168602 call $std/math/check @@ -49132,13 +46069,13 @@ if i32.const 0 i32.const 1056 - i32.const 3479 + i32.const 3291 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.0003662109375 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.0003662109375 f32.const -0.28125 call $std/math/check @@ -49146,13 +46083,13 @@ if i32.const 0 i32.const 1056 - i32.const 3480 + i32.const 3292 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 2.802596928649634e-45 f32.const 0 call $std/math/check @@ -49160,13 +46097,13 @@ if i32.const 0 i32.const 1056 - i32.const 3481 + i32.const 3293 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.2611686178923354e-44 f32.const 0 call $std/math/check @@ -49174,13 +46111,13 @@ if i32.const 0 i32.const 1056 - i32.const 3482 + i32.const 3294 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 2.938735877055719e-39 f32.const 0 call $std/math/check @@ -49188,13 +46125,13 @@ if i32.const 0 i32.const 1056 - i32.const 3483 + i32.const 3295 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 5.877471754111438e-39 f32.const 0 call $std/math/check @@ -49202,13 +46139,13 @@ if i32.const 0 i32.const 1056 - i32.const 3484 + i32.const 3296 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.1754940705625946e-38 f32.const 0 call $std/math/check @@ -49216,13 +46153,13 @@ if i32.const 0 i32.const 1056 - i32.const 3485 + i32.const 3297 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 1.1754942106924411e-38 f32.const 0 call $std/math/check @@ -49230,13 +46167,13 @@ if i32.const 0 i32.const 1056 - i32.const 3486 + i32.const 3298 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -2.802596928649634e-45 f32.const 0 call $std/math/check @@ -49244,13 +46181,13 @@ if i32.const 0 i32.const 1056 - i32.const 3487 + i32.const 3299 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.2611686178923354e-44 f32.const 0 call $std/math/check @@ -49258,13 +46195,13 @@ if i32.const 0 i32.const 1056 - i32.const 3488 + i32.const 3300 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -2.938735877055719e-39 f32.const 0 call $std/math/check @@ -49272,13 +46209,13 @@ if i32.const 0 i32.const 1056 - i32.const 3489 + i32.const 3301 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -5.877471754111438e-39 f32.const 0 call $std/math/check @@ -49286,13 +46223,13 @@ if i32.const 0 i32.const 1056 - i32.const 3490 + i32.const 3302 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.1754940705625946e-38 f32.const 0 call $std/math/check @@ -49300,13 +46237,13 @@ if i32.const 0 i32.const 1056 - i32.const 3491 + i32.const 3303 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -1.1754942106924411e-38 f32.const 0 call $std/math/check @@ -49314,13 +46251,13 @@ if i32.const 0 i32.const 1056 - i32.const 3492 + i32.const 3304 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 255.99993896484375 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.9992055892944336 f32.const 0 call $std/math/check @@ -49328,13 +46265,13 @@ if i32.const 0 i32.const 1056 - i32.const 3495 + i32.const 3307 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5033165 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.5312945246696472 f32.const 0 call $std/math/check @@ -49342,13 +46279,13 @@ if i32.const 0 i32.const 1056 - i32.const 3496 + i32.const 3308 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 421657440 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.7397398948669434 f32.const 0 call $std/math/check @@ -49356,13 +46293,13 @@ if i32.const 0 i32.const 1056 - i32.const 3497 + i32.const 3309 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2147483392 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.2762770354747772 f32.const 0 call $std/math/check @@ -49370,13 +46307,13 @@ if i32.const 0 i32.const 1056 - i32.const 3498 + i32.const 3310 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 68719476736 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.9855440855026245 f32.const 0 call $std/math/check @@ -49384,13 +46321,13 @@ if i32.const 0 i32.const 1056 - i32.const 3499 + i32.const 3311 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 549755813888 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.9782648086547852 f32.const 0 call $std/math/check @@ -49398,13 +46335,13 @@ if i32.const 0 i32.const 1056 - i32.const 3500 + i32.const 3312 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 3402823466385288598117041e14 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.5218765139579773 f32.const 0 call $std/math/check @@ -49412,13 +46349,13 @@ if i32.const 0 i32.const 1056 - i32.const 3501 + i32.const 3313 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -255.99993896484375 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.9992055892944336 f32.const 0 call $std/math/check @@ -49426,13 +46363,13 @@ if i32.const 0 i32.const 1056 - i32.const 3502 + i32.const 3314 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -5033165 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.5312945246696472 f32.const 0 call $std/math/check @@ -49440,13 +46377,13 @@ if i32.const 0 i32.const 1056 - i32.const 3503 + i32.const 3315 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -421657440 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.7397398948669434 f32.const 0 call $std/math/check @@ -49454,13 +46391,13 @@ if i32.const 0 i32.const 1056 - i32.const 3504 + i32.const 3316 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2147483392 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.2762770354747772 f32.const 0 call $std/math/check @@ -49468,13 +46405,13 @@ if i32.const 0 i32.const 1056 - i32.const 3505 + i32.const 3317 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -68719476736 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const -0.9855440855026245 f32.const 0 call $std/math/check @@ -49482,13 +46419,13 @@ if i32.const 0 i32.const 1056 - i32.const 3506 + i32.const 3318 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -549755813888 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.9782648086547852 f32.const 0 call $std/math/check @@ -49496,13 +46433,13 @@ if i32.const 0 i32.const 1056 - i32.const 3507 + i32.const 3319 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -3402823466385288598117041e14 - call $~lib/math/NativeMathf.sin + call $~lib/util/math/sin32 f32.const 0.5218765139579773 f32.const 0 call $std/math/check @@ -49510,7 +46447,7 @@ if i32.const 0 i32.const 1056 - i32.const 3508 + i32.const 3320 i32.const 1 call $~lib/builtins/abort unreachable @@ -49523,7 +46460,7 @@ if i32.const 0 i32.const 1056 - i32.const 3520 + i32.const 3332 i32.const 1 call $~lib/builtins/abort unreachable @@ -49536,7 +46473,7 @@ if i32.const 0 i32.const 1056 - i32.const 3521 + i32.const 3333 i32.const 1 call $~lib/builtins/abort unreachable @@ -49549,7 +46486,7 @@ if i32.const 0 i32.const 1056 - i32.const 3522 + i32.const 3334 i32.const 1 call $~lib/builtins/abort unreachable @@ -49562,7 +46499,7 @@ if i32.const 0 i32.const 1056 - i32.const 3523 + i32.const 3335 i32.const 1 call $~lib/builtins/abort unreachable @@ -49575,7 +46512,7 @@ if i32.const 0 i32.const 1056 - i32.const 3524 + i32.const 3336 i32.const 1 call $~lib/builtins/abort unreachable @@ -49588,7 +46525,7 @@ if i32.const 0 i32.const 1056 - i32.const 3525 + i32.const 3337 i32.const 1 call $~lib/builtins/abort unreachable @@ -49601,7 +46538,7 @@ if i32.const 0 i32.const 1056 - i32.const 3526 + i32.const 3338 i32.const 1 call $~lib/builtins/abort unreachable @@ -49614,7 +46551,7 @@ if i32.const 0 i32.const 1056 - i32.const 3527 + i32.const 3339 i32.const 1 call $~lib/builtins/abort unreachable @@ -49627,7 +46564,7 @@ if i32.const 0 i32.const 1056 - i32.const 3528 + i32.const 3340 i32.const 1 call $~lib/builtins/abort unreachable @@ -49640,7 +46577,7 @@ if i32.const 0 i32.const 1056 - i32.const 3529 + i32.const 3341 i32.const 1 call $~lib/builtins/abort unreachable @@ -49653,7 +46590,7 @@ if i32.const 0 i32.const 1056 - i32.const 3532 + i32.const 3344 i32.const 1 call $~lib/builtins/abort unreachable @@ -49666,7 +46603,7 @@ if i32.const 0 i32.const 1056 - i32.const 3533 + i32.const 3345 i32.const 1 call $~lib/builtins/abort unreachable @@ -49679,7 +46616,7 @@ if i32.const 0 i32.const 1056 - i32.const 3534 + i32.const 3346 i32.const 1 call $~lib/builtins/abort unreachable @@ -49692,7 +46629,7 @@ if i32.const 0 i32.const 1056 - i32.const 3535 + i32.const 3347 i32.const 1 call $~lib/builtins/abort unreachable @@ -49705,7 +46642,7 @@ if i32.const 0 i32.const 1056 - i32.const 3536 + i32.const 3348 i32.const 1 call $~lib/builtins/abort unreachable @@ -49718,7 +46655,7 @@ if i32.const 0 i32.const 1056 - i32.const 3545 + i32.const 3357 i32.const 1 call $~lib/builtins/abort unreachable @@ -49731,7 +46668,7 @@ if i32.const 0 i32.const 1056 - i32.const 3546 + i32.const 3358 i32.const 1 call $~lib/builtins/abort unreachable @@ -49744,7 +46681,7 @@ if i32.const 0 i32.const 1056 - i32.const 3547 + i32.const 3359 i32.const 1 call $~lib/builtins/abort unreachable @@ -49757,7 +46694,7 @@ if i32.const 0 i32.const 1056 - i32.const 3548 + i32.const 3360 i32.const 1 call $~lib/builtins/abort unreachable @@ -49770,7 +46707,7 @@ if i32.const 0 i32.const 1056 - i32.const 3549 + i32.const 3361 i32.const 1 call $~lib/builtins/abort unreachable @@ -49783,7 +46720,7 @@ if i32.const 0 i32.const 1056 - i32.const 3550 + i32.const 3362 i32.const 1 call $~lib/builtins/abort unreachable @@ -49796,7 +46733,7 @@ if i32.const 0 i32.const 1056 - i32.const 3551 + i32.const 3363 i32.const 1 call $~lib/builtins/abort unreachable @@ -49809,7 +46746,7 @@ if i32.const 0 i32.const 1056 - i32.const 3552 + i32.const 3364 i32.const 1 call $~lib/builtins/abort unreachable @@ -49822,7 +46759,7 @@ if i32.const 0 i32.const 1056 - i32.const 3553 + i32.const 3365 i32.const 1 call $~lib/builtins/abort unreachable @@ -49835,7 +46772,7 @@ if i32.const 0 i32.const 1056 - i32.const 3554 + i32.const 3366 i32.const 1 call $~lib/builtins/abort unreachable @@ -49848,7 +46785,7 @@ if i32.const 0 i32.const 1056 - i32.const 3557 + i32.const 3369 i32.const 1 call $~lib/builtins/abort unreachable @@ -49861,7 +46798,7 @@ if i32.const 0 i32.const 1056 - i32.const 3558 + i32.const 3370 i32.const 1 call $~lib/builtins/abort unreachable @@ -49874,7 +46811,7 @@ if i32.const 0 i32.const 1056 - i32.const 3559 + i32.const 3371 i32.const 1 call $~lib/builtins/abort unreachable @@ -49887,7 +46824,7 @@ if i32.const 0 i32.const 1056 - i32.const 3560 + i32.const 3372 i32.const 1 call $~lib/builtins/abort unreachable @@ -49900,7 +46837,7 @@ if i32.const 0 i32.const 1056 - i32.const 3561 + i32.const 3373 i32.const 1 call $~lib/builtins/abort unreachable @@ -49922,7 +46859,7 @@ if i32.const 0 i32.const 1056 - i32.const 3573 + i32.const 3385 i32.const 1 call $~lib/builtins/abort unreachable @@ -49944,7 +46881,7 @@ if i32.const 0 i32.const 1056 - i32.const 3574 + i32.const 3386 i32.const 1 call $~lib/builtins/abort unreachable @@ -49966,7 +46903,7 @@ if i32.const 0 i32.const 1056 - i32.const 3575 + i32.const 3387 i32.const 1 call $~lib/builtins/abort unreachable @@ -49988,7 +46925,7 @@ if i32.const 0 i32.const 1056 - i32.const 3576 + i32.const 3388 i32.const 1 call $~lib/builtins/abort unreachable @@ -50010,7 +46947,7 @@ if i32.const 0 i32.const 1056 - i32.const 3577 + i32.const 3389 i32.const 1 call $~lib/builtins/abort unreachable @@ -50032,7 +46969,7 @@ if i32.const 0 i32.const 1056 - i32.const 3578 + i32.const 3390 i32.const 1 call $~lib/builtins/abort unreachable @@ -50054,7 +46991,7 @@ if i32.const 0 i32.const 1056 - i32.const 3579 + i32.const 3391 i32.const 1 call $~lib/builtins/abort unreachable @@ -50076,7 +47013,7 @@ if i32.const 0 i32.const 1056 - i32.const 3580 + i32.const 3392 i32.const 1 call $~lib/builtins/abort unreachable @@ -50098,7 +47035,7 @@ if i32.const 0 i32.const 1056 - i32.const 3581 + i32.const 3393 i32.const 1 call $~lib/builtins/abort unreachable @@ -50120,7 +47057,7 @@ if i32.const 0 i32.const 1056 - i32.const 3582 + i32.const 3394 i32.const 1 call $~lib/builtins/abort unreachable @@ -50142,7 +47079,7 @@ if i32.const 0 i32.const 1056 - i32.const 3585 + i32.const 3397 i32.const 1 call $~lib/builtins/abort unreachable @@ -50164,7 +47101,7 @@ if i32.const 0 i32.const 1056 - i32.const 3586 + i32.const 3398 i32.const 1 call $~lib/builtins/abort unreachable @@ -50186,7 +47123,7 @@ if i32.const 0 i32.const 1056 - i32.const 3587 + i32.const 3399 i32.const 1 call $~lib/builtins/abort unreachable @@ -50208,7 +47145,7 @@ if i32.const 0 i32.const 1056 - i32.const 3588 + i32.const 3400 i32.const 1 call $~lib/builtins/abort unreachable @@ -50230,7 +47167,7 @@ if i32.const 0 i32.const 1056 - i32.const 3589 + i32.const 3401 i32.const 1 call $~lib/builtins/abort unreachable @@ -50252,7 +47189,7 @@ if i32.const 0 i32.const 1056 - i32.const 3590 + i32.const 3402 i32.const 1 call $~lib/builtins/abort unreachable @@ -50274,7 +47211,7 @@ if i32.const 0 i32.const 1056 - i32.const 3591 + i32.const 3403 i32.const 1 call $~lib/builtins/abort unreachable @@ -50296,7 +47233,7 @@ if i32.const 0 i32.const 1056 - i32.const 3592 + i32.const 3404 i32.const 1 call $~lib/builtins/abort unreachable @@ -50318,7 +47255,7 @@ if i32.const 0 i32.const 1056 - i32.const 3593 + i32.const 3405 i32.const 1 call $~lib/builtins/abort unreachable @@ -50340,7 +47277,7 @@ if i32.const 0 i32.const 1056 - i32.const 3594 + i32.const 3406 i32.const 1 call $~lib/builtins/abort unreachable @@ -50362,7 +47299,7 @@ if i32.const 0 i32.const 1056 - i32.const 3595 + i32.const 3407 i32.const 1 call $~lib/builtins/abort unreachable @@ -50384,7 +47321,7 @@ if i32.const 0 i32.const 1056 - i32.const 3596 + i32.const 3408 i32.const 1 call $~lib/builtins/abort unreachable @@ -50406,7 +47343,7 @@ if i32.const 0 i32.const 1056 - i32.const 3597 + i32.const 3409 i32.const 1 call $~lib/builtins/abort unreachable @@ -50428,7 +47365,7 @@ if i32.const 0 i32.const 1056 - i32.const 3598 + i32.const 3410 i32.const 1 call $~lib/builtins/abort unreachable @@ -50450,7 +47387,7 @@ if i32.const 0 i32.const 1056 - i32.const 3599 + i32.const 3411 i32.const 1 call $~lib/builtins/abort unreachable @@ -50472,7 +47409,7 @@ if i32.const 0 i32.const 1056 - i32.const 3600 + i32.const 3412 i32.const 1 call $~lib/builtins/abort unreachable @@ -50494,7 +47431,7 @@ if i32.const 0 i32.const 1056 - i32.const 3601 + i32.const 3413 i32.const 1 call $~lib/builtins/abort unreachable @@ -50516,7 +47453,7 @@ if i32.const 0 i32.const 1056 - i32.const 3602 + i32.const 3414 i32.const 1 call $~lib/builtins/abort unreachable @@ -50538,7 +47475,7 @@ if i32.const 0 i32.const 1056 - i32.const 3603 + i32.const 3415 i32.const 1 call $~lib/builtins/abort unreachable @@ -50560,7 +47497,7 @@ if i32.const 0 i32.const 1056 - i32.const 3604 + i32.const 3416 i32.const 1 call $~lib/builtins/abort unreachable @@ -50582,7 +47519,7 @@ if i32.const 0 i32.const 1056 - i32.const 3605 + i32.const 3417 i32.const 1 call $~lib/builtins/abort unreachable @@ -50604,7 +47541,7 @@ if i32.const 0 i32.const 1056 - i32.const 3606 + i32.const 3418 i32.const 1 call $~lib/builtins/abort unreachable @@ -50626,7 +47563,7 @@ if i32.const 0 i32.const 1056 - i32.const 3607 + i32.const 3419 i32.const 1 call $~lib/builtins/abort unreachable @@ -50648,7 +47585,7 @@ if i32.const 0 i32.const 1056 - i32.const 3608 + i32.const 3420 i32.const 1 call $~lib/builtins/abort unreachable @@ -50670,7 +47607,7 @@ if i32.const 0 i32.const 1056 - i32.const 3609 + i32.const 3421 i32.const 1 call $~lib/builtins/abort unreachable @@ -50692,7 +47629,7 @@ if i32.const 0 i32.const 1056 - i32.const 3610 + i32.const 3422 i32.const 1 call $~lib/builtins/abort unreachable @@ -50714,7 +47651,7 @@ if i32.const 0 i32.const 1056 - i32.const 3611 + i32.const 3423 i32.const 1 call $~lib/builtins/abort unreachable @@ -50736,7 +47673,7 @@ if i32.const 0 i32.const 1056 - i32.const 3612 + i32.const 3424 i32.const 1 call $~lib/builtins/abort unreachable @@ -50758,7 +47695,7 @@ if i32.const 0 i32.const 1056 - i32.const 3613 + i32.const 3425 i32.const 1 call $~lib/builtins/abort unreachable @@ -50780,7 +47717,7 @@ if i32.const 0 i32.const 1056 - i32.const 3614 + i32.const 3426 i32.const 1 call $~lib/builtins/abort unreachable @@ -50802,7 +47739,7 @@ if i32.const 0 i32.const 1056 - i32.const 3615 + i32.const 3427 i32.const 1 call $~lib/builtins/abort unreachable @@ -50824,7 +47761,7 @@ if i32.const 0 i32.const 1056 - i32.const 3616 + i32.const 3428 i32.const 1 call $~lib/builtins/abort unreachable @@ -50846,7 +47783,7 @@ if i32.const 0 i32.const 1056 - i32.const 3617 + i32.const 3429 i32.const 1 call $~lib/builtins/abort unreachable @@ -50868,7 +47805,7 @@ if i32.const 0 i32.const 1056 - i32.const 3618 + i32.const 3430 i32.const 1 call $~lib/builtins/abort unreachable @@ -50890,7 +47827,7 @@ if i32.const 0 i32.const 1056 - i32.const 3619 + i32.const 3431 i32.const 1 call $~lib/builtins/abort unreachable @@ -50912,7 +47849,7 @@ if i32.const 0 i32.const 1056 - i32.const 3620 + i32.const 3432 i32.const 1 call $~lib/builtins/abort unreachable @@ -50934,7 +47871,7 @@ if i32.const 0 i32.const 1056 - i32.const 3621 + i32.const 3433 i32.const 1 call $~lib/builtins/abort unreachable @@ -50956,7 +47893,7 @@ if i32.const 0 i32.const 1056 - i32.const 3622 + i32.const 3434 i32.const 1 call $~lib/builtins/abort unreachable @@ -50978,7 +47915,7 @@ if i32.const 0 i32.const 1056 - i32.const 3623 + i32.const 3435 i32.const 1 call $~lib/builtins/abort unreachable @@ -51000,7 +47937,7 @@ if i32.const 0 i32.const 1056 - i32.const 3624 + i32.const 3436 i32.const 1 call $~lib/builtins/abort unreachable @@ -51022,7 +47959,7 @@ if i32.const 0 i32.const 1056 - i32.const 3625 + i32.const 3437 i32.const 1 call $~lib/builtins/abort unreachable @@ -51044,7 +47981,7 @@ if i32.const 0 i32.const 1056 - i32.const 3626 + i32.const 3438 i32.const 1 call $~lib/builtins/abort unreachable @@ -51066,7 +48003,7 @@ if i32.const 0 i32.const 1056 - i32.const 3627 + i32.const 3439 i32.const 1 call $~lib/builtins/abort unreachable @@ -51088,7 +48025,7 @@ if i32.const 0 i32.const 1056 - i32.const 3628 + i32.const 3440 i32.const 1 call $~lib/builtins/abort unreachable @@ -51110,7 +48047,7 @@ if i32.const 0 i32.const 1056 - i32.const 3629 + i32.const 3441 i32.const 1 call $~lib/builtins/abort unreachable @@ -51132,7 +48069,7 @@ if i32.const 0 i32.const 1056 - i32.const 3630 + i32.const 3442 i32.const 1 call $~lib/builtins/abort unreachable @@ -51154,7 +48091,7 @@ if i32.const 0 i32.const 1056 - i32.const 3631 + i32.const 3443 i32.const 1 call $~lib/builtins/abort unreachable @@ -51176,7 +48113,7 @@ if i32.const 0 i32.const 1056 - i32.const 3632 + i32.const 3444 i32.const 1 call $~lib/builtins/abort unreachable @@ -51198,7 +48135,7 @@ if i32.const 0 i32.const 1056 - i32.const 3633 + i32.const 3445 i32.const 1 call $~lib/builtins/abort unreachable @@ -51220,7 +48157,7 @@ if i32.const 0 i32.const 1056 - i32.const 3634 + i32.const 3446 i32.const 1 call $~lib/builtins/abort unreachable @@ -51242,7 +48179,7 @@ if i32.const 0 i32.const 1056 - i32.const 3635 + i32.const 3447 i32.const 1 call $~lib/builtins/abort unreachable @@ -51264,7 +48201,7 @@ if i32.const 0 i32.const 1056 - i32.const 3636 + i32.const 3448 i32.const 1 call $~lib/builtins/abort unreachable @@ -51286,7 +48223,7 @@ if i32.const 0 i32.const 1056 - i32.const 3637 + i32.const 3449 i32.const 1 call $~lib/builtins/abort unreachable @@ -51308,7 +48245,7 @@ if i32.const 0 i32.const 1056 - i32.const 3638 + i32.const 3450 i32.const 1 call $~lib/builtins/abort unreachable @@ -51330,7 +48267,7 @@ if i32.const 0 i32.const 1056 - i32.const 3639 + i32.const 3451 i32.const 1 call $~lib/builtins/abort unreachable @@ -51352,7 +48289,7 @@ if i32.const 0 i32.const 1056 - i32.const 3640 + i32.const 3452 i32.const 1 call $~lib/builtins/abort unreachable @@ -51374,7 +48311,7 @@ if i32.const 0 i32.const 1056 - i32.const 3641 + i32.const 3453 i32.const 1 call $~lib/builtins/abort unreachable @@ -51396,7 +48333,7 @@ if i32.const 0 i32.const 1056 - i32.const 3642 + i32.const 3454 i32.const 1 call $~lib/builtins/abort unreachable @@ -51418,7 +48355,7 @@ if i32.const 0 i32.const 1056 - i32.const 3643 + i32.const 3455 i32.const 1 call $~lib/builtins/abort unreachable @@ -51440,7 +48377,7 @@ if i32.const 0 i32.const 1056 - i32.const 3644 + i32.const 3456 i32.const 1 call $~lib/builtins/abort unreachable @@ -51462,7 +48399,7 @@ if i32.const 0 i32.const 1056 - i32.const 3645 + i32.const 3457 i32.const 1 call $~lib/builtins/abort unreachable @@ -51484,7 +48421,7 @@ if i32.const 0 i32.const 1056 - i32.const 3646 + i32.const 3458 i32.const 1 call $~lib/builtins/abort unreachable @@ -51506,7 +48443,7 @@ if i32.const 0 i32.const 1056 - i32.const 3647 + i32.const 3459 i32.const 1 call $~lib/builtins/abort unreachable @@ -51528,7 +48465,7 @@ if i32.const 0 i32.const 1056 - i32.const 3648 + i32.const 3460 i32.const 1 call $~lib/builtins/abort unreachable @@ -51550,7 +48487,7 @@ if i32.const 0 i32.const 1056 - i32.const 3649 + i32.const 3461 i32.const 1 call $~lib/builtins/abort unreachable @@ -51572,7 +48509,7 @@ if i32.const 0 i32.const 1056 - i32.const 3650 + i32.const 3462 i32.const 1 call $~lib/builtins/abort unreachable @@ -51594,7 +48531,7 @@ if i32.const 0 i32.const 1056 - i32.const 3651 + i32.const 3463 i32.const 1 call $~lib/builtins/abort unreachable @@ -51616,7 +48553,7 @@ if i32.const 0 i32.const 1056 - i32.const 3652 + i32.const 3464 i32.const 1 call $~lib/builtins/abort unreachable @@ -51638,7 +48575,7 @@ if i32.const 0 i32.const 1056 - i32.const 3653 + i32.const 3465 i32.const 1 call $~lib/builtins/abort unreachable @@ -51660,7 +48597,7 @@ if i32.const 0 i32.const 1056 - i32.const 3654 + i32.const 3466 i32.const 1 call $~lib/builtins/abort unreachable @@ -51682,7 +48619,7 @@ if i32.const 0 i32.const 1056 - i32.const 3655 + i32.const 3467 i32.const 1 call $~lib/builtins/abort unreachable @@ -51704,7 +48641,7 @@ if i32.const 0 i32.const 1056 - i32.const 3656 + i32.const 3468 i32.const 1 call $~lib/builtins/abort unreachable @@ -51726,7 +48663,7 @@ if i32.const 0 i32.const 1056 - i32.const 3657 + i32.const 3469 i32.const 1 call $~lib/builtins/abort unreachable @@ -51748,7 +48685,7 @@ if i32.const 0 i32.const 1056 - i32.const 3658 + i32.const 3470 i32.const 1 call $~lib/builtins/abort unreachable @@ -51761,7 +48698,7 @@ if i32.const 0 i32.const 1056 - i32.const 3667 + i32.const 3479 i32.const 1 call $~lib/builtins/abort unreachable @@ -51774,7 +48711,7 @@ if i32.const 0 i32.const 1056 - i32.const 3668 + i32.const 3480 i32.const 1 call $~lib/builtins/abort unreachable @@ -51787,7 +48724,7 @@ if i32.const 0 i32.const 1056 - i32.const 3669 + i32.const 3481 i32.const 1 call $~lib/builtins/abort unreachable @@ -51800,7 +48737,7 @@ if i32.const 0 i32.const 1056 - i32.const 3670 + i32.const 3482 i32.const 1 call $~lib/builtins/abort unreachable @@ -51813,7 +48750,7 @@ if i32.const 0 i32.const 1056 - i32.const 3671 + i32.const 3483 i32.const 1 call $~lib/builtins/abort unreachable @@ -51826,7 +48763,7 @@ if i32.const 0 i32.const 1056 - i32.const 3672 + i32.const 3484 i32.const 1 call $~lib/builtins/abort unreachable @@ -51839,7 +48776,7 @@ if i32.const 0 i32.const 1056 - i32.const 3673 + i32.const 3485 i32.const 1 call $~lib/builtins/abort unreachable @@ -51852,7 +48789,7 @@ if i32.const 0 i32.const 1056 - i32.const 3674 + i32.const 3486 i32.const 1 call $~lib/builtins/abort unreachable @@ -51865,7 +48802,7 @@ if i32.const 0 i32.const 1056 - i32.const 3675 + i32.const 3487 i32.const 1 call $~lib/builtins/abort unreachable @@ -51878,7 +48815,7 @@ if i32.const 0 i32.const 1056 - i32.const 3676 + i32.const 3488 i32.const 1 call $~lib/builtins/abort unreachable @@ -51891,7 +48828,7 @@ if i32.const 0 i32.const 1056 - i32.const 3679 + i32.const 3491 i32.const 1 call $~lib/builtins/abort unreachable @@ -51904,7 +48841,7 @@ if i32.const 0 i32.const 1056 - i32.const 3680 + i32.const 3492 i32.const 1 call $~lib/builtins/abort unreachable @@ -51917,7 +48854,7 @@ if i32.const 0 i32.const 1056 - i32.const 3681 + i32.const 3493 i32.const 1 call $~lib/builtins/abort unreachable @@ -51930,7 +48867,7 @@ if i32.const 0 i32.const 1056 - i32.const 3682 + i32.const 3494 i32.const 1 call $~lib/builtins/abort unreachable @@ -51943,7 +48880,7 @@ if i32.const 0 i32.const 1056 - i32.const 3683 + i32.const 3495 i32.const 1 call $~lib/builtins/abort unreachable @@ -51956,7 +48893,7 @@ if i32.const 0 i32.const 1056 - i32.const 3684 + i32.const 3496 i32.const 1 call $~lib/builtins/abort unreachable @@ -51969,7 +48906,7 @@ if i32.const 0 i32.const 1056 - i32.const 3685 + i32.const 3497 i32.const 1 call $~lib/builtins/abort unreachable @@ -51982,7 +48919,7 @@ if i32.const 0 i32.const 1056 - i32.const 3686 + i32.const 3498 i32.const 1 call $~lib/builtins/abort unreachable @@ -51995,7 +48932,7 @@ if i32.const 0 i32.const 1056 - i32.const 3687 + i32.const 3499 i32.const 1 call $~lib/builtins/abort unreachable @@ -52008,7 +48945,7 @@ if i32.const 0 i32.const 1056 - i32.const 3688 + i32.const 3500 i32.const 1 call $~lib/builtins/abort unreachable @@ -52021,7 +48958,7 @@ if i32.const 0 i32.const 1056 - i32.const 3689 + i32.const 3501 i32.const 1 call $~lib/builtins/abort unreachable @@ -52034,7 +48971,7 @@ if i32.const 0 i32.const 1056 - i32.const 3690 + i32.const 3502 i32.const 1 call $~lib/builtins/abort unreachable @@ -52047,7 +48984,7 @@ if i32.const 0 i32.const 1056 - i32.const 3691 + i32.const 3503 i32.const 1 call $~lib/builtins/abort unreachable @@ -52060,7 +48997,7 @@ if i32.const 0 i32.const 1056 - i32.const 3692 + i32.const 3504 i32.const 1 call $~lib/builtins/abort unreachable @@ -52073,7 +49010,7 @@ if i32.const 0 i32.const 1056 - i32.const 3693 + i32.const 3505 i32.const 1 call $~lib/builtins/abort unreachable @@ -52086,7 +49023,7 @@ if i32.const 0 i32.const 1056 - i32.const 3694 + i32.const 3506 i32.const 1 call $~lib/builtins/abort unreachable @@ -52099,7 +49036,7 @@ if i32.const 0 i32.const 1056 - i32.const 3695 + i32.const 3507 i32.const 1 call $~lib/builtins/abort unreachable @@ -52112,7 +49049,7 @@ if i32.const 0 i32.const 1056 - i32.const 3696 + i32.const 3508 i32.const 1 call $~lib/builtins/abort unreachable @@ -52125,7 +49062,7 @@ if i32.const 0 i32.const 1056 - i32.const 3697 + i32.const 3509 i32.const 1 call $~lib/builtins/abort unreachable @@ -52138,7 +49075,7 @@ if i32.const 0 i32.const 1056 - i32.const 3698 + i32.const 3510 i32.const 1 call $~lib/builtins/abort unreachable @@ -52151,7 +49088,7 @@ if i32.const 0 i32.const 1056 - i32.const 3699 + i32.const 3511 i32.const 1 call $~lib/builtins/abort unreachable @@ -52164,13 +49101,13 @@ if i32.const 0 i32.const 1056 - i32.const 3700 + i32.const 3512 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.06684839057968 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 4.626603542401633 f64.const -0.2727603316307068 call $std/math/check @@ -52187,13 +49124,13 @@ if i32.const 0 i32.const 1056 - i32.const 3712 + i32.const 3524 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.345239849338305 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 2.600191705822202 f64.const 0.2651003301143646 call $std/math/check @@ -52210,13 +49147,13 @@ if i32.const 0 i32.const 1056 - i32.const 3713 + i32.const 3525 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.38143342755525 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1.7167408328741052 f64.const -0.24687519669532776 call $std/math/check @@ -52233,13 +49170,13 @@ if i32.const 0 i32.const 1056 - i32.const 3714 + i32.const 3526 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -6.531673581913484 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0.2537322523453725 f64.const -0.4679703712463379 call $std/math/check @@ -52256,13 +49193,13 @@ if i32.const 0 i32.const 1056 - i32.const 3715 + i32.const 3527 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.267056966972586 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0.15904195727191958 f64.const -0.06704077869653702 call $std/math/check @@ -52279,13 +49216,13 @@ if i32.const 0 i32.const 1056 - i32.const 3716 + i32.const 3528 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6619858980995045 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.7792919106910434 f64.const -0.038056135177612305 call $std/math/check @@ -52302,13 +49239,13 @@ if i32.const 0 i32.const 1056 - i32.const 3717 + i32.const 3529 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.4066039223853553 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0.43059952879543656 f64.const -0.09242714196443558 call $std/math/check @@ -52325,13 +49262,13 @@ if i32.const 0 i32.const 1056 - i32.const 3718 + i32.const 3530 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5617597462207241 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.62940368731874 f64.const -0.321913480758667 call $std/math/check @@ -52348,13 +49285,13 @@ if i32.const 0 i32.const 1056 - i32.const 3719 + i32.const 3531 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7741522965913037 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.9777574652949645 f64.const -0.1966651827096939 call $std/math/check @@ -52371,13 +49308,13 @@ if i32.const 0 i32.const 1056 - i32.const 3720 + i32.const 3532 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6787637026394024 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0.8066186630209123 f64.const -0.067665696144104 call $std/math/check @@ -52394,13 +49331,13 @@ if i32.const 0 i32.const 1056 - i32.const 3721 + i32.const 3533 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9.313225746154785e-10 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 9.313225746154785e-10 f64.const -1.3020833721384406e-03 call $std/math/check @@ -52417,13 +49354,13 @@ if i32.const 0 i32.const 1056 - i32.const 3724 + i32.const 3536 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -9.313225746154785e-10 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -9.313225746154785e-10 f64.const 1.3020833721384406e-03 call $std/math/check @@ -52440,13 +49377,13 @@ if i32.const 0 i32.const 1056 - i32.const 3725 + i32.const 3537 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072014e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 2.2250738585072014e-308 f64.const 0 call $std/math/check @@ -52463,13 +49400,13 @@ if i32.const 0 i32.const 1056 - i32.const 3726 + i32.const 3538 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072014e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -2.2250738585072014e-308 f64.const 0 call $std/math/check @@ -52486,13 +49423,13 @@ if i32.const 0 i32.const 1056 - i32.const 3727 + i32.const 3539 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 5e-324 f64.const 0 call $std/math/check @@ -52509,13 +49446,13 @@ if i32.const 0 i32.const 1056 - i32.const 3728 + i32.const 3540 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5e-324 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -5e-324 f64.const 0 call $std/math/check @@ -52532,13 +49469,13 @@ if i32.const 0 i32.const 1056 - i32.const 3729 + i32.const 3541 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0 f64.const 0 call $std/math/check @@ -52555,13 +49492,13 @@ if i32.const 0 i32.const 1056 - i32.const 3730 + i32.const 3542 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0 f64.const 0 call $std/math/check @@ -52578,13 +49515,13 @@ if i32.const 0 i32.const 1056 - i32.const 3731 + i32.const 3543 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.7853981633974483 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.9999999999999999 f64.const -0.4484681189060211 call $std/math/check @@ -52601,13 +49538,13 @@ if i32.const 0 i32.const 1056 - i32.const 3732 + i32.const 3544 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.7853981633974483 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0.9999999999999999 f64.const 0.4484681189060211 call $std/math/check @@ -52624,13 +49561,13 @@ if i32.const 0 i32.const 1056 - i32.const 3733 + i32.const 3545 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.225073858507202e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 2.225073858507202e-308 f64.const 0 call $std/math/check @@ -52647,13 +49584,13 @@ if i32.const 0 i32.const 1056 - i32.const 3734 + i32.const 3546 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072024e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 2.2250738585072024e-308 f64.const 0 call $std/math/check @@ -52670,13 +49607,13 @@ if i32.const 0 i32.const 1056 - i32.const 3735 + i32.const 3547 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.4501477170144003e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 4.4501477170144003e-308 f64.const 0 call $std/math/check @@ -52693,13 +49630,13 @@ if i32.const 0 i32.const 1056 - i32.const 3736 + i32.const 3548 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.450147717014403e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 4.450147717014403e-308 f64.const 0 call $std/math/check @@ -52716,13 +49653,13 @@ if i32.const 0 i32.const 1056 - i32.const 3737 + i32.const 3549 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.450147717014406e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 4.450147717014406e-308 f64.const 0 call $std/math/check @@ -52739,13 +49676,13 @@ if i32.const 0 i32.const 1056 - i32.const 3738 + i32.const 3550 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 8.900295434028806e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 8.900295434028806e-308 f64.const 0 call $std/math/check @@ -52762,13 +49699,13 @@ if i32.const 0 i32.const 1056 - i32.const 3739 + i32.const 3551 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1175870895385742e-08 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1.1175870895385742e-08 f64.const -0.28125 call $std/math/check @@ -52785,13 +49722,13 @@ if i32.const 0 i32.const 1056 - i32.const 3740 + i32.const 3552 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.4901161193847656e-08 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1.4901161193847656e-08 f64.const -0.3333333432674408 call $std/math/check @@ -52808,13 +49745,13 @@ if i32.const 0 i32.const 1056 - i32.const 3741 + i32.const 3553 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.225073858507202e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -2.225073858507202e-308 f64.const 0 call $std/math/check @@ -52831,13 +49768,13 @@ if i32.const 0 i32.const 1056 - i32.const 3742 + i32.const 3554 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072024e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -2.2250738585072024e-308 f64.const 0 call $std/math/check @@ -52854,13 +49791,13 @@ if i32.const 0 i32.const 1056 - i32.const 3743 + i32.const 3555 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.4501477170144003e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -4.4501477170144003e-308 f64.const 0 call $std/math/check @@ -52877,13 +49814,13 @@ if i32.const 0 i32.const 1056 - i32.const 3744 + i32.const 3556 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.450147717014403e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -4.450147717014403e-308 f64.const 0 call $std/math/check @@ -52900,13 +49837,13 @@ if i32.const 0 i32.const 1056 - i32.const 3745 + i32.const 3557 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.450147717014406e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -4.450147717014406e-308 f64.const 0 call $std/math/check @@ -52923,13 +49860,13 @@ if i32.const 0 i32.const 1056 - i32.const 3746 + i32.const 3558 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -8.900295434028806e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -8.900295434028806e-308 f64.const 0 call $std/math/check @@ -52946,13 +49883,13 @@ if i32.const 0 i32.const 1056 - i32.const 3747 + i32.const 3559 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.1175870895385742e-08 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -1.1175870895385742e-08 f64.const 0.28125 call $std/math/check @@ -52969,13 +49906,13 @@ if i32.const 0 i32.const 1056 - i32.const 3748 + i32.const 3560 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.4901161193847656e-08 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -1.4901161193847656e-08 f64.const 0.3333333432674408 call $std/math/check @@ -52992,13 +49929,13 @@ if i32.const 0 i32.const 1056 - i32.const 3749 + i32.const 3561 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-323 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1e-323 f64.const 0 call $std/math/check @@ -53015,13 +49952,13 @@ if i32.const 0 i32.const 1056 - i32.const 3750 + i32.const 3562 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.4e-323 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 4.4e-323 f64.const 0 call $std/math/check @@ -53038,13 +49975,13 @@ if i32.const 0 i32.const 1056 - i32.const 3751 + i32.const 3563 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5.562684646268003e-309 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 5.562684646268003e-309 f64.const 0 call $std/math/check @@ -53061,13 +49998,13 @@ if i32.const 0 i32.const 1056 - i32.const 3752 + i32.const 3564 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1125369292536007e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1.1125369292536007e-308 f64.const 0 call $std/math/check @@ -53084,13 +50021,13 @@ if i32.const 0 i32.const 1056 - i32.const 3753 + i32.const 3565 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072004e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 2.2250738585072004e-308 f64.const 0 call $std/math/check @@ -53107,13 +50044,13 @@ if i32.const 0 i32.const 1056 - i32.const 3754 + i32.const 3566 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.225073858507201e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 2.225073858507201e-308 f64.const 0 call $std/math/check @@ -53130,13 +50067,13 @@ if i32.const 0 i32.const 1056 - i32.const 3755 + i32.const 3567 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-323 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -1e-323 f64.const 0 call $std/math/check @@ -53153,13 +50090,13 @@ if i32.const 0 i32.const 1056 - i32.const 3756 + i32.const 3568 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -4.4e-323 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -4.4e-323 f64.const 0 call $std/math/check @@ -53176,13 +50113,13 @@ if i32.const 0 i32.const 1056 - i32.const 3757 + i32.const 3569 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -5.562684646268003e-309 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -5.562684646268003e-309 f64.const 0 call $std/math/check @@ -53199,13 +50136,13 @@ if i32.const 0 i32.const 1056 - i32.const 3758 + i32.const 3570 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.1125369292536007e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -1.1125369292536007e-308 f64.const 0 call $std/math/check @@ -53222,13 +50159,13 @@ if i32.const 0 i32.const 1056 - i32.const 3759 + i32.const 3571 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.2250738585072004e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -2.2250738585072004e-308 f64.const 0 call $std/math/check @@ -53245,13 +50182,13 @@ if i32.const 0 i32.const 1056 - i32.const 3760 + i32.const 3572 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.225073858507201e-308 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -2.225073858507201e-308 f64.const 0 call $std/math/check @@ -53268,221 +50205,221 @@ if i32.const 0 i32.const 1056 - i32.const 3761 + i32.const 3573 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.3283064365386963e-10 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 2.3283064365386963e-10 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3764 + i32.const 3576 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2.3283064365386963e-10 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -2.3283064365386963e-10 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3765 + i32.const 3577 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6875 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.6875 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3766 + i32.const 3578 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.6875 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0.6875 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3767 + i32.const 3579 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.39269908169872414 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.39269908169872414 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3768 + i32.const 3580 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.6743358 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.6743358 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3769 + i32.const 3581 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 3.725290298461914e-09 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 3.725290298461914e-09 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3770 + i32.const 3582 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.5707963267948966 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1.5707963267948966 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3771 + i32.const 3583 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.5 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0.5 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3773 + i32.const 3585 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.107148717794091 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1.107148717794091 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3774 + i32.const 3586 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5.497787143782138 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 5.497787143782138 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3775 + i32.const 3587 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 7.0685834705770345 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 7.0685834705770345 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3776 + i32.const 3588 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1647099.3291652855 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1647099.3291652855 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3777 + i32.const 3589 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1647097.7583689587 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1647097.7583689587 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3778 + i32.const 3590 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1329227995784915872903807e12 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 1329227995784915872903807e12 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3779 + i32.const 3591 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1329227995784915872903807e12 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -1329227995784915872903807e12 call $~lib/bindings/dom/Math.tan f64.ne if i32.const 0 i32.const 1056 - i32.const 3780 + i32.const 3592 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const 0 f64.const 0 call $std/math/check @@ -53499,13 +50436,13 @@ if i32.const 0 i32.const 1056 - i32.const 3783 + i32.const 3595 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const -0 f64.const 0 call $std/math/check @@ -53522,13 +50459,13 @@ if i32.const 0 i32.const 1056 - i32.const 3784 + i32.const 3596 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -53545,13 +50482,13 @@ if i32.const 0 i32.const 1056 - i32.const 3785 + i32.const 3597 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -53568,13 +50505,13 @@ if i32.const 0 i32.const 1056 - i32.const 3786 + i32.const 3598 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 - call $~lib/math/NativeMath.tan + call $~lib/util/math/tan64 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -53591,13 +50528,13 @@ if i32.const 0 i32.const 1056 - i32.const 3787 + i32.const 3599 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.066848754882812 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 4.626595497131348 f32.const 0.2455666959285736 call $std/math/check @@ -53605,13 +50542,13 @@ if i32.const 0 i32.const 1056 - i32.const 3796 + i32.const 3608 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.345239639282227 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 2.6001901626586914 f32.const 0.3652407228946686 call $std/math/check @@ -53619,13 +50556,13 @@ if i32.const 0 i32.const 1056 - i32.const 3797 + i32.const 3609 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -8.381433486938477 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.716740608215332 f32.const 0.08169349282979965 call $std/math/check @@ -53633,13 +50570,13 @@ if i32.const 0 i32.const 1056 - i32.const 3798 + i32.const 3610 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -6.531673431396484 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -0.2537320852279663 f32.const 0.23186513781547546 call $std/math/check @@ -53647,13 +50584,13 @@ if i32.const 0 i32.const 1056 - i32.const 3799 + i32.const 3611 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 9.267057418823242 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -0.15904149413108826 f32.const -0.009332014247775078 call $std/math/check @@ -53661,13 +50598,13 @@ if i32.const 0 i32.const 1056 - i32.const 3800 + i32.const 3612 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.6619858741760254 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 0.7792918682098389 f32.const -0.06759700924158096 call $std/math/check @@ -53675,13 +50612,13 @@ if i32.const 0 i32.const 1056 - i32.const 3801 + i32.const 3613 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.40660393238067627 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -0.43059954047203064 f32.const 0.005771996453404427 call $std/math/check @@ -53689,13 +50626,13 @@ if i32.const 0 i32.const 1056 - i32.const 3802 + i32.const 3614 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.5617597699165344 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 0.6294037103652954 f32.const -0.16838163137435913 call $std/math/check @@ -53703,13 +50640,13 @@ if i32.const 0 i32.const 1056 - i32.const 3803 + i32.const 3615 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.7741522789001465 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 0.977757453918457 f32.const 0.38969388604164124 call $std/math/check @@ -53717,13 +50654,13 @@ if i32.const 0 i32.const 1056 - i32.const 3804 + i32.const 3616 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.6787636876106262 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -0.8066186308860779 f32.const 0.12294059991836548 call $std/math/check @@ -53731,13 +50668,13 @@ if i32.const 0 i32.const 1056 - i32.const 3805 + i32.const 3617 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 0 f32.const 0 call $std/math/check @@ -53745,13 +50682,13 @@ if i32.const 0 i32.const 1056 - i32.const 3808 + i32.const 3620 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -0 f32.const 0 call $std/math/check @@ -53759,13 +50696,13 @@ if i32.const 0 i32.const 1056 - i32.const 3809 + i32.const 3621 i32.const 1 call $~lib/builtins/abort unreachable end f32.const inf - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -53773,13 +50710,13 @@ if i32.const 0 i32.const 1056 - i32.const 3810 + i32.const 3622 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -inf - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -53787,13 +50724,13 @@ if i32.const 0 i32.const 1056 - i32.const 3811 + i32.const 3623 i32.const 1 call $~lib/builtins/abort unreachable end f32.const nan:0x400000 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -53801,13 +50738,13 @@ if i32.const 0 i32.const 1056 - i32.const 3812 + i32.const 3624 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.862645149230957e-09 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.862645149230957e-09 f32.const -9.701277108031814e-12 call $std/math/check @@ -53815,13 +50752,13 @@ if i32.const 0 i32.const 1056 - i32.const 3815 + i32.const 3627 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.862645149230957e-09 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.862645149230957e-09 f32.const 9.701277108031814e-12 call $std/math/check @@ -53829,13 +50766,13 @@ if i32.const 0 i32.const 1056 - i32.const 3816 + i32.const 3628 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754943508222875e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.1754943508222875e-38 f32.const 0 call $std/math/check @@ -53843,13 +50780,13 @@ if i32.const 0 i32.const 1056 - i32.const 3817 + i32.const 3629 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754943508222875e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.1754943508222875e-38 f32.const 0 call $std/math/check @@ -53857,13 +50794,13 @@ if i32.const 0 i32.const 1056 - i32.const 3818 + i32.const 3630 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.401298464324817e-45 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.401298464324817e-45 f32.const 0 call $std/math/check @@ -53871,13 +50808,13 @@ if i32.const 0 i32.const 1056 - i32.const 3819 + i32.const 3631 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.401298464324817e-45 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.401298464324817e-45 f32.const 0 call $std/math/check @@ -53885,13 +50822,13 @@ if i32.const 0 i32.const 1056 - i32.const 3820 + i32.const 3632 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.175494490952134e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.175494490952134e-38 f32.const 0 call $std/math/check @@ -53899,13 +50836,13 @@ if i32.const 0 i32.const 1056 - i32.const 3821 + i32.const 3633 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754946310819804e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.1754946310819804e-38 f32.const 0 call $std/math/check @@ -53913,13 +50850,13 @@ if i32.const 0 i32.const 1056 - i32.const 3822 + i32.const 3634 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.3509880009953429e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 2.3509880009953429e-38 f32.const 0 call $std/math/check @@ -53927,13 +50864,13 @@ if i32.const 0 i32.const 1056 - i32.const 3823 + i32.const 3635 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 2.350988701644575e-38 f32.const 0 call $std/math/check @@ -53941,13 +50878,13 @@ if i32.const 0 i32.const 1056 - i32.const 3824 + i32.const 3636 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.3509895424236536e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 2.3509895424236536e-38 f32.const 0 call $std/math/check @@ -53955,13 +50892,13 @@ if i32.const 0 i32.const 1056 - i32.const 3825 + i32.const 3637 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 4.70197740328915e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 4.70197740328915e-38 f32.const 0 call $std/math/check @@ -53969,13 +50906,13 @@ if i32.const 0 i32.const 1056 - i32.const 3826 + i32.const 3638 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1175870895385742e-08 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.1175870895385742e-08 f32.const -5.238689482212067e-10 call $std/math/check @@ -53983,13 +50920,13 @@ if i32.const 0 i32.const 1056 - i32.const 3827 + i32.const 3639 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.4901161193847656e-08 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.4901161193847656e-08 f32.const -6.208817349140361e-10 call $std/math/check @@ -53997,13 +50934,13 @@ if i32.const 0 i32.const 1056 - i32.const 3828 + i32.const 3640 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 0.000244140625 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 0.000244140625 f32.const -0.1666666716337204 call $std/math/check @@ -54011,13 +50948,13 @@ if i32.const 0 i32.const 1056 - i32.const 3829 + i32.const 3641 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.175494490952134e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.175494490952134e-38 f32.const 0 call $std/math/check @@ -54025,13 +50962,13 @@ if i32.const 0 i32.const 1056 - i32.const 3830 + i32.const 3642 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754946310819804e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.1754946310819804e-38 f32.const 0 call $std/math/check @@ -54039,13 +50976,13 @@ if i32.const 0 i32.const 1056 - i32.const 3831 + i32.const 3643 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.3509880009953429e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -2.3509880009953429e-38 f32.const 0 call $std/math/check @@ -54053,13 +50990,13 @@ if i32.const 0 i32.const 1056 - i32.const 3832 + i32.const 3644 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.350988701644575e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 2.350988701644575e-38 f32.const 0 call $std/math/check @@ -54067,13 +51004,13 @@ if i32.const 0 i32.const 1056 - i32.const 3833 + i32.const 3645 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.3509895424236536e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -2.3509895424236536e-38 f32.const 0 call $std/math/check @@ -54081,13 +51018,13 @@ if i32.const 0 i32.const 1056 - i32.const 3834 + i32.const 3646 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -4.70197740328915e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -4.70197740328915e-38 f32.const 0 call $std/math/check @@ -54095,13 +51032,13 @@ if i32.const 0 i32.const 1056 - i32.const 3835 + i32.const 3647 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1175870895385742e-08 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.1175870895385742e-08 f32.const 5.238689482212067e-10 call $std/math/check @@ -54109,13 +51046,13 @@ if i32.const 0 i32.const 1056 - i32.const 3836 + i32.const 3648 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.4901161193847656e-08 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.4901161193847656e-08 f32.const 6.208817349140361e-10 call $std/math/check @@ -54123,13 +51060,13 @@ if i32.const 0 i32.const 1056 - i32.const 3837 + i32.const 3649 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -0.000244140625 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -0.000244140625 f32.const 0.1666666716337204 call $std/math/check @@ -54137,13 +51074,13 @@ if i32.const 0 i32.const 1056 - i32.const 3838 + i32.const 3650 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.802596928649634e-45 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 2.802596928649634e-45 f32.const 0 call $std/math/check @@ -54151,13 +51088,13 @@ if i32.const 0 i32.const 1056 - i32.const 3839 + i32.const 3651 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.2611686178923354e-44 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.2611686178923354e-44 f32.const 0 call $std/math/check @@ -54165,13 +51102,13 @@ if i32.const 0 i32.const 1056 - i32.const 3840 + i32.const 3652 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 2.938735877055719e-39 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 2.938735877055719e-39 f32.const 0 call $std/math/check @@ -54179,13 +51116,13 @@ if i32.const 0 i32.const 1056 - i32.const 3841 + i32.const 3653 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 5.877471754111438e-39 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 5.877471754111438e-39 f32.const 0 call $std/math/check @@ -54193,13 +51130,13 @@ if i32.const 0 i32.const 1056 - i32.const 3842 + i32.const 3654 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754940705625946e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.1754940705625946e-38 f32.const 0 call $std/math/check @@ -54207,13 +51144,13 @@ if i32.const 0 i32.const 1056 - i32.const 3843 + i32.const 3655 i32.const 1 call $~lib/builtins/abort unreachable end f32.const 1.1754942106924411e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const 1.1754942106924411e-38 f32.const 0 call $std/math/check @@ -54221,13 +51158,13 @@ if i32.const 0 i32.const 1056 - i32.const 3844 + i32.const 3656 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.802596928649634e-45 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -2.802596928649634e-45 f32.const 0 call $std/math/check @@ -54235,13 +51172,13 @@ if i32.const 0 i32.const 1056 - i32.const 3845 + i32.const 3657 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.2611686178923354e-44 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.2611686178923354e-44 f32.const 0 call $std/math/check @@ -54249,13 +51186,13 @@ if i32.const 0 i32.const 1056 - i32.const 3846 + i32.const 3658 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -2.938735877055719e-39 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -2.938735877055719e-39 f32.const 0 call $std/math/check @@ -54263,13 +51200,13 @@ if i32.const 0 i32.const 1056 - i32.const 3847 + i32.const 3659 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -5.877471754111438e-39 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -5.877471754111438e-39 f32.const 0 call $std/math/check @@ -54277,13 +51214,13 @@ if i32.const 0 i32.const 1056 - i32.const 3848 + i32.const 3660 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754940705625946e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.1754940705625946e-38 f32.const 0 call $std/math/check @@ -54291,13 +51228,13 @@ if i32.const 0 i32.const 1056 - i32.const 3849 + i32.const 3661 i32.const 1 call $~lib/builtins/abort unreachable end f32.const -1.1754942106924411e-38 - call $~lib/math/NativeMathf.tan + call $~lib/util/math/tan32 f32.const -1.1754942106924411e-38 f32.const 0 call $std/math/check @@ -54305,7 +51242,7 @@ if i32.const 0 i32.const 1056 - i32.const 3850 + i32.const 3662 i32.const 1 call $~lib/builtins/abort unreachable @@ -54318,7 +51255,7 @@ if i32.const 0 i32.const 1056 - i32.const 3862 + i32.const 3674 i32.const 1 call $~lib/builtins/abort unreachable @@ -54331,7 +51268,7 @@ if i32.const 0 i32.const 1056 - i32.const 3863 + i32.const 3675 i32.const 1 call $~lib/builtins/abort unreachable @@ -54344,7 +51281,7 @@ if i32.const 0 i32.const 1056 - i32.const 3864 + i32.const 3676 i32.const 1 call $~lib/builtins/abort unreachable @@ -54357,7 +51294,7 @@ if i32.const 0 i32.const 1056 - i32.const 3865 + i32.const 3677 i32.const 1 call $~lib/builtins/abort unreachable @@ -54370,7 +51307,7 @@ if i32.const 0 i32.const 1056 - i32.const 3866 + i32.const 3678 i32.const 1 call $~lib/builtins/abort unreachable @@ -54383,7 +51320,7 @@ if i32.const 0 i32.const 1056 - i32.const 3867 + i32.const 3679 i32.const 1 call $~lib/builtins/abort unreachable @@ -54396,7 +51333,7 @@ if i32.const 0 i32.const 1056 - i32.const 3868 + i32.const 3680 i32.const 1 call $~lib/builtins/abort unreachable @@ -54409,7 +51346,7 @@ if i32.const 0 i32.const 1056 - i32.const 3869 + i32.const 3681 i32.const 1 call $~lib/builtins/abort unreachable @@ -54422,7 +51359,7 @@ if i32.const 0 i32.const 1056 - i32.const 3870 + i32.const 3682 i32.const 1 call $~lib/builtins/abort unreachable @@ -54435,7 +51372,7 @@ if i32.const 0 i32.const 1056 - i32.const 3871 + i32.const 3683 i32.const 1 call $~lib/builtins/abort unreachable @@ -54448,7 +51385,7 @@ if i32.const 0 i32.const 1056 - i32.const 3874 + i32.const 3686 i32.const 1 call $~lib/builtins/abort unreachable @@ -54461,7 +51398,7 @@ if i32.const 0 i32.const 1056 - i32.const 3875 + i32.const 3687 i32.const 1 call $~lib/builtins/abort unreachable @@ -54474,7 +51411,7 @@ if i32.const 0 i32.const 1056 - i32.const 3876 + i32.const 3688 i32.const 1 call $~lib/builtins/abort unreachable @@ -54487,7 +51424,7 @@ if i32.const 0 i32.const 1056 - i32.const 3877 + i32.const 3689 i32.const 1 call $~lib/builtins/abort unreachable @@ -54500,7 +51437,7 @@ if i32.const 0 i32.const 1056 - i32.const 3878 + i32.const 3690 i32.const 1 call $~lib/builtins/abort unreachable @@ -54513,7 +51450,7 @@ if i32.const 0 i32.const 1056 - i32.const 3887 + i32.const 3699 i32.const 1 call $~lib/builtins/abort unreachable @@ -54526,7 +51463,7 @@ if i32.const 0 i32.const 1056 - i32.const 3888 + i32.const 3700 i32.const 1 call $~lib/builtins/abort unreachable @@ -54539,7 +51476,7 @@ if i32.const 0 i32.const 1056 - i32.const 3889 + i32.const 3701 i32.const 1 call $~lib/builtins/abort unreachable @@ -54552,7 +51489,7 @@ if i32.const 0 i32.const 1056 - i32.const 3890 + i32.const 3702 i32.const 1 call $~lib/builtins/abort unreachable @@ -54565,7 +51502,7 @@ if i32.const 0 i32.const 1056 - i32.const 3891 + i32.const 3703 i32.const 1 call $~lib/builtins/abort unreachable @@ -54578,7 +51515,7 @@ if i32.const 0 i32.const 1056 - i32.const 3892 + i32.const 3704 i32.const 1 call $~lib/builtins/abort unreachable @@ -54591,7 +51528,7 @@ if i32.const 0 i32.const 1056 - i32.const 3893 + i32.const 3705 i32.const 1 call $~lib/builtins/abort unreachable @@ -54604,7 +51541,7 @@ if i32.const 0 i32.const 1056 - i32.const 3894 + i32.const 3706 i32.const 1 call $~lib/builtins/abort unreachable @@ -54617,7 +51554,7 @@ if i32.const 0 i32.const 1056 - i32.const 3895 + i32.const 3707 i32.const 1 call $~lib/builtins/abort unreachable @@ -54630,7 +51567,7 @@ if i32.const 0 i32.const 1056 - i32.const 3896 + i32.const 3708 i32.const 1 call $~lib/builtins/abort unreachable @@ -54643,7 +51580,7 @@ if i32.const 0 i32.const 1056 - i32.const 3899 + i32.const 3711 i32.const 1 call $~lib/builtins/abort unreachable @@ -54656,7 +51593,7 @@ if i32.const 0 i32.const 1056 - i32.const 3900 + i32.const 3712 i32.const 1 call $~lib/builtins/abort unreachable @@ -54669,7 +51606,7 @@ if i32.const 0 i32.const 1056 - i32.const 3901 + i32.const 3713 i32.const 1 call $~lib/builtins/abort unreachable @@ -54682,7 +51619,7 @@ if i32.const 0 i32.const 1056 - i32.const 3902 + i32.const 3714 i32.const 1 call $~lib/builtins/abort unreachable @@ -54695,7 +51632,7 @@ if i32.const 0 i32.const 1056 - i32.const 3903 + i32.const 3715 i32.const 1 call $~lib/builtins/abort unreachable @@ -54717,7 +51654,7 @@ if i32.const 0 i32.const 1056 - i32.const 3915 + i32.const 3727 i32.const 1 call $~lib/builtins/abort unreachable @@ -54739,7 +51676,7 @@ if i32.const 0 i32.const 1056 - i32.const 3916 + i32.const 3728 i32.const 1 call $~lib/builtins/abort unreachable @@ -54761,7 +51698,7 @@ if i32.const 0 i32.const 1056 - i32.const 3917 + i32.const 3729 i32.const 1 call $~lib/builtins/abort unreachable @@ -54783,7 +51720,7 @@ if i32.const 0 i32.const 1056 - i32.const 3918 + i32.const 3730 i32.const 1 call $~lib/builtins/abort unreachable @@ -54805,7 +51742,7 @@ if i32.const 0 i32.const 1056 - i32.const 3919 + i32.const 3731 i32.const 1 call $~lib/builtins/abort unreachable @@ -54827,7 +51764,7 @@ if i32.const 0 i32.const 1056 - i32.const 3920 + i32.const 3732 i32.const 1 call $~lib/builtins/abort unreachable @@ -54849,7 +51786,7 @@ if i32.const 0 i32.const 1056 - i32.const 3921 + i32.const 3733 i32.const 1 call $~lib/builtins/abort unreachable @@ -54871,7 +51808,7 @@ if i32.const 0 i32.const 1056 - i32.const 3922 + i32.const 3734 i32.const 1 call $~lib/builtins/abort unreachable @@ -54893,7 +51830,7 @@ if i32.const 0 i32.const 1056 - i32.const 3923 + i32.const 3735 i32.const 1 call $~lib/builtins/abort unreachable @@ -54915,7 +51852,7 @@ if i32.const 0 i32.const 1056 - i32.const 3924 + i32.const 3736 i32.const 1 call $~lib/builtins/abort unreachable @@ -54937,7 +51874,7 @@ if i32.const 0 i32.const 1056 - i32.const 3927 + i32.const 3739 i32.const 1 call $~lib/builtins/abort unreachable @@ -54959,7 +51896,7 @@ if i32.const 0 i32.const 1056 - i32.const 3928 + i32.const 3740 i32.const 1 call $~lib/builtins/abort unreachable @@ -54981,7 +51918,7 @@ if i32.const 0 i32.const 1056 - i32.const 3929 + i32.const 3741 i32.const 1 call $~lib/builtins/abort unreachable @@ -55003,7 +51940,7 @@ if i32.const 0 i32.const 1056 - i32.const 3930 + i32.const 3742 i32.const 1 call $~lib/builtins/abort unreachable @@ -55025,7 +51962,7 @@ if i32.const 0 i32.const 1056 - i32.const 3931 + i32.const 3743 i32.const 1 call $~lib/builtins/abort unreachable @@ -55047,7 +51984,7 @@ if i32.const 0 i32.const 1056 - i32.const 3932 + i32.const 3744 i32.const 1 call $~lib/builtins/abort unreachable @@ -55069,7 +52006,7 @@ if i32.const 0 i32.const 1056 - i32.const 3933 + i32.const 3745 i32.const 1 call $~lib/builtins/abort unreachable @@ -55091,7 +52028,7 @@ if i32.const 0 i32.const 1056 - i32.const 3934 + i32.const 3746 i32.const 1 call $~lib/builtins/abort unreachable @@ -55113,7 +52050,7 @@ if i32.const 0 i32.const 1056 - i32.const 3935 + i32.const 3747 i32.const 1 call $~lib/builtins/abort unreachable @@ -55135,7 +52072,7 @@ if i32.const 0 i32.const 1056 - i32.const 3936 + i32.const 3748 i32.const 1 call $~lib/builtins/abort unreachable @@ -55157,7 +52094,7 @@ if i32.const 0 i32.const 1056 - i32.const 3937 + i32.const 3749 i32.const 1 call $~lib/builtins/abort unreachable @@ -55179,7 +52116,7 @@ if i32.const 0 i32.const 1056 - i32.const 3938 + i32.const 3750 i32.const 1 call $~lib/builtins/abort unreachable @@ -55201,7 +52138,7 @@ if i32.const 0 i32.const 1056 - i32.const 3939 + i32.const 3751 i32.const 1 call $~lib/builtins/abort unreachable @@ -55223,7 +52160,7 @@ if i32.const 0 i32.const 1056 - i32.const 3940 + i32.const 3752 i32.const 1 call $~lib/builtins/abort unreachable @@ -55245,7 +52182,7 @@ if i32.const 0 i32.const 1056 - i32.const 3941 + i32.const 3753 i32.const 1 call $~lib/builtins/abort unreachable @@ -55258,7 +52195,7 @@ if i32.const 0 i32.const 1056 - i32.const 3950 + i32.const 3762 i32.const 1 call $~lib/builtins/abort unreachable @@ -55271,7 +52208,7 @@ if i32.const 0 i32.const 1056 - i32.const 3951 + i32.const 3763 i32.const 1 call $~lib/builtins/abort unreachable @@ -55284,7 +52221,7 @@ if i32.const 0 i32.const 1056 - i32.const 3952 + i32.const 3764 i32.const 1 call $~lib/builtins/abort unreachable @@ -55297,7 +52234,7 @@ if i32.const 0 i32.const 1056 - i32.const 3953 + i32.const 3765 i32.const 1 call $~lib/builtins/abort unreachable @@ -55310,7 +52247,7 @@ if i32.const 0 i32.const 1056 - i32.const 3954 + i32.const 3766 i32.const 1 call $~lib/builtins/abort unreachable @@ -55323,7 +52260,7 @@ if i32.const 0 i32.const 1056 - i32.const 3955 + i32.const 3767 i32.const 1 call $~lib/builtins/abort unreachable @@ -55336,7 +52273,7 @@ if i32.const 0 i32.const 1056 - i32.const 3956 + i32.const 3768 i32.const 1 call $~lib/builtins/abort unreachable @@ -55349,7 +52286,7 @@ if i32.const 0 i32.const 1056 - i32.const 3957 + i32.const 3769 i32.const 1 call $~lib/builtins/abort unreachable @@ -55362,7 +52299,7 @@ if i32.const 0 i32.const 1056 - i32.const 3958 + i32.const 3770 i32.const 1 call $~lib/builtins/abort unreachable @@ -55375,7 +52312,7 @@ if i32.const 0 i32.const 1056 - i32.const 3959 + i32.const 3771 i32.const 1 call $~lib/builtins/abort unreachable @@ -55388,7 +52325,7 @@ if i32.const 0 i32.const 1056 - i32.const 3962 + i32.const 3774 i32.const 1 call $~lib/builtins/abort unreachable @@ -55401,7 +52338,7 @@ if i32.const 0 i32.const 1056 - i32.const 3963 + i32.const 3775 i32.const 1 call $~lib/builtins/abort unreachable @@ -55414,7 +52351,7 @@ if i32.const 0 i32.const 1056 - i32.const 3964 + i32.const 3776 i32.const 1 call $~lib/builtins/abort unreachable @@ -55427,7 +52364,7 @@ if i32.const 0 i32.const 1056 - i32.const 3965 + i32.const 3777 i32.const 1 call $~lib/builtins/abort unreachable @@ -55440,7 +52377,7 @@ if i32.const 0 i32.const 1056 - i32.const 3966 + i32.const 3778 i32.const 1 call $~lib/builtins/abort unreachable @@ -55453,7 +52390,7 @@ if i32.const 0 i32.const 1056 - i32.const 3967 + i32.const 3779 i32.const 1 call $~lib/builtins/abort unreachable @@ -55466,7 +52403,7 @@ if i32.const 0 i32.const 1056 - i32.const 3968 + i32.const 3780 i32.const 1 call $~lib/builtins/abort unreachable @@ -55479,7 +52416,7 @@ if i32.const 0 i32.const 1056 - i32.const 3969 + i32.const 3781 i32.const 1 call $~lib/builtins/abort unreachable @@ -55492,7 +52429,7 @@ if i32.const 0 i32.const 1056 - i32.const 3970 + i32.const 3782 i32.const 1 call $~lib/builtins/abort unreachable @@ -55505,7 +52442,7 @@ if i32.const 0 i32.const 1056 - i32.const 3971 + i32.const 3783 i32.const 1 call $~lib/builtins/abort unreachable @@ -55518,7 +52455,7 @@ if i32.const 0 i32.const 1056 - i32.const 3972 + i32.const 3784 i32.const 1 call $~lib/builtins/abort unreachable @@ -55531,7 +52468,7 @@ if i32.const 0 i32.const 1056 - i32.const 3973 + i32.const 3785 i32.const 1 call $~lib/builtins/abort unreachable @@ -55544,7 +52481,7 @@ if i32.const 0 i32.const 1056 - i32.const 3974 + i32.const 3786 i32.const 1 call $~lib/builtins/abort unreachable @@ -55557,7 +52494,7 @@ if i32.const 0 i32.const 1056 - i32.const 3975 + i32.const 3787 i32.const 1 call $~lib/builtins/abort unreachable @@ -55570,7 +52507,7 @@ if i32.const 0 i32.const 1056 - i32.const 3976 + i32.const 3788 i32.const 1 call $~lib/builtins/abort unreachable @@ -55637,572 +52574,572 @@ call $std/math/test_sincos f64.const 2 f64.const 4 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 8 f64.ne if i32.const 0 i32.const 1056 - i32.const 4017 + i32.const 3829 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 f64.const 8 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -8 f64.ne if i32.const 0 i32.const 1056 - i32.const 4018 + i32.const 3830 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -2 f64.const -2 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 4 f64.ne if i32.const 0 i32.const 1056 - i32.const 4019 + i32.const 3831 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967295 f64.const 5 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -5 f64.ne if i32.const 0 i32.const 1056 - i32.const 4020 + i32.const 3832 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4294967294 f64.const 5 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -10 f64.ne if i32.const 0 i32.const 1056 - i32.const 4021 + i32.const 3833 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+60 f64.const 1.e+60 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 4022 + i32.const 3834 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+60 f64.const -1.e+60 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 4023 + i32.const 3835 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.e+60 f64.const -1.e+60 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 4024 + i32.const 3836 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+24 f64.const 100 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const -2147483648 f64.ne if i32.const 0 i32.const 1056 - i32.const 4025 + i32.const 3837 i32.const 1 call $~lib/builtins/abort unreachable end f64.const nan:0x8000000000000 f64.const 1 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 4026 + i32.const 3838 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const inf - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 4027 + i32.const 3839 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1797693134862315708145274e284 f64.const 1797693134862315708145274e284 - call $~lib/math/NativeMath.imul + call $~lib/math/NativeMath.imul f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 4028 + i32.const 3840 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4051 + i32.const 3863 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.eqz i32.eqz if i32.const 0 i32.const 1056 - i32.const 4052 + i32.const 3864 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.eqz i32.eqz if i32.const 0 i32.const 1056 - i32.const 4053 + i32.const 3865 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 0 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.eqz i32.eqz if i32.const 0 i32.const 1056 - i32.const 4054 + i32.const 3866 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4056 + i32.const 3868 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4057 + i32.const 3869 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4058 + i32.const 3870 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4059 + i32.const 3871 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4061 + i32.const 3873 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 2 i64.ne if i32.const 0 i32.const 1056 - i32.const 4062 + i32.const 3874 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 4 i64.ne if i32.const 0 i32.const 1056 - i32.const 4063 + i32.const 3875 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 8 i64.ne if i32.const 0 i32.const 1056 - i32.const 4064 + i32.const 3876 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4066 + i32.const 3878 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4067 + i32.const 3879 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4068 + i32.const 3880 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4069 + i32.const 3881 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 0 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4071 + i32.const 3883 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -2 i64.ne if i32.const 0 i32.const 1056 - i32.const 4072 + i32.const 3884 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 2 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 4 i64.ne if i32.const 0 i32.const 1056 - i32.const 4073 + i32.const 3885 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -2 i64.const 3 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -8 i64.ne if i32.const 0 i32.const 1056 - i32.const 4074 + i32.const 3886 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 63 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -9223372036854775808 i64.ne if i32.const 0 i32.const 1056 - i32.const 4076 + i32.const 3888 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 3 i64.const 40 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -6289078614652622815 i64.ne if i32.const 0 i32.const 1056 - i32.const 4077 + i32.const 3889 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 64 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.eqz i32.eqz if i32.const 0 i32.const 1056 - i32.const 4078 + i32.const 3890 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 3 i64.const 41 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -420491770248316829 i64.ne if i32.const 0 i32.const 1056 - i32.const 4079 + i32.const 3891 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 3 i64.const 128 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const -9204772141784466943 i64.ne if i32.const 0 i32.const 1056 - i32.const 4080 + i32.const 3892 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 1 i64.const -1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.const 1 i64.ne if i32.const 0 i32.const 1056 - i32.const 4082 + i32.const 3894 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const -1 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.eqz i32.eqz if i32.const 0 i32.const 1056 - i32.const 4083 + i32.const 3895 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 64 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.eqz i32.eqz if i32.const 0 i32.const 1056 - i32.const 4084 + i32.const 3896 i32.const 1 call $~lib/builtins/abort unreachable end i64.const 2 i64.const 128 - call $~lib/math/ipow64 + call $~lib/util/math/ipow64 i64.eqz i32.eqz if i32.const 0 i32.const 1056 - i32.const 4085 + i32.const 3897 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 1 f64.ne if i32.const 0 i32.const 1056 - i32.const 4129 + i32.const 3941 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const 0.5 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const 0 f64.ne if i32.const 0 i32.const 1056 - i32.const 4130 + i32.const 3942 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 f64.const -1 - call $~lib/math/NativeMath.pow + call $~lib/util/math/pow64 f64.const inf f64.ne if i32.const 0 i32.const 1056 - i32.const 4131 + i32.const 3943 i32.const 1 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/math.ts b/tests/compiler/std/math.ts index 80880dd99b..9191985e0a 100644 --- a/tests/compiler/std/math.ts +++ b/tests/compiler/std/math.ts @@ -30,6 +30,14 @@ and src/math/crlibm/* for details */ +import { + mod32, + mod64, + scalbn32, + scalbn64, + ipow64 +} from "util/math"; + const js = true; // also test, and thus compare to, JS math? // these flags are unused, but kept in case these might just so happen to become useful @@ -42,59 +50,56 @@ const OVERFLOW = 1 << 4; const kPI = reinterpret(0x400921FB54442D18); const kTwo120 = 1.329227995784916e+36; -function eulp(x: f64): i32 { +function eulp32(x: f32): i32 { + var u = reinterpret(x); + var e = (u >> 23 & 0xff); + if (!e) e++; + return e - 0x7f - 23; +} + +function eulp64(x: f64): i32 { var u = reinterpret(x); var e = (u >> 52 & 0x7ff); if (!e) e++; return e - 0x3ff - 52; } -function ulperr(got: f64, want: f64, dwant: f64): f64 { - const Ox1p1023 = reinterpret(0x7FE0000000000000); - if (isNaN(got) && isNaN(want)) return 0; +function ulperr32(got: f32, want: f32, dwant: f32): f32 { + const Ox1p127f = reinterpret(0x7F000000); + if (isNaN(got) && isNaN(want)) return 0; if (got == want) { - if (NativeMath.signbit(got) == NativeMath.signbit(want)) return dwant; + if (NativeMath.signbit(got) == NativeMath.signbit(want)) return dwant; return Infinity; } - if (!isFinite(got)) { - got = copysign(Ox1p1023, got); + if (!isFinite(got)) { + got = copysign(Ox1p127f, got); want *= 0.5; } - return NativeMath.scalbn(got - want, -eulp(want)) + dwant; + return scalbn32(got - want, -eulp32(want)) + dwant; } -function eulpf(x: f32): i32 { - var u = reinterpret(x); - var e = (u >> 23 & 0xff); - if (!e) e++; - return e - 0x7f - 23; -} - -function ulperrf(got: f32, want: f32, dwant: f32): f32 { - const Ox1p127f = reinterpret(0x7F000000); - if (isNaN(got) && isNaN(want)) return 0; +function ulperr64(got: f64, want: f64, dwant: f64): f64 { + const Ox1p1023 = reinterpret(0x7FE0000000000000); + if (isNaN(got) && isNaN(want)) return 0; if (got == want) { - if (NativeMathf.signbit(got) == NativeMathf.signbit(want)) return dwant; + if (NativeMath.signbit(got) == NativeMath.signbit(want)) return dwant; return Infinity; } - if (!isFinite(got)) { - got = copysign(Ox1p127f, got); + if (!isFinite(got)) { + got = copysign(Ox1p1023, got); want *= 0.5; } - return NativeMathf.scalbn(got - want, -eulpf(want)) + dwant; + return scalbn64(got - want, -eulp64(want)) + dwant; } -function check(actual: T, expected: T, dy: T, flags: i32): bool { +function check(actual: T, expected: T, dy: T, flags: i32): bool { if (actual == expected) return true; - if (isNaN(expected)) return isNaN(actual); + if (isNaN(expected)) return isNaN(actual); var d: T; - if (sizeof() == 8) d = ulperr(actual, expected, dy); - else if (sizeof() == 4) d = ulperrf(actual, expected, dy); + if (sizeof() == 4) d = ulperr32(actual, expected, dy); + else if (sizeof() == 8) d = ulperr64(actual, expected, dy); else return false; - if (abs(d) >= 1.5) { - return false; - } - return true; + return abs(d) < 1.5; } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -102,7 +107,6 @@ function check(actual: T, expected: T, dy: T, flags: i32): bool { //////////////////////////////////////////////////////////////////////////////////////////////////// assert(Math.E == NativeMath.E); -assert(Mathf.E == NativeMathf.E); //////////////////////////////////////////////////////////////////////////////////////////////////// // Constants @@ -116,20 +120,12 @@ assert(check(NativeMath.PI, JSMath.PI, 0.0, 0)); assert(check(NativeMath.SQRT1_2, JSMath.SQRT1_2, 0.0, 0)); assert(check(NativeMath.SQRT2, JSMath.SQRT2, 0.0, 0)); -assert(check(NativeMathf.E, JSMath.E, 0.0, 0)); -assert(check(NativeMathf.LN2, JSMath.LN2, 0.0, 0)); -assert(check(NativeMathf.LN10, JSMath.LN10, 0.0, 0)); -assert(check(NativeMathf.LOG2E, JSMath.LOG2E, 0.0, 0)); -assert(check(NativeMathf.PI, JSMath.PI, 0.0, 0)); -assert(check(NativeMathf.SQRT1_2, JSMath.SQRT1_2, 0.0, 0)); -assert(check(NativeMathf.SQRT2, JSMath.SQRT2, 0.0, 0)); - //////////////////////////////////////////////////////////////////////////////////////////////////// // Internal scalbn //////////////////////////////////////////////////////////////////////////////////////////////////// function test_scalbn(value: f64, n: i32, expected: f64, error: f64, flags: i32): bool { - return check(NativeMath.scalbn(value, n), expected, error, flags); + return check(scalbn64(value, n), expected, error, flags); } // sanity @@ -168,7 +164,7 @@ assert(test_scalbn(0.500000000000001221, -1024, 2.78134232313400667e-309, 0.0, I // Internal scalbnf //////////////////////////////////////////////////////////////////////////////// function test_scalbnf(value: f32, n: i32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.scalbn(value, n), expected, error, flags); + return check(scalbn32(value, n), expected, error, flags); } // sanity @@ -234,10 +230,10 @@ assert(test_abs(Infinity, Infinity, 0.0, 0)); assert(test_abs(-Infinity, Infinity, 0.0, 0)); assert(test_abs(NaN, NaN, 0.0, 0)); -// Mathf.abs /////////////////////////////////////////////////////////////////////////////////////// +// Math.abs /////////////////////////////////////////////////////////////////////////////////////// function test_absf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.abs(value), expected, error, flags); + return check(NativeMath.abs(value), expected, error, flags); } // sanity @@ -294,10 +290,10 @@ assert(test_acos(NaN, NaN, 0.0, 0)); assert(test_acos(-0.530922720959298489, 2.13048537997054632, 0.139100849628448486, INEXACT)); assert(test_acos(0.493955674639974585, 1.05416298758519456, 0.220547676086425781, INEXACT)); -// Mathf.acos ////////////////////////////////////////////////////////////////////////////////////// +// Math.acos ////////////////////////////////////////////////////////////////////////////////////// function test_acosf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.acos(value), expected, error, flags); + return check(NativeMath.acos(value), expected, error, flags); } // sanity @@ -375,10 +371,10 @@ assert(test_acosh(1.10608311999264286, 0.45663734043848031, -0.29381608963012695 assert(test_acosh(1.10898095576286582, 0.462724685995942797, -0.399009555578231812, INEXACT)); assert(test_acosh(1.11694291598755213, 0.47902433134075284, -0.321674108505249023, INEXACT)); -// Mathf.acosh ///////////////////////////////////////////////////////////////////////////////////// +// Math.acosh ///////////////////////////////////////////////////////////////////////////////////// function test_acoshf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.acosh(value), expected, error, flags); + return check(NativeMath.acosh(value), expected, error, flags); } // sanity @@ -436,10 +432,10 @@ assert(test_asin(-Infinity, NaN, 0.0, INVALID)); assert(test_asin(NaN, NaN, 0.0, 0)); assert(test_asin(0.507304392911914759, 0.53205389977723494, -0.161573171615600586, INEXACT)); -// Mathf.asin ////////////////////////////////////////////////////////////////////////////////////// +// Math.asin ////////////////////////////////////////////////////////////////////////////////////// function test_asinf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.asin(value), expected, error, flags); + return check(NativeMath.asin(value), expected, error, flags); } // sanity @@ -514,10 +510,10 @@ assert(test_asinh(-0.0, -0.0, 0.0, 0)); // assert(test_asinh(0.489993198082535886, 0.472243604962259256, -0.437918633222579956, INEXACT)); // assert(test_asinh(0.519085143365399015, 0.498216616337933904, -0.420524448156356812, INEXACT)); -// Mathf.asinh ///////////////////////////////////////////////////////////////////////////////////// +// Math.asinh ///////////////////////////////////////////////////////////////////////////////////// function test_asinhf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.asinh(value), expected, error, flags); + return check(NativeMath.asinh(value), expected, error, flags); } // sanity @@ -570,10 +566,10 @@ assert(test_atan(-Infinity, -1.57079632679489656, 0.275765955448150635, INEXACT) assert(test_atan(NaN, NaN, 0.0, 0)); assert(test_atan(0.6929821535674624, 0.606000455515256164, -0.170757904648780823, INEXACT)); -// Mathf.atan ////////////////////////////////////////////////////////////////////////////////////// +// Math.atan ////////////////////////////////////////////////////////////////////////////////////// function test_atanf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.atan(value), expected, error, flags); + return check(NativeMath.atan(value), expected, error, flags); } // sanity @@ -634,10 +630,10 @@ assert(test_atanh(5.56268464626800346e-309, 5.56268464626800346e-309, 0.0, INEXA assert(test_atanh(-5.56268464626800346e-309, -5.56268464626800346e-309, 0.0, INEXACT | UNDERFLOW)); assert(test_atanh(8.98846567431157954e+307, NaN, 0.0, INVALID)); -// Mathf.atanh ///////////////////////////////////////////////////////////////////////////////////// +// Math.atanh ///////////////////////////////////////////////////////////////////////////////////// function test_atanhf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.atanh(value), expected, error, flags); + return check(NativeMath.atanh(value), expected, error, flags); } // sanity @@ -721,10 +717,10 @@ assert(test_atan2(1.0, 8.98846567431157954e+307, 1.11253692925360069e-308, 0.0, assert(test_atan2(1.5, 8.98846567431157954e+307, 1.66880539388040104e-308, 0.0, INEXACT | UNDERFLOW)); assert(test_atan2(1.5, -8.98846567431157954e+307, 3.14159265358979312, 0.0, INEXACT)); -// Mathf.atan2 ///////////////////////////////////////////////////////////////////////////////////// +// Math.atan2 ///////////////////////////////////////////////////////////////////////////////////// function test_atan2f(value1: f32, value2: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.atan2(value1, value2), expected, error, flags); + return check(NativeMath.atan2(value1, value2), expected, error, flags); } // sanity @@ -802,10 +798,10 @@ assert(test_cbrt(1.0, 1.0, 0.0, 0)); assert(test_cbrt(-1.0, -1.0, 0.0, 0)); assert(test_cbrt(8.0, 2.0, 0.0, 0)); -// Mathf.cbrt ////////////////////////////////////////////////////////////////////////////////////// +// Math.cbrt ////////////////////////////////////////////////////////////////////////////////////// function test_cbrtf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.cbrt(value), expected, error, flags); + return check(NativeMath.cbrt(value), expected, error, flags); } // sanity @@ -900,10 +896,10 @@ assert(test_ceil(-0.99999237060546875, -0.0, 0.0, INEXACT)); assert(test_ceil(7.88860905221011805e-31, 1.0, 0.0, INEXACT)); assert(test_ceil(-7.88860905221011805e-31, -0.0, 0.0, INEXACT)); -// Mathf.ceil ////////////////////////////////////////////////////////////////////////////////////// +// Math.ceil ////////////////////////////////////////////////////////////////////////////////////// function test_ceilf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.ceil(value), expected, error, flags); + return check(NativeMath.ceil(value), expected, error, flags); } // sanity @@ -1111,7 +1107,7 @@ assert(NativeMath.cos(1e90 * kPI) == JSMath.cos(1e90 * kPI)); // v8 ieee754-unittest.cc // cos(x) = 1 for |x| < 2^-27 -assert(NativeMath.cos(2.3283064365386963e-10) == 1.0); +assert(NativeMath.cos(+2.3283064365386963e-10) == 1.0); assert(NativeMath.cos(-2.3283064365386963e-10) == 1.0); // Test KERNELCOS for |x| < 0.3. // cos(pi/20) = sqrt(sqrt(2)*sqrt(sqrt(5)+5)+4)/2^(3/2) @@ -1121,30 +1117,30 @@ assert(NativeMath.cos(0.7812504768371582) == 0.7100335477927638); assert(NativeMath.cos(0.78125) == 0.7100338835660797); // Test KERNELCOS for |x| > 0.3. // cos(pi/8) = sqrt(sqrt(2)+1)/2^(3/4) -assert(0.9238795325112867 == NativeMath.cos(0.39269908169872414)); +assert(NativeMath.cos(0.39269908169872414) == 0.9238795325112867); // Test KERNELTAN for |x| < 0.67434. -assert(0.9238795325112867 == NativeMath.cos(-0.39269908169872414)); +assert(NativeMath.cos(-0.39269908169872414) == 0.9238795325112867); // Tests for cos. assert(NativeMath.cos(3.725290298461914e-9) == 1.0); // Cover different code paths in KERNELCOS. -assert(0.9689124217106447 == NativeMath.cos(0.25)); -assert(0.8775825618903728 == NativeMath.cos(0.5)); -assert(0.7073882691671998 == NativeMath.cos(0.785)); +assert(NativeMath.cos(0.25) == 0.9689124217106447); +assert(NativeMath.cos(0.5) == 0.8775825618903728); +assert(NativeMath.cos(0.785) == 0.7073882691671998); // Test that cos(Math.PI/2) != 0 since Math.PI is not exact. -assert(6.123233995736766e-17 == NativeMath.cos(1.5707963267948966)); +assert(NativeMath.cos(1.5707963267948966) == 6.123233995736766e-17); // Test cos for various phases. -assert(0.7071067811865474 == NativeMath.cos(7.0 / 4 * kPI)); -assert(0.7071067811865477 == NativeMath.cos(9.0 / 4 * kPI)); -assert(-0.7071067811865467 == NativeMath.cos(11.0 / 4 * kPI)); -assert(-0.7071067811865471 == NativeMath.cos(13.0 / 4 * kPI)); -assert(0.9367521275331447 == NativeMath.cos(1000000.0)); -assert(-3.435757038074824e-12 == NativeMath.cos(1048575.0 / 2 * kPI)); +assert(NativeMath.cos(7.0 / 4 * kPI) == 0.7071067811865474); +assert(NativeMath.cos(9.0 / 4 * kPI) == 0.7071067811865477); +assert(NativeMath.cos(11.0 / 4 * kPI) == -0.7071067811865467); +assert(NativeMath.cos(13.0 / 4 * kPI) == -0.7071067811865471); +assert(NativeMath.cos(1000000.0) == 0.9367521275331447); +assert(NativeMath.cos(1048575.0 / 2 * kPI) == -3.435757038074824e-12); -// Mathf.cos /////////////////////////////////////////////////////////////////////////////////////// +// Math.cos /////////////////////////////////////////////////////////////////////////////////////// function test_cosf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.cos(value), expected, error, flags); + return check(NativeMath.cos(value), expected, error, flags); } // sanity @@ -1249,10 +1245,10 @@ assert(test_cosh(Infinity, Infinity, 0.0, 0)); assert(test_cosh(-Infinity, Infinity, 0.0, 0)); assert(test_cosh(NaN, NaN, 0.0, 0)); -// Mathf.cosh ////////////////////////////////////////////////////////////////////////////////////// +// Math.cosh ////////////////////////////////////////////////////////////////////////////////////// function test_coshf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.cosh(value), expected, error, flags); + return check(NativeMath.cosh(value), expected, error, flags); } // sanity @@ -1443,10 +1439,10 @@ assert(test_exp( INEXACT )); // -2.714495295208544660026143771835e-14 -// Mathf.exp /////////////////////////////////////////////////////////////////////////////////////// +// Math.exp /////////////////////////////////////////////////////////////////////////////////////// function test_expf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.exp(value), expected, error, flags); + return check(NativeMath.exp(value), expected, error, flags); } // sanity @@ -1509,10 +1505,10 @@ assert(test_expm1(NaN, NaN, 0.0, 0)); assert(test_expm1(2.22507385850720089e-308, 2.22507385850720089e-308, 0.0, INEXACT | UNDERFLOW)); assert(test_expm1(-2.22507385850720089e-308,-2.22507385850720089e-308, 0.0, INEXACT | UNDERFLOW)); -// Mathf.expm1 ///////////////////////////////////////////////////////////////////////////////////// +// Math.expm1 ///////////////////////////////////////////////////////////////////////////////////// function test_expm1f(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.expm1(value), expected, error, flags); + return check(NativeMath.expm1(value), expected, error, flags); } // sanity @@ -1585,11 +1581,11 @@ assert(test_exp2(reinterpret(0xC090CC0000000000), assert(test_exp2(reinterpret(0xC0A0000000000000), 0, 0, INEXACT | UNDERFLOW)); //////////////////////////////////////////////////////////////////////////////////////////////////// -// Mathf.exp2 +// Math.exp2 //////////////////////////////////////////////////////////////////////////////////////////////////// function test_exp2f(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.exp2(value), expected, error, flags); + return check(NativeMath.exp2(value), expected, error, flags); } // sanity @@ -1642,10 +1638,10 @@ assert(test_floor(-0.99999237060546875, -1.0, 0.0, INEXACT)); assert(test_floor(7.88860905221011805e-31, 0.0, 0.0, INEXACT)); assert(test_floor(-7.88860905221011805e-31, -1.0, 0.0, INEXACT)); -// Mathf.floor ///////////////////////////////////////////////////////////////////////////////////// +// Math.floor ///////////////////////////////////////////////////////////////////////////////////// function test_floorf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.floor(value), expected, error, flags); + return check(NativeMath.floor(value), expected, error, flags); } // sanity @@ -1723,10 +1719,10 @@ assert(test_hypot(1.0, NaN, NaN, 0.0, 0)); assert(test_hypot(NaN, 0.0, NaN, 0.0, 0)); assert(test_hypot(0.0, NaN, NaN, 0.0, 0)); -// Mathf.hypot ///////////////////////////////////////////////////////////////////////////////////// +// Math.hypot ///////////////////////////////////////////////////////////////////////////////////// function test_hypotf(value1: f32, value2: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.hypot(value1, value2), expected, error, flags); + return check(NativeMath.hypot(value1, value2), expected, error, flags); } // sanity @@ -1793,10 +1789,10 @@ assert(test_log(Infinity, Infinity, 0.0, 0)); assert(test_log(-Infinity, NaN, 0.0, INVALID)); assert(test_log(NaN, NaN, 0.0, 0)); -// Mathf.log /////////////////////////////////////////////////////////////////////////////////////// +// Math.log /////////////////////////////////////////////////////////////////////////////////////// function test_logf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.log(value), expected, error, flags); + return check(NativeMath.log(value), expected, error, flags); } // sanity @@ -1850,10 +1846,10 @@ assert(test_log10(Infinity, Infinity, 0.0, 0)); assert(test_log10(-Infinity, NaN, 0.0, INVALID)); assert(test_log10(NaN, NaN, 0.0, 0)); -// Mathf.log10 ///////////////////////////////////////////////////////////////////////////////////// +// Math.log10 ///////////////////////////////////////////////////////////////////////////////////// function test_log10f(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.log10(value), expected, error, flags); + return check(NativeMath.log10(value), expected, error, flags); } // sanity @@ -1909,10 +1905,10 @@ assert(test_log1p(Infinity, Infinity, 0.0, 0)); assert(test_log1p(-Infinity, NaN, 0.0, INVALID)); assert(test_log1p(NaN, NaN, 0.0, 0)); -// Mathf.log1p ///////////////////////////////////////////////////////////////////////////////////// +// Math.log1p ///////////////////////////////////////////////////////////////////////////////////// function test_log1pf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.log1p(value), expected, error, flags); + return check(NativeMath.log1p(value), expected, error, flags); } // sanity @@ -1969,10 +1965,10 @@ assert(test_log2(Infinity, Infinity, 0.0, 0)); assert(test_log2(-Infinity, NaN, 0.0, INVALID)); assert(test_log2(NaN, NaN, 0.0, 0)); -// Mathf.log2 ////////////////////////////////////////////////////////////////////////////////////// +// Math.log2 ////////////////////////////////////////////////////////////////////////////////////// function test_log2f(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.log2(value), expected, error, flags); + return check(NativeMath.log2(value), expected, error, flags); } // sanity @@ -2078,10 +2074,10 @@ assert(test_max(-1.75, 0.5, 0.5, 0.0, 0)); assert(test_max(1.75, -0.5, 1.75, 0.0, 0)); assert(test_max(-1.75, -0.5, -0.5, 0.0, 0)); -// Mathf.max /////////////////////////////////////////////////////////////////////////////////////// +// Math.max /////////////////////////////////////////////////////////////////////////////////////// function test_maxf(left: f32, right: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.max(left, right), expected, error, flags); + return check(NativeMath.max(left, right), expected, error, flags); } // sanity @@ -2237,10 +2233,10 @@ assert(test_min(-1.75, 0.5, -1.75, 0.0, 0)); assert(test_min(1.75, -0.5, -0.5, 0.0, 0)); assert(test_min(-1.75, -0.5, -1.75, 0.0, 0)); -// Mathf.min /////////////////////////////////////////////////////////////////////////////////////// +// Math.min /////////////////////////////////////////////////////////////////////////////////////// function test_minf(left: f32, right: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.min(left, right), expected, error, flags); + return check(NativeMath.min(left, right), expected, error, flags); } // sanity @@ -2322,8 +2318,8 @@ assert(test_minf(-1.75, -0.5, -1.75, 0.0, 0)); declare function mod(x: f64, y: f64): f64; function test_mod(left: f64, right: f64, expected: f64, error: f64, flags: i32): bool { - return check(NativeMath.mod(left, right), expected, error, flags) && - (!js || check( mod(left, right), expected, error, flags)); + return check(mod64(left, right), expected, error, flags) && + (!js || check( mod(left, right), expected, error, flags)); } // sanity @@ -2484,10 +2480,10 @@ assert(test_mod(reinterpret(0x0010000000000006), reinterpret(0x0010000 assert(test_mod(reinterpret(0x001FFFFFFFFFFFFF), reinterpret(0x0020000000000000), reinterpret(0x001FFFFFFFFFFFFF), 0.0, 0)); assert(test_mod(reinterpret(0x009FFFFFFFFFFFFF), reinterpret(0x0090000000000000), reinterpret(0x008FFFFFFFFFFFFE), 0.0, 0)); -// Mathf.mod /////////////////////////////////////////////////////////////////////////////////////// +// Math.mod /////////////////////////////////////////////////////////////////////////////////////// function test_modf(left: f32, right: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.mod(left, right), expected, error, flags); + return check(mod32(left, right), expected, error, flags); } // sanity @@ -2729,10 +2725,10 @@ assert(NativeMath.pow(+Infinity, 0.5) == +Infinity); assert(NativeMath.pow(-Infinity, 0.5) == +Infinity); assert(isNaN(NativeMath.pow(NaN, 0.5))); -// Mathf.pow /////////////////////////////////////////////////////////////////////////////////////// +// Math.pow /////////////////////////////////////////////////////////////////////////////////////// function test_powf(left: f32, right: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.pow(left, right), expected, error, flags); + return check(NativeMath.pow(left, right), expected, error, flags); } // sanity @@ -3000,14 +2996,6 @@ for (let i = 0; i < 1e6; ++i) { assert(r >= 0.0 && r < 1.0); } -// Mathf.random //////////////////////////////////////////////////////////////////////////////////// - -NativeMathf.seedRandom(reinterpret(JSMath.random())); -for (let i = 0; i < 1e6; ++i) { - let r = NativeMathf.random(); - assert(r >= 0.0 && r < 1.0); -} - //////////////////////////////////////////////////////////////////////////////////////////////////// // Math.round //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -3055,10 +3043,10 @@ assert(NativeMath.round( 9007199254740991.0) == 9007199254740991.0); // round(+ assert(NativeMath.round(-9007199254740991.0) == -9007199254740991.0); // round(-(2 ** 53 - 1)) == -(2 ** 53 - 1) assert(NativeMath.round(-1.7976931348623157e+308) == -1.7976931348623157e+308); -// Mathf.round ///////////////////////////////////////////////////////////////////////////////////// +// Math.round ///////////////////////////////////////////////////////////////////////////////////// function test_roundf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.round(value), expected, error, flags); + return check(NativeMath.round(value), expected, error, flags); } // sanity @@ -3111,10 +3099,10 @@ assert(test_sign(Infinity, 1.0, 0.0, 0)); assert(test_sign(-Infinity, -1.0, 0.0, 0)); assert(test_sign(NaN, NaN, 0.0, 0)); -// Mathf.sign ////////////////////////////////////////////////////////////////////////////////////// +// Math.sign ////////////////////////////////////////////////////////////////////////////////////// function test_signf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.sign(value), expected, error, flags); + return check(NativeMath.sign(value), expected, error, flags); } assert(test_signf(0.0, 0.0, 0.0, 0)); @@ -3141,193 +3129,17 @@ assert(NativeMath.signbit(+Infinity) == false); assert(NativeMath.signbit(-Infinity) == true); //////////////////////////////////////////////////////////////////////////////////////////////////// -// Mathf.signbit -//////////////////////////////////////////////////////////////////////////////////////////////////// - -assert(NativeMathf.signbit(0.0) == false); -assert(NativeMathf.signbit(-0.0) == true); -assert(NativeMathf.signbit(1.0) == false); -assert(NativeMathf.signbit(-1.0) == true); -assert(NativeMathf.signbit(+NaN) == false); -assert(NativeMathf.signbit(-NaN) == true); -assert(NativeMathf.signbit(+Infinity) == false); -assert(NativeMathf.signbit(-Infinity) == true); - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// Math.rem +// Math.signbit //////////////////////////////////////////////////////////////////////////////////////////////////// -function test_rem(left: f64, right: f64, expected: f64, error: f64, flags: i32): bool { - return check(NativeMath.rem(left, right), expected, error, flags); -} - -// sanity -assert(test_rem(-8.06684839057968084, 4.53566256067686879, 1.00447673077405675, 0.0, 0)); -assert(test_rem(4.34523984933830487, -8.88799136300345083, 4.34523984933830487, 0.0, 0)); -assert(test_rem(-8.38143342755524934, -2.76360733737958819, -0.0906114154164847641, 0.0, 0)); -assert(test_rem(-6.53167358191348413, 4.56753527684274374, -1.96413830507074039, 0.0, 0)); -assert(test_rem(9.26705696697258574, 4.81139208435979615, -0.355727201747006561, 0.0, 0)); -assert(test_rem(-6.45004555606023633, 0.662071792337673881, 0.170672367316502482, 0.0, 0)); -assert(test_rem(7.85889025304169664, 0.0521545267500622481, -0.0164432862177028224, 0.0, 0)); -assert(test_rem(-0.792054511984895959, 7.67640268511753998, -0.792054511984895959, 0.0, 0)); -assert(test_rem(0.615702673197924044, 2.01190257903248026, 0.615702673197924044, 0.0, 0)); -assert(test_rem(-0.558758682360915193, 0.0322398306026380407, -0.0106815621160685006, 0.0, 0)); - -// special -assert(test_rem(0.0, 1.0, 0.0, 0.0, 0)); -assert(test_rem(-0.0, 1.0, -0.0, 0.0, 0)); -assert(test_rem(0.5, 1.0, 0.5, 0.0, 0)); -assert(test_rem(-0.5, 1.0, -0.5, 0.0, 0)); -assert(test_rem(1.0, 1.0, 0.0, 0.0, 0)); -assert(test_rem(-1.0, 1.0, -0.0, 0.0, 0)); -assert(test_rem(1.5, 1.0, -0.5, 0.0, 0)); -assert(test_rem(-1.5, 1.0, 0.5, 0.0, 0)); -assert(test_rem(2.0, 1.0, 0.0, 0.0, 0)); -assert(test_rem(-2.0, 1.0, -0.0, 0.0, 0)); -assert(test_rem(Infinity, 1.0, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, 1.0, NaN, 0.0, INVALID)); -assert(test_rem(NaN, 1.0, NaN, 0.0, 0)); -assert(test_rem(0.0, -1.0, 0.0, 0.0, 0)); -assert(test_rem(-0.0, -1.0, -0.0, 0.0, 0)); -assert(test_rem(0.5, -1.0, 0.5, 0.0, 0)); -assert(test_rem(-0.5, -1.0, -0.5, 0.0, 0)); -assert(test_rem(1.0, -1.0, 0.0, 0.0, 0)); -assert(test_rem(-1.0, -1.0, -0.0, 0.0, 0)); -assert(test_rem(1.5, -1.0, -0.5, 0.0, 0)); -assert(test_rem(-1.5, -1.0, 0.5, 0.0, 0)); -assert(test_rem(2.0, -1.0, 0.0, 0.0, 0)); -assert(test_rem(-2.0, -1.0, -0.0, 0.0, 0)); -assert(test_rem(Infinity, -1.0, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, -1.0, NaN, 0.0, INVALID)); -assert(test_rem(NaN, -1.0, NaN, 0.0, 0)); -assert(test_rem(0.0, 0.0, NaN, 0.0, INVALID)); -assert(test_rem(0.0, -0.0, NaN, 0.0, INVALID)); -assert(test_rem(0.0, Infinity, 0.0, 0.0, 0)); -assert(test_rem(0.0, -Infinity, 0.0, 0.0, 0)); -assert(test_rem(0.0, NaN, NaN, 0.0, 0)); -assert(test_rem(-0.0, 0.0, NaN, 0.0, INVALID)); -assert(test_rem(-0.0, -0.0, NaN, 0.0, INVALID)); -assert(test_rem(-0.0, Infinity, -0.0, 0.0, 0)); -assert(test_rem(-0.0, -Infinity, -0.0, 0.0, 0)); -assert(test_rem(-0.0, NaN, NaN, 0.0, 0)); -assert(test_rem(1.0, 0.0, NaN, 0.0, INVALID)); -assert(test_rem(-1.0, 0.0, NaN, 0.0, INVALID)); -assert(test_rem(Infinity, 0.0, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, 0.0, NaN, 0.0, INVALID)); -assert(test_rem(NaN, 0.0, NaN, 0.0, 0)); -assert(test_rem(-1.0, -0.0, NaN, 0.0, INVALID)); -assert(test_rem(Infinity, -0.0, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, -0.0, NaN, 0.0, INVALID)); -assert(test_rem(NaN, -0.0, NaN, 0.0, 0)); -assert(test_rem(Infinity, 2.0, NaN, 0.0, INVALID)); -assert(test_rem(Infinity, -0.5, NaN, 0.0, INVALID)); -assert(test_rem(Infinity, NaN, NaN, 0.0, 0)); -assert(test_rem(-Infinity, 2.0, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, -0.5, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, NaN, NaN, 0.0, 0)); -assert(test_rem(NaN, NaN, NaN, 0.0, 0)); -assert(test_rem(1.0, NaN, NaN, 0.0, 0)); -assert(test_rem(-1.0, NaN, NaN, 0.0, 0)); -assert(test_rem(1.0, Infinity, 1.0, 0.0, 0)); -assert(test_rem(-1.0, Infinity, -1.0, 0.0, 0)); -assert(test_rem(Infinity, Infinity, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, Infinity, NaN, 0.0, INVALID)); -assert(test_rem(1.0, -Infinity, 1.0, 0.0, 0)); -assert(test_rem(-1.0, -Infinity, -1.0, 0.0, 0)); -assert(test_rem(Infinity, -Infinity, NaN, 0.0, INVALID)); -assert(test_rem(-Infinity, -Infinity, NaN, 0.0, INVALID)); -assert(test_rem(1.75, 0.5, -0.25, 0.0, 0)); -assert(test_rem(-1.75, 0.5, 0.25, 0.0, 0)); -assert(test_rem(1.75, -0.5, -0.25, 0.0, 0)); -assert(test_rem(-1.75, -0.5, 0.25, 0.0, 0)); -assert(test_rem(7.90505033345994471e-323, Infinity, 7.90505033345994471e-323, 0.0, 0)); - -// Mathf.rem /////////////////////////////////////////////////////////////////////////////////////// - -function test_remf(left: f32, right: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.rem(left, right), expected, error, flags); -} - -// sanity -assert(test_remf(-8.066848755, 4.535662651, 1.004476547, 0.0, 0)); -assert(test_remf(4.345239639, -8.887990952, 4.345239639, 0.0, 0)); -assert(test_remf(-8.381433487, -2.763607264, -0.09061169624, 0.0, 0)); -assert(test_remf(-6.531673431, 4.5675354, -1.964138031, 0.0, 0)); -assert(test_remf(9.267057419, 4.811392307, -0.3557271957, 0.0, 0)); -assert(test_remf(-6.450045586, 0.6620717645, 0.1706720591, 0.0, 0)); -assert(test_remf(7.858890057, 0.05215452611, -0.01644338667, 0.0, 0)); -assert(test_remf(-0.792054534, 7.676402569, -0.792054534, 0.0, 0)); -assert(test_remf(0.6157026887, 2.011902571, 0.6157026887, 0.0, 0)); -assert(test_remf(-0.5587586761, 0.03223983198, -0.01068153232, 0.0, 0)); - -// special -assert(test_remf(0.0, 1.0, 0.0, 0.0, 0)); -assert(test_remf(-0.0, 1.0, -0.0, 0.0, 0)); -assert(test_remf(0.5, 1.0, 0.5, 0.0, 0)); -assert(test_remf(-0.5, 1.0, -0.5, 0.0, 0)); -assert(test_remf(1.0, 1.0, 0.0, 0.0, 0)); -assert(test_remf(-1.0, 1.0, -0.0, 0.0, 0)); -assert(test_remf(1.5, 1.0, -0.5, 0.0, 0)); -assert(test_remf(-1.5, 1.0, 0.5, 0.0, 0)); -assert(test_remf(2.0, 1.0, 0.0, 0.0, 0)); -assert(test_remf(-2.0, 1.0, -0.0, 0.0, 0)); -assert(test_remf(Infinity, 1.0, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, 1.0, NaN, 0.0, INVALID)); -assert(test_remf(NaN, 1.0, NaN, 0.0, 0)); -assert(test_remf(0.0, -1.0, 0.0, 0.0, 0)); -assert(test_remf(-0.0, -1.0, -0.0, 0.0, 0)); -assert(test_remf(0.5, -1.0, 0.5, 0.0, 0)); -assert(test_remf(-0.5, -1.0, -0.5, 0.0, 0)); -assert(test_remf(1.0, -1.0, 0.0, 0.0, 0)); -assert(test_remf(-1.0, -1.0, -0.0, 0.0, 0)); -assert(test_remf(1.5, -1.0, -0.5, 0.0, 0)); -assert(test_remf(-1.5, -1.0, 0.5, 0.0, 0)); -assert(test_remf(2.0, -1.0, 0.0, 0.0, 0)); -assert(test_remf(-2.0, -1.0, -0.0, 0.0, 0)); -assert(test_remf(Infinity, -1.0, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, -1.0, NaN, 0.0, INVALID)); -assert(test_remf(NaN, -1.0, NaN, 0.0, 0)); -assert(test_remf(0.0, 0.0, NaN, 0.0, INVALID)); -assert(test_remf(0.0, -0.0, NaN, 0.0, INVALID)); -assert(test_remf(0.0, Infinity, 0.0, 0.0, 0)); -assert(test_remf(0.0, -Infinity, 0.0, 0.0, 0)); -assert(test_remf(0.0, NaN, NaN, 0.0, 0)); -assert(test_remf(-0.0, 0.0, NaN, 0.0, INVALID)); -assert(test_remf(-0.0, -0.0, NaN, 0.0, INVALID)); -assert(test_remf(-0.0, Infinity, -0.0, 0.0, 0)); -assert(test_remf(-0.0, -Infinity, -0.0, 0.0, 0)); -assert(test_remf(-0.0, NaN, NaN, 0.0, 0)); -assert(test_remf(1.0, 0.0, NaN, 0.0, INVALID)); -assert(test_remf(-1.0, 0.0, NaN, 0.0, INVALID)); -assert(test_remf(Infinity, 0.0, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, 0.0, NaN, 0.0, INVALID)); -assert(test_remf(NaN, 0.0, NaN, 0.0, 0)); -assert(test_remf(-1.0, -0.0, NaN, 0.0, INVALID)); -assert(test_remf(Infinity, -0.0, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, -0.0, NaN, 0.0, INVALID)); -assert(test_remf(NaN, -0.0, NaN, 0.0, 0)); -assert(test_remf(Infinity, 2.0, NaN, 0.0, INVALID)); -assert(test_remf(Infinity, -0.5, NaN, 0.0, INVALID)); -assert(test_remf(Infinity, NaN, NaN, 0.0, 0)); -assert(test_remf(-Infinity, 2.0, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, -0.5, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, NaN, NaN, 0.0, 0)); -assert(test_remf(NaN, NaN, NaN, 0.0, 0)); -assert(test_remf(1.0, NaN, NaN, 0.0, 0)); -assert(test_remf(-1.0, NaN, NaN, 0.0, 0)); -assert(test_remf(1.0, Infinity, 1.0, 0.0, 0)); -assert(test_remf(-1.0, Infinity, -1.0, 0.0, 0)); -assert(test_remf(Infinity, Infinity, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, Infinity, NaN, 0.0, INVALID)); -assert(test_remf(1.0, -Infinity, 1.0, 0.0, 0)); -assert(test_remf(-1.0, -Infinity, -1.0, 0.0, 0)); -assert(test_remf(Infinity, -Infinity, NaN, 0.0, INVALID)); -assert(test_remf(-Infinity, -Infinity, NaN, 0.0, INVALID)); -assert(test_remf(1.75, 0.5, -0.25, 0.0, 0)); -assert(test_remf(-1.75, 0.5, 0.25, 0.0, 0)); -assert(test_remf(1.75, -0.5, -0.25, 0.0, 0)); -assert(test_remf(-1.75, -0.5, 0.25, 0.0, 0)); -assert(test_remf(5.877471754e-39, Infinity, 5.877471754e-39, 0.0, 0)); +assert(NativeMath.signbit(0.0) == false); +assert(NativeMath.signbit(-0.0) == true); +assert(NativeMath.signbit(1.0) == false); +assert(NativeMath.signbit(-1.0) == true); +assert(NativeMath.signbit(+NaN) == false); +assert(NativeMath.signbit(-NaN) == true); +assert(NativeMath.signbit(+Infinity) == false); +assert(NativeMath.signbit(-Infinity) == true); //////////////////////////////////////////////////////////////////////////////////////////////////// // Math.sin @@ -3397,39 +3209,39 @@ assert(test_sin(-Infinity, NaN, 0.0, INVALID)); assert(test_sin( NaN, NaN, 0.0, 0)); // from v8 -assert(NativeMath.sin(kPI / 2) == JSMath.sin(kPI / 2)); +assert(NativeMath.sin(1 * kPI / 2) == JSMath.sin(1 * kPI / 2)); assert(NativeMath.sin(2 * kPI / 2) == JSMath.sin(2 * kPI / 2)); // sin(x) = x for x < 2^-27 -assert(+2.3283064365386963e-10 == NativeMath.sin(+2.3283064365386963e-10)); -assert(-2.3283064365386963e-10 == NativeMath.sin(-2.3283064365386963e-10)); +assert(NativeMath.sin(+2.3283064365386963e-10) == +2.3283064365386963e-10); +assert(NativeMath.sin(-2.3283064365386963e-10) == -2.3283064365386963e-10); // sin(pi/8) = sqrt(sqrt(2)-1)/2^(3/4) -assert(+0.3826834323650898 == NativeMath.sin(+0.39269908169872414)); -assert(-0.3826834323650898 == NativeMath.sin(-0.39269908169872414)); +assert(NativeMath.sin(+0.39269908169872414) == +0.3826834323650898); +assert(NativeMath.sin(-0.39269908169872414) == -0.3826834323650898); // Tests for sin. -assert(+0.479425538604203 == NativeMath.sin(+0.5)); -assert(-0.479425538604203 == NativeMath.sin(-0.5)); -assert(+1.0 == NativeMath.sin(+kPI / 2.0)); -assert(-1.0 == NativeMath.sin(-kPI / 2.0)); +assert(NativeMath.sin(+0.5) == +0.479425538604203); +assert(NativeMath.sin(-0.5) == -0.479425538604203); +assert(NativeMath.sin(+kPI / 2.0) == +1.0); +assert(NativeMath.sin(-kPI / 2.0) == -1.0); // Test that sin(Math.PI) != 0 since Math.PI is not exact. -assert(1.2246467991473532e-16 == NativeMath.sin(kPI)); -assert(-7.047032979958965e-14 == NativeMath.sin(2200.0 * kPI)); +assert(NativeMath.sin(kPI) == 1.2246467991473532e-16); +assert(NativeMath.sin(2200.0 * kPI) == -7.0470329799589650e-14); // Test sin for various phases. -assert(-0.7071067811865477 == NativeMath.sin(7.0 / 4.0 * kPI)); -assert(+0.7071067811865474 == NativeMath.sin(9.0 / 4.0 * kPI)); -assert(+0.7071067811865483 == NativeMath.sin(11.0 / 4.0 * kPI)); -assert(-0.7071067811865479 == NativeMath.sin(13.0 / 4.0 * kPI)); -assert(-3.2103381051568376e-11 == NativeMath.sin(1048576.0 / 4 * kPI)); +assert(NativeMath.sin(7.0 / 4.0 * kPI) == -0.7071067811865477); +assert(NativeMath.sin(9.0 / 4.0 * kPI) == +0.7071067811865474); +assert(NativeMath.sin(11.0 / 4.0 * kPI) == +0.7071067811865483); +assert(NativeMath.sin(13.0 / 4.0 * kPI) == -0.7071067811865479); +assert(NativeMath.sin(1048576.0 / 4 * kPI) == -3.2103381051568376e-11); // Test Hayne-Panek reduction. -assert( 0.377820109360752e0 == NativeMath.sin(+kTwo120)); -assert(-0.377820109360752e0 == NativeMath.sin(-kTwo120)); +assert(NativeMath.sin(+kTwo120) == +0.377820109360752e0); +assert(NativeMath.sin(-kTwo120) == -0.377820109360752e0); -// Mathf.sin /////////////////////////////////////////////////////////////////////////////////////// +// Math.sin /////////////////////////////////////////////////////////////////////////////////////// function test_sinf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.sin(value), expected, error, flags); + return check(NativeMath.sin(value), expected, error, flags); } // sanity @@ -3535,10 +3347,10 @@ assert(test_sinh(Infinity, Infinity, 0.0, 0)); assert(test_sinh(-Infinity, -Infinity, 0.0, 0)); assert(test_sinh(NaN, NaN, 0.0, 0)); -// Mathf.sinh ////////////////////////////////////////////////////////////////////////////////////// +// Math.sinh ////////////////////////////////////////////////////////////////////////////////////// function test_sinhf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.sinh(value), expected, error, flags); + return check(NativeMath.sinh(value), expected, error, flags); } // sanity @@ -3657,10 +3469,10 @@ assert(test_sqrt(2.64615054688296253e-306, 1.62669927979419815e-153, 0.499867290 assert(test_sqrt(3.81670763677204135e-306, 1.95363958722483965e-153, 0.499834716320037842, INEXACT)); assert(test_sqrt(4.57432207785627658e-306, 2.13876648511619359e-153, 0.499859392642974854, INEXACT)); -// Mathf.sqrt ////////////////////////////////////////////////////////////////////////////////////// +// Math.sqrt ////////////////////////////////////////////////////////////////////////////////////// function test_sqrtf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.sqrt(value), expected, error, flags); + return check(NativeMath.sqrt(value), expected, error, flags); } // sanity @@ -3786,10 +3598,10 @@ assert(test_tan(Infinity, NaN, 0.0, INVALID)); assert(test_tan(-Infinity, NaN, 0.0, INVALID)); assert(test_tan(NaN, NaN, 0.0, 0)); -// Mathf.tan /////////////////////////////////////////////////////////////////////////////////////// +// Math.tan /////////////////////////////////////////////////////////////////////////////////////// function test_tanf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.tan(value), expected, error, flags); + return check(NativeMath.tan(value), expected, error, flags); } // sanity @@ -3877,10 +3689,10 @@ assert(test_tanh(Infinity, 1.0, 0.0, 0)); assert(test_tanh(-Infinity, -1.0, 0.0, 0)); assert(test_tanh(NaN, NaN, 0.0, 0)); -// Mathf.tanh ////////////////////////////////////////////////////////////////////////////////////// +// Math.tanh ////////////////////////////////////////////////////////////////////////////////////// function test_tanhf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.tanh(value), expected, error, flags); + return check(NativeMath.tanh(value), expected, error, flags); } // sanity @@ -3940,10 +3752,10 @@ assert(test_trunc(-0.99999237060546875, -0.0, 0.0, INEXACT)); assert(test_trunc(7.88860905221011805e-31, 0.0, 0.0, INEXACT)); assert(test_trunc(-7.88860905221011805e-31, -0.0, 0.0, INEXACT)); -// Mathf.trunc ///////////////////////////////////////////////////////////////////////////////////// +// Math.trunc ///////////////////////////////////////////////////////////////////////////////////// function test_truncf(value: f32, expected: f32, error: f32, flags: i32): bool { - return check(NativeMathf.trunc(value), expected, error, flags); + return check(NativeMath.trunc(value), expected, error, flags); } // sanity @@ -4014,37 +3826,37 @@ test_sincos(0xBFE5B86EA8118A0E, 0xBFE417318671B83D, 0xBFD87FFC00000000, 0x3FE8E8 // Math.imul ////////////////////////////////////////////////////////////////////////////////// -assert(NativeMath.imul(2, 4) == 8); -assert(NativeMath.imul(-1, 8) == -8); -assert(NativeMath.imul(-2, -2) == 4); -assert(NativeMath.imul(0xffffffff, 5) == -5); -assert(NativeMath.imul(0xfffffffe, 5) == -10); -assert(NativeMath.imul(1e+60, 1e+60) == 0); -assert(NativeMath.imul(1e+60,-1e+60) == 0); -assert(NativeMath.imul(-1e+60,-1e+60) == 0); -assert(NativeMath.imul(1e+24, 1e2) == -2147483648); -assert(NativeMath.imul(NaN, 1) == 0); -assert(NativeMath.imul(1, Infinity) == 0); -assert(NativeMath.imul(f64.MAX_VALUE, f64.MAX_VALUE) == 0); +assert(NativeMath.imul(+2, +4) == +8); +assert(NativeMath.imul(-1, +8) == -8); +assert(NativeMath.imul(-2, -2) == +4); +assert(NativeMath.imul(0xffffffff, 5) == -5); +assert(NativeMath.imul(0xfffffffe, 5) == -10); +assert(NativeMath.imul(+1e+60,+1e+60) == 0); +assert(NativeMath.imul(+1e+60,-1e+60) == 0); +assert(NativeMath.imul(-1e+60,-1e+60) == 0); +assert(NativeMath.imul(1e+24, 1e2) == -2147483648); +assert(NativeMath.imul(NaN, 1.0) == 0); +assert(NativeMath.imul(1.0, Infinity) == 0); +assert(NativeMath.imul(f64.MAX_VALUE, f64.MAX_VALUE) == 0); // Math.clz32 ///////////////////////////////////////////////////////////////////////////////// -assert(NativeMath.clz32(0) == 32); -assert(NativeMath.clz32(1) == 31); -assert(NativeMath.clz32(-1) == 0); -assert(NativeMath.clz32(-128) == 0); -assert(NativeMath.clz32(4294967295.) == 0); +assert(NativeMath.clz32(+0.0) == 32); +assert(NativeMath.clz32(+1.0) == 31); +assert(NativeMath.clz32(-1.0) == 0); +assert(NativeMath.clz32(-128.0) == 0); +assert(NativeMath.clz32(4294967295.0) == 0); assert(NativeMath.clz32(4294967295.5) == 0); -assert(NativeMath.clz32(4294967296) == 32); -assert(NativeMath.clz32(4294967297) == 31); +assert(NativeMath.clz32(4294967296.0) == 32); +assert(NativeMath.clz32(4294967297.0) == 31); assert(NativeMath.clz32(NaN) == 32); assert(NativeMath.clz32(Infinity) == 32); -assert(NativeMath.clz32(f64.MAX_SAFE_INTEGER) == 0); +assert(NativeMath.clz32(+f64.MAX_SAFE_INTEGER) == 0); assert(NativeMath.clz32(-f64.MAX_SAFE_INTEGER) == 31); -assert(NativeMath.clz32(f64.MAX_VALUE) == 32); -assert(NativeMath.clz32(f64.MIN_VALUE) == 32); +assert(NativeMath.clz32(+f64.MAX_VALUE) == 32); +assert(NativeMath.clz32(+f64.MIN_VALUE) == 32); assert(NativeMath.clz32(-f64.MAX_VALUE) == 32); -assert(NativeMath.clz32(f64.EPSILON) == 32); +assert(NativeMath.clz32(+f64.EPSILON) == 32); // ipow64 ///////////////////////////////////////////////////////////////////////////////////// diff --git a/tests/compiler/std/mod.debug.wat b/tests/compiler/std/mod.debug.wat index 4c91d5b5b2..23cce3a3d9 100644 --- a/tests/compiler/std/mod.debug.wat +++ b/tests/compiler/std/mod.debug.wat @@ -20,7 +20,7 @@ (export "mod" (func $std/mod/mod)) (export "memory" (memory $0)) (start $~start) - (func $~lib/math/NativeMath.mod (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/mod64 (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -308,7 +308,7 @@ (func $std/mod/test_fmod (param $0 f64) (param $1 f64) (param $2 f64) (result i32) local.get $0 local.get $1 - call $~lib/math/NativeMath.mod + call $~lib/util/math/mod64 local.get $2 call $std/mod/check if (result i32) @@ -321,7 +321,7 @@ i32.const 0 end ) - (func $~lib/math/NativeMathf.mod (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/mod32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -603,7 +603,7 @@ (func $std/mod/test_fmodf (param $0 f32) (param $1 f32) (param $2 f32) (result i32) local.get $0 local.get $1 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 local.get $2 call $std/mod/check ) diff --git a/tests/compiler/std/mod.release.wat b/tests/compiler/std/mod.release.wat index 02aa0af7af..e54da83efe 100644 --- a/tests/compiler/std/mod.release.wat +++ b/tests/compiler/std/mod.release.wat @@ -21,7 +21,7 @@ (local $8 i64) (local $9 i64) block $__inlined_func$std/mod/check (result i32) - block $__inlined_func$~lib/math/NativeMath.mod (result f64) + block $__inlined_func$~lib/util/math/mod64 (result f64) local.get $0 local.get $0 f64.trunc @@ -32,7 +32,7 @@ f64.abs f64.const 1 f64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $1 i64.reinterpret_f64 @@ -69,7 +69,7 @@ local.tee $4 local.get $4 f64.div - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/util/math/mod64 end local.get $7 i64.const 1 @@ -84,7 +84,7 @@ i64.ne f64.convert_i32_u f64.mul - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/util/math/mod64 end local.get $9 i64.eqz @@ -145,7 +145,7 @@ local.get $3 local.get $5 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $3 local.get $5 @@ -173,7 +173,7 @@ local.get $3 local.get $5 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $3 local.get $5 @@ -280,7 +280,7 @@ (local $7 i32) (local $8 i32) block $__inlined_func$std/mod/check (result i32) - block $__inlined_func$~lib/math/NativeMathf.mod (result f32) + block $__inlined_func$~lib/util/math/mod32 (result f32) local.get $0 local.get $0 f32.trunc @@ -291,7 +291,7 @@ f32.abs f32.const 1 f32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/util/math/mod32 drop local.get $1 i32.reinterpret_f32 @@ -329,7 +329,7 @@ local.tee $0 local.get $0 f32.div - br $__inlined_func$~lib/math/NativeMathf.mod + br $__inlined_func$~lib/util/math/mod32 end local.get $6 i32.const 1 @@ -344,7 +344,7 @@ i32.ne f32.convert_i32_u f32.mul - br $__inlined_func$~lib/math/NativeMathf.mod + br $__inlined_func$~lib/util/math/mod32 end local.get $8 if (result i32) @@ -403,7 +403,7 @@ local.get $3 local.get $4 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/util/math/mod32 drop local.get $3 local.get $4 @@ -431,7 +431,7 @@ local.get $3 local.get $4 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/util/math/mod32 drop local.get $3 local.get $4 diff --git a/tests/compiler/std/operator-overloading.debug.wat b/tests/compiler/std/operator-overloading.debug.wat index 501886b768..4a0d2a22d7 100644 --- a/tests/compiler/std/operator-overloading.debug.wat +++ b/tests/compiler/std/operator-overloading.debug.wat @@ -2262,7 +2262,7 @@ i32.rem_s call $std/operator-overloading/Tester#constructor ) - (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/math/ipow32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2487,12 +2487,12 @@ i32.load local.get $1 i32.load - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 local.get $0 i32.load offset=4 local.get $1 i32.load offset=4 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 call $std/operator-overloading/Tester#constructor ) (func $std/operator-overloading/Tester.and (param $0 i32) (param $1 i32) (result i32) diff --git a/tests/compiler/std/operator-overloading.release.wat b/tests/compiler/std/operator-overloading.release.wat index 1e748d4c25..d2a3a102f6 100644 --- a/tests/compiler/std/operator-overloading.release.wat +++ b/tests/compiler/std/operator-overloading.release.wat @@ -1288,7 +1288,7 @@ i64.store align=1 local.get $0 ) - (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/math/ipow32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) i32.const 1 local.set $2 @@ -2194,12 +2194,12 @@ i32.load local.get $0 i32.load - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 local.get $1 i32.load offset=4 local.get $0 i32.load offset=4 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/p global.get $std/operator-overloading/p diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index 6f811c67a5..e19cc4eeb3 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -4368,7 +4368,7 @@ local.get $1 call $~lib/util/string/strtol ) - (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/math/ipow32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4587,7 +4587,7 @@ end local.get $2 ) - (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) + (func $~lib/util/math/scalbn64 (param $0 f64) (param $1 i32) (result f64) (local $2 f64) (local $3 i32) (local $4 i32) @@ -5393,7 +5393,7 @@ i32.const 0 local.get $12 i32.sub - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i64.extend_i32_s local.set $23 local.get $19 @@ -5432,7 +5432,7 @@ f64.convert_i64_u local.get $20 i32.wrap_i64 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 br $~lib/util/string/scientific|inlined.0 else local.get $17 @@ -5530,7 +5530,7 @@ local.set $20 i32.const 5 local.get $13 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 local.set $15 local.get $20 i64.const 4294967295 @@ -5593,7 +5593,7 @@ f64.convert_i64_u local.get $24 i32.wrap_i64 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 br $~lib/util/string/scientific|inlined.0 end unreachable @@ -11089,21 +11089,36 @@ call $~lib/builtins/abort unreachable end - i32.const 2704 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 0 - call $~lib/string/parseInt - local.set $2 - local.get $2 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + i32.const 2704 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 0 + call $~lib/string/parseInt + local.set $2 + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $2 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end i32.const 0 i32.ne i32.eqz diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 34f0af40e5..5eb6b17bd7 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -3695,7 +3695,7 @@ local.get $5 i64.mul ) - (func $~lib/math/ipow32 (param $0 i32) (result i32) + (func $~lib/util/math/ipow32 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 5 @@ -3849,7 +3849,7 @@ end local.get $2 ) - (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) + (func $~lib/util/math/scalbn64 (param $0 f64) (param $1 i32) (result f64) local.get $1 i32.const 1023 i32.gt_s @@ -4566,7 +4566,7 @@ i32.const 0 local.get $1 i32.sub - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i64.extend_i32_s local.tee $13 i64.div_u @@ -4596,7 +4596,7 @@ local.get $12 i64.sub i32.wrap_i64 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 else local.get $6 local.get $6 @@ -4668,7 +4668,7 @@ end end local.get $3 - call $~lib/math/ipow32 + call $~lib/util/math/ipow32 i64.extend_i32_u local.tee $8 local.get $6 @@ -4718,7 +4718,7 @@ f64.convert_i64_u global.get $~lib/util/string/__fixmulShift i32.wrap_i64 - call $~lib/math/NativeMath.scalbn + call $~lib/util/math/scalbn64 end end local.set $9 diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 103567e5ee..ede1714870 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -10626,7 +10626,7 @@ i64.const 2 i64.eq ) - (func $~lib/math/NativeMathf.mod (param $0 f32) (param $1 f32) (result f32) + (func $~lib/util/math/mod32 (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10880,7 +10880,7 @@ (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 - call $~lib/math/NativeMathf.mod + call $~lib/util/math/mod32 f32.const 0 f32.eq ) @@ -10946,7 +10946,7 @@ f32.const 2 f32.eq ) - (func $~lib/math/NativeMath.mod (param $0 f64) (param $1 f64) (result f64) + (func $~lib/util/math/mod64 (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -11206,7 +11206,7 @@ (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 - call $~lib/math/NativeMath.mod + call $~lib/util/math/mod64 f64.const 0 f64.eq ) diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 8dfa871504..603387c8e3 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -4976,7 +4976,7 @@ (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - block $__inlined_func$~lib/math/NativeMathf.mod (result f32) + block $__inlined_func$~lib/util/math/mod32 (result f32) local.get $0 i32.reinterpret_f32 local.tee $3 @@ -4994,7 +4994,7 @@ local.tee $0 local.get $0 f32.div - br $__inlined_func$~lib/math/NativeMathf.mod + br $__inlined_func$~lib/util/math/mod32 end local.get $3 i32.const 1 @@ -5009,7 +5009,7 @@ i32.ne f32.convert_i32_u f32.mul - br $__inlined_func$~lib/math/NativeMathf.mod + br $__inlined_func$~lib/util/math/mod32 end local.get $2 if (result i32) @@ -5047,7 +5047,7 @@ local.get $1 i32.const 8388608 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/util/math/mod32 drop local.get $1 i32.const 8388608 @@ -5075,7 +5075,7 @@ local.get $1 i32.const 8388608 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/util/math/mod32 drop local.get $1 i32.const 8388608 @@ -5123,7 +5123,7 @@ (local $4 i64) (local $5 i64) (local $6 i64) - block $__inlined_func$~lib/math/NativeMath.mod (result f64) + block $__inlined_func$~lib/util/math/mod64 (result f64) local.get $0 i64.reinterpret_f64 local.tee $5 @@ -5141,7 +5141,7 @@ local.tee $0 local.get $0 f64.div - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/util/math/mod64 end local.get $5 i64.const 1 @@ -5156,7 +5156,7 @@ i64.ne f64.convert_i32_u f64.mul - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/util/math/mod64 end local.get $4 i64.eqz @@ -5195,7 +5195,7 @@ local.get $3 i64.const 4503599627370496 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $3 i64.const 4503599627370496 @@ -5223,7 +5223,7 @@ local.get $3 i64.const 4503599627370496 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/util/math/mod64 drop local.get $3 i64.const 4503599627370496 diff --git a/tests/compiler/wasi/seed.debug.wat b/tests/compiler/wasi/seed.debug.wat index 2febc472fd..c123f9a68a 100644 --- a/tests/compiler/wasi/seed.debug.wat +++ b/tests/compiler/wasi/seed.debug.wat @@ -2,7 +2,6 @@ (type $none_=>_f64 (func (result f64))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i64_=>_i64 (func (param i64) (result i64))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i64_=>_none (func (param i64))) (type $none_=>_none (func)) (import "wasi_snapshot_preview1" "random_get" (func $~lib/bindings/wasi_snapshot_preview1/random_get (param i32 i32) (result i32))) @@ -10,8 +9,6 @@ (global $~lib/bindings/wasi/tempbuf i32 (i32.const 16)) (global $~lib/math/random_state0_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) - (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) - (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) (global $~lib/memory/__data_end i32 (i32.const 32)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 16416)) (global $~lib/memory/__heap_base i32 (i32.const 16416)) @@ -41,7 +38,7 @@ local.get $0 f64.reinterpret_i64 ) - (func $~lib/math/murmurHash3 (param $0 i64) (result i64) + (func $~lib/util/math/murmurHash3 (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -70,41 +67,6 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (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 (param $0 i64) local.get $0 i64.const 0 @@ -114,20 +76,13 @@ local.set $0 end local.get $0 - call $~lib/math/murmurHash3 + call $~lib/util/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 + call $~lib/util/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 i32.const 1 global.set $~lib/math/random_seeded ) diff --git a/tests/compiler/wasi/seed.release.wat b/tests/compiler/wasi/seed.release.wat index d460121069..b584fb05ad 100644 --- a/tests/compiler/wasi/seed.release.wat +++ b/tests/compiler/wasi/seed.release.wat @@ -40,39 +40,39 @@ i64.const -49064778989728563 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor global.set $~lib/math/random_state0_64 global.get $~lib/math/random_state0_64 i64.const -1 i64.xor local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor i64.const -49064778989728563 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor i64.const -4265267296055464877 i64.mul local.tee $0 + local.get $0 i64.const 33 i64.shr_u - local.get $0 i64.xor global.set $~lib/math/random_state1_64 i32.const 1 @@ -90,9 +90,9 @@ i64.shl i64.xor local.tee $1 + local.get $1 i64.const 17 i64.shr_u - local.get $1 i64.xor i64.xor local.get $0