See the browser console!
diff --git a/examples/transform/README.md b/examples/transform/README.md deleted file mode 100644 index 52c7931349..0000000000 --- a/examples/transform/README.md +++ /dev/null @@ -1,8 +0,0 @@ -Compiler transform examples -=========================== - -Both transforms written in JS and transforms written in TS can be used, with the -latter requiring that the ts-node package is present. - -* [Example JavaScript transform](./mytransform.js) -* [Example TypeScript transform](./mytransform.ts) diff --git a/examples/transform/assembly/index.ts b/examples/transform/assembly/index.ts deleted file mode 100644 index 8b1a393741..0000000000 --- a/examples/transform/assembly/index.ts +++ /dev/null @@ -1 +0,0 @@ -// empty diff --git a/examples/transform/mytransform.js b/examples/transform/mytransform.js deleted file mode 100644 index e903ec0626..0000000000 --- a/examples/transform/mytransform.js +++ /dev/null @@ -1,18 +0,0 @@ -const { Transform } = require("../../cli/transform"); // "assemblyscript/cli/transform" -const { SourceKind } = require("../.."); // "assemblyscript" -const binaryen = require("binaryen"); - -class MyTransform extends Transform { - afterParse(parser) { - this.log("[mytransform.js] afterParse called, baseDir = " + this.baseDir); - var sources = parser.program.sources; - sources.forEach(source => this.log(" " + source.internalPath + " [" + SourceKind[source.sourceKind] + "]")); - } - afterCompile(asModule) { - this.log("[mytransform.js] afterCompile called"); - var module = binaryen.wrapModule(asModule.ref); - this.log(module.emitBinary()); - } -} - -module.exports = MyTransform; diff --git a/examples/transform/mytransform.ts b/examples/transform/mytransform.ts deleted file mode 100644 index 18fd7e36be..0000000000 --- a/examples/transform/mytransform.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Transform } from "../../cli/transform"; // "assemblyscript/cli/transform" -import { Parser, Module, SourceKind } from "../.."; // "assemblyscript" -import * as binaryen from "binaryen"; - -class MyTransform extends Transform { - afterParse(parser: Parser): void { - this.log("[mytransform.ts] afterParse called, baseDir = " + this.baseDir); - var sources = parser.program.sources; - sources.forEach(source => this.log(" " + source.internalPath + " [" + SourceKind[source.sourceKind] + "]")); - } - afterCompile(asModule: Module): void { - this.log("[mytransform.ts] afterCompile called"); - var module = binaryen.wrapModule(asModule.ref); - this.log(module.emitBinary()); - } -} - -export = MyTransform; diff --git a/examples/transform/package.json b/examples/transform/package.json deleted file mode 100644 index 0c0d875507..0000000000 --- a/examples/transform/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "scripts": { - "test:js": "asc assembly/index.ts --runtime none --transform mytransform.js", - "test:ts": "asc assembly/index.ts --runtime none --transform mytransform.ts", - "test:multi": "asc assembly/index.ts --runtime none --transform mytransform.js --transform mytransform.ts", - "test": "npm run test:js && npm run test:ts && npm run test:multi" - } -} diff --git a/lib/i64/README.md b/lib/i64/README.md deleted file mode 100644 index 23c41df6cd..0000000000 --- a/lib/i64/README.md +++ /dev/null @@ -1,131 +0,0 @@ -#  i64 - -Exposes WebAssembly's i64 operations to JavaScript using 32-bit integers (low and high bits). - -Usage ------ - -``` -$> npm install @assemblyscript/i64 -``` - -```ts -import * as i64 from "@assemblyscript/i64"; - -i64.div(10, 0, 2, 0); - -console.log("result: lo=" + i64.getLo() + ", hi=" + i64.getHi()); -``` - -API ---- - -**Note** that `u32` is just an alias of `number` in JavaScript with values in 32-bit integer range. - -* **getLo**(): `u32`O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe| \f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04` \c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 4104) "\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 5128) "\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m )\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98 \e90.\90\80\91\bc") - (table $0 1 funcref) - (global $../../examples/mandelbrot/assembly/index/NUM_COLORS i32 (i32.const 2048)) - (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (export "memory" (memory $0)) - (export "computeLine" (func $../../examples/mandelbrot/assembly/index/computeLine)) - (func $~lib/math/NativeMath.log (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i64) - (local $16 i64) - (local $17 f64) - (local $18 f64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/log_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 4606619468846596096 - i64.sub - i64.const 4607473789381378048 - i64.const 4606619468846596096 - i64.sub - i64.lt_u - if - local.get $1 - f64.const 1 - f64.sub - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $3 - f64.mul - local.set $5 - local.get $5 - f64.const 0.3333333333333352 - local.get $3 - f64.const -0.24999999999998432 - f64.mul - f64.add - local.get $4 - f64.const 0.19999999999320328 - f64.mul - f64.add - local.get $5 - f64.const -0.16666666669929706 - local.get $3 - f64.const 0.14285715076560868 - f64.mul - f64.add - local.get $4 - f64.const -0.12499997863982555 - f64.mul - f64.add - local.get $5 - f64.const 0.11110712032936046 - local.get $3 - f64.const -0.10000486757818193 - f64.mul - f64.add - local.get $4 - f64.const 0.09181994006195467 - f64.mul - f64.add - local.get $5 - f64.const -0.08328363062289341 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $6 - local.get $3 - f64.const 134217728 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.add - local.get $7 - f64.sub - local.set $8 - local.get $3 - local.get $8 - f64.sub - local.set $9 - local.get $8 - local.get $8 - f64.mul - f64.const -0.5 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.add - local.set $10 - local.get $3 - local.get $10 - f64.sub - local.get $7 - f64.add - local.set $11 - local.get $11 - f64.const -0.5 - local.get $9 - f64.mul - local.get $8 - local.get $3 - f64.add - f64.mul - f64.add - local.set $11 - local.get $6 - local.get $11 - f64.add - local.get $10 - f64.add - br $~lib/util/math/log_lut|inlined.0 - end - local.get $2 - i64.const 48 - i64.shr_u - i32.wrap_i64 - local.set $12 - local.get $12 - i32.const 16 - i32.sub - i32.const 32752 - i32.const 16 - i32.sub - i32.ge_u - if - local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $1 - local.get $1 - f64.mul - f64.div - br $~lib/util/math/log_lut|inlined.0 - end - local.get $2 - f64.const inf - i64.reinterpret_f64 - i64.eq - if - local.get $1 - br $~lib/util/math/log_lut|inlined.0 - end - local.get $12 - i32.const 32768 - i32.and - if (result i32) - i32.const 1 - else - local.get $12 - i32.const 32752 - i32.and - i32.const 32752 - i32.eq - end - if - local.get $1 - local.get $1 - f64.sub - local.get $1 - local.get $1 - f64.sub - f64.div - br $~lib/util/math/log_lut|inlined.0 - end - local.get $1 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $2 - end - local.get $2 - i64.const 4604367669032910848 - i64.sub - local.set $13 - local.get $13 - i64.const 52 - i64.const 7 - i64.sub - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - local.set $14 - local.get $13 - i64.const 52 - i64.shr_s - local.set $15 - local.get $2 - local.get $13 - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $16 - i32.const 8 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $11 - i32.const 8 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $10 - local.get $16 - f64.reinterpret_i64 - local.set $9 - i32.const 2056 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $8 - i32.const 2056 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $7 - local.get $9 - local.get $8 - f64.sub - local.get $7 - f64.sub - local.get $11 - f64.mul - local.set $6 - local.get $15 - f64.convert_i64_s - local.set $5 - local.get $5 - f64.const 0.6931471805598903 - f64.mul - local.get $10 - f64.add - local.set $4 - local.get $4 - local.get $6 - f64.add - local.set $3 - local.get $4 - local.get $3 - f64.sub - local.get $6 - f64.add - local.get $5 - f64.const 5.497923018708371e-14 - f64.mul - f64.add - local.set $17 - local.get $6 - local.get $6 - f64.mul - local.set $18 - local.get $17 - local.get $18 - f64.const -0.5000000000000001 - f64.mul - f64.add - local.get $6 - local.get $18 - f64.mul - f64.const 0.33333333331825593 - local.get $6 - f64.const -0.2499999999622955 - f64.mul - f64.add - local.get $18 - f64.const 0.20000304511814496 - local.get $6 - f64.const -0.16667054827627667 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - f64.add - end - return - ) - (func $~lib/math/NativeMath.log2 (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i64) - (local $16 i64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - (local $22 f64) - (local $23 f64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/log2_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 4606800540372828160 - i64.sub - i64.const 4607381812656734208 - i64.const 4606800540372828160 - i64.sub - i64.lt_u - if - local.get $1 - f64.const 1 - f64.sub - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $4 - local.get $3 - local.get $4 - f64.sub - local.set $5 - local.get $4 - f64.const 1.4426950407214463 - f64.mul - local.set $6 - local.get $5 - f64.const 1.4426950407214463 - f64.mul - local.get $3 - f64.const 1.6751713164886512e-10 - f64.mul - f64.add - local.set $7 - local.get $3 - local.get $3 - f64.mul - local.set $8 - local.get $8 - local.get $8 - f64.mul - local.set $9 - local.get $8 - f64.const -0.7213475204444817 - local.get $3 - f64.const 0.48089834696298744 - f64.mul - f64.add - f64.mul - local.set $10 - local.get $6 - local.get $10 - f64.add - local.set $11 - local.get $7 - local.get $6 - local.get $11 - f64.sub - local.get $10 - f64.add - f64.add - local.set $7 - local.get $7 - local.get $9 - f64.const -0.360673760222145 - local.get $3 - f64.const 0.2885390081805197 - f64.mul - f64.add - local.get $8 - f64.const -0.24044917405728863 - local.get $3 - f64.const 0.2060992861022954 - f64.mul - f64.add - f64.mul - f64.add - local.get $9 - f64.const -0.18033596705327856 - local.get $3 - f64.const 0.1603032746063156 - f64.mul - f64.add - local.get $8 - f64.const -0.14483316576701266 - local.get $3 - f64.const 0.13046826811283835 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $7 - local.get $11 - local.get $7 - f64.add - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $2 - i64.const 48 - i64.shr_u - i32.wrap_i64 - local.set $12 - local.get $12 - i32.const 16 - i32.sub - i32.const 32752 - i32.const 16 - i32.sub - i32.ge_u - if - local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $1 - local.get $1 - f64.mul - f64.div - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $2 - i64.const 9218868437227405312 - i64.eq - if - local.get $1 - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $12 - i32.const 32768 - i32.and - if (result i32) - i32.const 1 - else - local.get $12 - i32.const 32752 - i32.and - i32.const 32752 - i32.eq - end - if - local.get $1 - local.get $1 - f64.sub - local.get $1 - local.get $1 - f64.sub - f64.div - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $1 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $2 - end - local.get $2 - i64.const 4604367669032910848 - i64.sub - local.set $13 - local.get $13 - i64.const 52 - i64.const 6 - i64.sub - i64.shr_u - i64.const 63 - i64.and - i32.wrap_i64 - local.set $14 - local.get $13 - i64.const 52 - i64.shr_s - local.set $15 - local.get $2 - local.get $13 - i64.const -4503599627370496 - i64.and - i64.sub - local.set $16 - i32.const 4104 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $11 - i32.const 4104 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $10 - local.get $16 - f64.reinterpret_i64 - local.set $9 - local.get $15 - f64.convert_i64_s - local.set $8 - i32.const 5128 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $7 - i32.const 5128 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $6 - local.get $9 - local.get $7 - f64.sub - local.get $6 - f64.sub - local.get $11 - f64.mul - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $4 - local.get $5 - local.get $4 - f64.sub - local.set $3 - local.get $4 - f64.const 1.4426950407214463 - f64.mul - local.set $17 - local.get $3 - f64.const 1.4426950407214463 - f64.mul - local.get $5 - f64.const 1.6751713164886512e-10 - f64.mul - f64.add - local.set $18 - local.get $8 - local.get $10 - f64.add - local.set $19 - local.get $19 - local.get $17 - f64.add - local.set $20 - local.get $19 - local.get $20 - f64.sub - local.get $17 - f64.add - local.get $18 - f64.add - local.set $21 - local.get $5 - local.get $5 - f64.mul - local.set $22 - f64.const -0.7213475204444882 - local.get $5 - f64.const 0.4808983469629985 - f64.mul - f64.add - local.get $22 - f64.const -0.36067375954075914 - local.get $5 - f64.const 0.2885390073180969 - f64.mul - f64.add - f64.mul - f64.add - local.get $22 - local.get $22 - f64.mul - f64.const -0.2404693555628422 - local.get $5 - f64.const 0.2061202382173603 - f64.mul - f64.add - f64.mul - f64.add - local.set $23 - local.get $21 - local.get $22 - local.get $23 - f64.mul - f64.add - local.get $20 - f64.add - end - return - ) - (func $../../examples/mandelbrot/assembly/index/computeLine (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 i32) - (local $12 f64) - (local $13 i32) - (local $14 f64) - (local $15 f64) - (local $16 f64) - (local $17 f64) - (local $18 f64) - (local $19 i32) - (local $20 i32) - (local $21 f64) - (local $22 f64) - (local $23 f64) - (local $24 f64) - (local $25 f64) - (local $26 f64) - local.get $1 - f64.convert_i32_u - f64.const 1 - f64.const 1.6 - f64.div - f64.mul - local.set $4 - local.get $2 - f64.convert_i32_u - f64.const 1 - f64.const 2 - f64.div - f64.mul - local.set $5 - f64.const 10 - i32.const 3 - local.get $1 - i32.mul - local.tee $6 - i32.const 4 - local.get $2 - i32.mul - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - f64.convert_i32_s - f64.div - local.set $8 - local.get $0 - f64.convert_i32_u - local.get $5 - f64.sub - local.get $8 - f64.mul - local.set $9 - local.get $4 - local.get $8 - f64.mul - local.set $10 - local.get $0 - local.get $1 - i32.mul - i32.const 1 - i32.shl - local.set $11 - f64.const 1 - local.get $3 - f64.convert_i32_u - f64.div - local.set $12 - i32.const 8 - local.tee $6 - local.get $3 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_u - select - local.set $13 - i32.const 0 - local.set $6 - loop $for-loop|0 - local.get $6 - local.get $1 - i32.lt_u - local.set $7 - local.get $7 - if - local.get $6 - f64.convert_i32_u - local.get $8 - f64.mul - local.get $10 - f64.sub - local.set $14 - f64.const 0 - local.set $15 - f64.const 0 - local.set $16 - i32.const 0 - local.set $19 - block $while-break|1 - loop $while-continue|1 - local.get $15 - local.get $15 - f64.mul - local.tee $17 - local.get $16 - local.get $16 - f64.mul - local.tee $18 - f64.add - f64.const 4 - f64.le - local.set $20 - local.get $20 - if - f64.const 2 - local.get $15 - f64.mul - local.get $16 - f64.mul - local.get $9 - f64.add - local.set $16 - local.get $17 - local.get $18 - f64.sub - local.get $14 - f64.add - local.set $15 - local.get $19 - local.get $3 - i32.ge_u - if - br $while-break|1 - end - local.get $19 - i32.const 1 - i32.add - local.set $19 - br $while-continue|1 - end - end - end - loop $while-continue|2 - local.get $19 - local.get $13 - i32.lt_u - local.set $20 - local.get $20 - if - local.get $15 - local.get $15 - f64.mul - local.get $16 - local.get $16 - f64.mul - f64.sub - local.get $14 - f64.add - local.set $21 - f64.const 2 - local.get $15 - f64.mul - local.get $16 - f64.mul - local.get $9 - f64.add - local.set $16 - local.get $21 - local.set $15 - local.get $19 - i32.const 1 - i32.add - local.set $19 - br $while-continue|2 - end - end - global.get $../../examples/mandelbrot/assembly/index/NUM_COLORS - i32.const 1 - i32.sub - local.set $20 - local.get $15 - local.get $15 - f64.mul - local.get $16 - local.get $16 - f64.mul - f64.add - local.set $22 - local.get $22 - f64.const 1 - f64.gt - if - f64.const 0.5 - local.get $22 - call $~lib/math/NativeMath.log - f64.mul - call $~lib/math/NativeMath.log2 - local.set $23 - global.get $../../examples/mandelbrot/assembly/index/NUM_COLORS - i32.const 1 - i32.sub - f64.convert_i32_s - local.get $19 - i32.const 1 - i32.add - f64.convert_i32_u - local.get $23 - f64.sub - local.get $12 - f64.mul - local.set $26 - f64.const 0 - local.set $25 - f64.const 1 - local.set $24 - local.get $26 - local.get $25 - f64.max - local.get $24 - f64.min - f64.mul - i32.trunc_f64_u - local.set $20 - end - local.get $11 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $20 - i32.store16 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - ) -) diff --git a/tests/compiler/std/libm.json b/tests/compiler/std/libm.json deleted file mode 100644 index b1da366ff4..0000000000 --- a/tests/compiler/std/libm.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "asc_flags": [ - "--runtime none" - ] -} \ No newline at end of file diff --git a/tests/compiler/std/libm.optimized.wat b/tests/compiler/std/libm.optimized.wat deleted file mode 100644 index 6abf8d14b3..0000000000 --- a/tests/compiler/std/libm.optimized.wat +++ /dev/null @@ -1,8713 +0,0 @@ -(module - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) - (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) - (memory $0 1) - (data (i32.const 1024) "n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 1216) ")\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (global $../../lib/libm/assembly/libm/E f64 (f64.const 2.718281828459045)) - (global $../../lib/libm/assembly/libm/LN10 f64 (f64.const 2.302585092994046)) - (global $../../lib/libm/assembly/libm/LN2 f64 (f64.const 0.6931471805599453)) - (global $../../lib/libm/assembly/libm/LOG10E f64 (f64.const 0.4342944819032518)) - (global $../../lib/libm/assembly/libm/LOG2E f64 (f64.const 1.4426950408889634)) - (global $../../lib/libm/assembly/libm/PI f64 (f64.const 3.141592653589793)) - (global $../../lib/libm/assembly/libm/SQRT1_2 f64 (f64.const 0.7071067811865476)) - (global $../../lib/libm/assembly/libm/SQRT2 f64 (f64.const 1.4142135623730951)) - (global $../../lib/libm/assembly/libmf/E f32 (f32.const 2.7182817459106445)) - (global $../../lib/libm/assembly/libmf/LN10 f32 (f32.const 2.3025851249694824)) - (global $../../lib/libm/assembly/libmf/LN2 f32 (f32.const 0.6931471824645996)) - (global $../../lib/libm/assembly/libmf/LOG10E f32 (f32.const 0.4342944920063019)) - (global $../../lib/libm/assembly/libmf/LOG2E f32 (f32.const 1.4426950216293335)) - (global $../../lib/libm/assembly/libmf/PI f32 (f32.const 3.1415927410125732)) - (global $../../lib/libm/assembly/libmf/SQRT1_2 f32 (f32.const 0.7071067690849304)) - (global $../../lib/libm/assembly/libmf/SQRT2 f32 (f32.const 1.4142135381698608)) - (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)) - (export "memory" (memory $0)) - (export "libm.E" (global $../../lib/libm/assembly/libm/E)) - (export "libm.LN10" (global $../../lib/libm/assembly/libm/LN10)) - (export "libm.LN2" (global $../../lib/libm/assembly/libm/LN2)) - (export "libm.LOG10E" (global $../../lib/libm/assembly/libm/LOG10E)) - (export "libm.LOG2E" (global $../../lib/libm/assembly/libm/LOG2E)) - (export "libm.PI" (global $../../lib/libm/assembly/libm/PI)) - (export "libm.SQRT1_2" (global $../../lib/libm/assembly/libm/SQRT1_2)) - (export "libm.SQRT2" (global $../../lib/libm/assembly/libm/SQRT2)) - (export "libm.abs" (func $../../lib/libm/assembly/libm/abs)) - (export "libm.acos" (func $../../lib/libm/assembly/libm/acos)) - (export "libm.acosh" (func $../../lib/libm/assembly/libm/acosh)) - (export "libm.asin" (func $../../lib/libm/assembly/libm/asin)) - (export "libm.asinh" (func $../../lib/libm/assembly/libm/asinh)) - (export "libm.atan" (func $../../lib/libm/assembly/libm/atan)) - (export "libm.atanh" (func $../../lib/libm/assembly/libm/atanh)) - (export "libm.atan2" (func $../../lib/libm/assembly/libm/atan2)) - (export "libm.cbrt" (func $../../lib/libm/assembly/libm/cbrt)) - (export "libm.ceil" (func $../../lib/libm/assembly/libm/ceil)) - (export "libm.clz32" (func $../../lib/libm/assembly/libm/clz32)) - (export "libm.cos" (func $../../lib/libm/assembly/libm/cos)) - (export "libm.cosh" (func $../../lib/libm/assembly/libm/cosh)) - (export "libm.exp" (func $../../lib/libm/assembly/libm/exp)) - (export "libm.expm1" (func $../../lib/libm/assembly/libm/expm1)) - (export "libm.floor" (func $../../lib/libm/assembly/libm/floor)) - (export "libm.fround" (func $../../lib/libm/assembly/libm/fround)) - (export "libm.hypot" (func $../../lib/libm/assembly/libm/hypot)) - (export "libm.imul" (func $../../lib/libm/assembly/libm/imul)) - (export "libm.log" (func $../../lib/libm/assembly/libm/log)) - (export "libm.log10" (func $../../lib/libm/assembly/libm/log10)) - (export "libm.log1p" (func $../../lib/libm/assembly/libm/log1p)) - (export "libm.log2" (func $../../lib/libm/assembly/libm/log2)) - (export "libm.max" (func $../../lib/libm/assembly/libm/max)) - (export "libm.min" (func $../../lib/libm/assembly/libm/min)) - (export "libm.pow" (func $../../lib/libm/assembly/libm/pow)) - (export "libm.round" (func $../../lib/libm/assembly/libm/round)) - (export "libm.sign" (func $../../lib/libm/assembly/libm/sign)) - (export "libm.sin" (func $../../lib/libm/assembly/libm/sin)) - (export "libm.sinh" (func $../../lib/libm/assembly/libm/sinh)) - (export "libm.sqrt" (func $../../lib/libm/assembly/libm/sqrt)) - (export "libm.tan" (func $../../lib/libm/assembly/libm/tan)) - (export "libm.tanh" (func $../../lib/libm/assembly/libm/tanh)) - (export "libm.trunc" (func $../../lib/libm/assembly/libm/trunc)) - (export "libmf.E" (global $../../lib/libm/assembly/libmf/E)) - (export "libmf.LN10" (global $../../lib/libm/assembly/libmf/LN10)) - (export "libmf.LN2" (global $../../lib/libm/assembly/libmf/LN2)) - (export "libmf.LOG10E" (global $../../lib/libm/assembly/libmf/LOG10E)) - (export "libmf.LOG2E" (global $../../lib/libm/assembly/libmf/LOG2E)) - (export "libmf.PI" (global $../../lib/libm/assembly/libmf/PI)) - (export "libmf.SQRT1_2" (global $../../lib/libm/assembly/libmf/SQRT1_2)) - (export "libmf.SQRT2" (global $../../lib/libm/assembly/libmf/SQRT2)) - (export "libmf.abs" (func $../../lib/libm/assembly/libmf/abs)) - (export "libmf.acos" (func $../../lib/libm/assembly/libmf/acos)) - (export "libmf.acosh" (func $../../lib/libm/assembly/libmf/acosh)) - (export "libmf.asin" (func $../../lib/libm/assembly/libmf/asin)) - (export "libmf.asinh" (func $../../lib/libm/assembly/libmf/asinh)) - (export "libmf.atan" (func $../../lib/libm/assembly/libmf/atan)) - (export "libmf.atanh" (func $../../lib/libm/assembly/libmf/atanh)) - (export "libmf.atan2" (func $../../lib/libm/assembly/libmf/atan2)) - (export "libmf.cbrt" (func $../../lib/libm/assembly/libmf/cbrt)) - (export "libmf.ceil" (func $../../lib/libm/assembly/libmf/ceil)) - (export "libmf.clz32" (func $../../lib/libm/assembly/libmf/clz32)) - (export "libmf.cos" (func $../../lib/libm/assembly/libmf/cos)) - (export "libmf.cosh" (func $../../lib/libm/assembly/libmf/cosh)) - (export "libmf.exp" (func $../../lib/libm/assembly/libmf/exp)) - (export "libmf.expm1" (func $../../lib/libm/assembly/libmf/expm1)) - (export "libmf.floor" (func $../../lib/libm/assembly/libmf/floor)) - (export "libmf.fround" (func $../../lib/libm/assembly/libmf/fround)) - (export "libmf.hypot" (func $../../lib/libm/assembly/libmf/hypot)) - (export "libmf.imul" (func $../../lib/libm/assembly/libmf/imul)) - (export "libmf.log" (func $../../lib/libm/assembly/libmf/log)) - (export "libmf.log10" (func $../../lib/libm/assembly/libmf/log10)) - (export "libmf.log1p" (func $../../lib/libm/assembly/libmf/log1p)) - (export "libmf.log2" (func $../../lib/libm/assembly/libmf/log2)) - (export "libmf.max" (func $../../lib/libm/assembly/libmf/max)) - (export "libmf.min" (func $../../lib/libm/assembly/libmf/min)) - (export "libmf.pow" (func $../../lib/libm/assembly/libmf/pow)) - (export "libmf.round" (func $../../lib/libm/assembly/libmf/round)) - (export "libmf.sign" (func $../../lib/libm/assembly/libmf/sign)) - (export "libmf.sin" (func $../../lib/libm/assembly/libmf/sin)) - (export "libmf.sinh" (func $../../lib/libm/assembly/libmf/sinh)) - (export "libmf.sqrt" (func $../../lib/libm/assembly/libmf/sqrt)) - (export "libmf.tan" (func $../../lib/libm/assembly/libmf/tan)) - (export "libmf.tanh" (func $../../lib/libm/assembly/libmf/tanh)) - (export "libmf.trunc" (func $../../lib/libm/assembly/libmf/trunc)) - (func $../../lib/libm/assembly/libm/abs (param $0 f64) (result f64) - local.get $0 - f64.abs - ) - (func $~lib/math/R (param $0 f64) (result f64) - local.get $0 - f64.const 0.16666666666666666 - local.get $0 - f64.const -0.3255658186224009 - local.get $0 - f64.const 0.20121253213486293 - local.get $0 - f64.const -0.04005553450067941 - local.get $0 - f64.const 7.915349942898145e-04 - local.get $0 - f64.const 3.479331075960212e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.const 1 - local.get $0 - f64.const -2.403394911734414 - local.get $0 - f64.const 2.0209457602335057 - local.get $0 - f64.const -0.6882839716054533 - local.get $0 - f64.const 0.07703815055590194 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.div - ) - (func $~lib/math/NativeMath.acos (param $0 f64) (result f64) - (local $1 f64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $3 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1072693248 - i32.ge_u - if - local.get $0 - i64.reinterpret_f64 - i32.wrap_i64 - local.get $2 - i32.const 1072693248 - i32.sub - i32.or - i32.eqz - if - local.get $3 - i32.const 31 - i32.shr_u - if - f64.const 3.141592653589793 - return - end - f64.const 0 - return - end - f64.const 0 - local.get $0 - local.get $0 - f64.sub - f64.div - return - end - local.get $2 - i32.const 1071644672 - i32.lt_u - if - local.get $2 - i32.const 1012924416 - i32.le_u - if - f64.const 1.5707963267948966 - return - end - f64.const 1.5707963267948966 - local.get $0 - f64.const 6.123233995736766e-17 - local.get $0 - local.get $0 - local.get $0 - f64.mul - call $~lib/math/R - f64.mul - f64.sub - f64.sub - f64.sub - return - end - local.get $3 - i32.const 31 - i32.shr_u - if - f64.const 2 - f64.const 1.5707963267948966 - f64.const 0.5 - local.get $0 - f64.const 0.5 - f64.mul - f64.add - local.tee $0 - f64.sqrt - local.tee $1 - local.get $0 - call $~lib/math/R - local.get $1 - f64.mul - f64.const 6.123233995736766e-17 - f64.sub - f64.add - f64.sub - f64.mul - return - end - f64.const 2 - f64.const 0.5 - local.get $0 - f64.const 0.5 - f64.mul - f64.sub - local.tee $1 - f64.sqrt - local.tee $4 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - local.get $1 - call $~lib/math/R - local.get $4 - f64.mul - local.get $1 - local.get $0 - local.get $0 - f64.mul - f64.sub - local.get $4 - local.get $0 - f64.add - f64.div - f64.add - f64.add - f64.mul - ) - (func $../../lib/libm/assembly/libm/acos (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.acos - ) - (func $~lib/math/NativeMath.log1p (param $0 f64) (result f64) - (local $1 f64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 i64) - (local $6 f64) - (local $7 f64) - i32.const 1 - local.set $3 - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $2 - i32.const 1071284858 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 31 - i32.shr_u - end - if - local.get $2 - i32.const -1074790400 - i32.ge_u - if - local.get $0 - f64.const -1 - f64.eq - if - local.get $0 - f64.const 0 - f64.div - return - end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - local.get $2 - i32.const 1 - i32.shl - i32.const 2034237440 - i32.lt_u - if - local.get $0 - return - end - local.get $2 - i32.const -1076707644 - i32.le_u - if - i32.const 0 - local.set $3 - local.get $0 - local.set $1 - end - else - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - end - end - local.get $3 - if - f64.const 1 - local.get $0 - f64.add - i64.reinterpret_f64 - local.tee $5 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 614242 - i32.add - local.tee $2 - i32.const 20 - i32.shr_u - i32.const 1023 - i32.sub - local.tee $3 - i32.const 54 - i32.lt_s - if - f64.const 1 - local.get $5 - f64.reinterpret_i64 - local.tee $1 - local.get $0 - f64.sub - f64.sub - local.get $0 - local.get $1 - f64.const 1 - f64.sub - f64.sub - local.get $3 - i32.const 2 - i32.ge_s - select - local.get $1 - f64.div - local.set $6 - end - local.get $5 - i64.const 4294967295 - i64.and - local.get $2 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - f64.const 1 - f64.sub - local.set $1 - end - local.get $1 - f64.const 2 - local.get $1 - f64.add - f64.div - local.tee $4 - local.get $4 - f64.mul - local.tee $7 - local.get $7 - f64.mul - local.set $0 - local.get $4 - f64.const 0.5 - local.get $1 - f64.mul - local.get $1 - f64.mul - local.tee $4 - local.get $7 - f64.const 0.6666666666666735 - local.get $0 - f64.const 0.2857142874366239 - local.get $0 - f64.const 0.1818357216161805 - local.get $0 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - f64.const 0.3999999999940942 - local.get $0 - f64.const 0.22222198432149784 - local.get $0 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.add - f64.mul - local.get $3 - f64.convert_i32_s - local.tee $0 - f64.const 1.9082149292705877e-10 - f64.mul - local.get $6 - f64.add - f64.add - local.get $4 - f64.sub - local.get $1 - f64.add - local.get $0 - f64.const 0.6931471803691238 - f64.mul - f64.add - ) - (func $~lib/math/NativeMath.log (param $0 f64) (result f64) - (local $1 i32) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 i32) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $1 - i32.const 1048576 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $2 - i64.const 1 - i64.shl - i64.eqz - if - f64.const -1 - local.get $0 - local.get $0 - f64.mul - f64.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - i32.const -54 - local.set $5 - local.get $0 - f64.const 18014398509481984 - f64.mul - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - else - local.get $1 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - else - local.get $2 - i64.const 32 - i64.shl - i64.eqz - i32.const 0 - local.get $1 - i32.const 1072693248 - i32.eq - select - if - f64.const 0 - return - end - end - end - local.get $2 - i64.const 4294967295 - i64.and - local.get $1 - i32.const 614242 - i32.add - local.tee $1 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - f64.const 1 - f64.sub - local.tee $3 - f64.const 2 - local.get $3 - f64.add - f64.div - local.tee $4 - local.get $4 - f64.mul - local.set $0 - local.get $4 - f64.const 0.5 - local.get $3 - f64.mul - local.get $3 - f64.mul - local.tee $4 - local.get $0 - f64.const 0.6666666666666735 - local.get $0 - local.get $0 - f64.mul - local.tee $0 - f64.const 0.2857142874366239 - local.get $0 - f64.const 0.1818357216161805 - local.get $0 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - f64.const 0.3999999999940942 - local.get $0 - f64.const 0.22222198432149784 - local.get $0 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.add - f64.mul - local.get $5 - local.get $1 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - i32.add - f64.convert_i32_s - local.tee $0 - f64.const 1.9082149292705877e-10 - f64.mul - f64.add - local.get $4 - f64.sub - local.get $3 - f64.add - local.get $0 - f64.const 0.6931471803691238 - f64.mul - f64.add - ) - (func $../../lib/libm/assembly/libm/acosh (param $0 f64) (result f64) - (local $1 i64) - block $__inlined_func$~lib/math/NativeMath.acosh (result f64) - local.get $0 - i64.reinterpret_f64 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.tee $1 - i64.const 1024 - i64.lt_u - if - local.get $0 - f64.const 1 - f64.sub - local.tee $0 - local.get $0 - local.get $0 - f64.mul - f64.const 2 - local.get $0 - f64.mul - f64.add - f64.sqrt - f64.add - call $~lib/math/NativeMath.log1p - br $__inlined_func$~lib/math/NativeMath.acosh - end - local.get $1 - i64.const 1049 - i64.lt_u - if - f64.const 2 - local.get $0 - f64.mul - f64.const 1 - local.get $0 - local.get $0 - local.get $0 - f64.mul - f64.const 1 - f64.sub - f64.sqrt - f64.add - f64.div - f64.sub - call $~lib/math/NativeMath.log - br $__inlined_func$~lib/math/NativeMath.acosh - end - local.get $0 - call $~lib/math/NativeMath.log - f64.const 0.6931471805599453 - f64.add - end - ) - (func $~lib/math/NativeMath.asin (param $0 f64) (result f64) - (local $1 f64) - (local $2 i32) - (local $3 f64) - (local $4 i32) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $4 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1072693248 - i32.ge_u - if - local.get $0 - i64.reinterpret_f64 - i32.wrap_i64 - local.get $2 - i32.const 1072693248 - i32.sub - i32.or - i32.eqz - if - local.get $0 - f64.const 1.5707963267948966 - f64.mul - f64.const 7.52316384526264e-37 - f64.add - return - end - f64.const 0 - local.get $0 - local.get $0 - f64.sub - f64.div - return - end - local.get $2 - i32.const 1071644672 - i32.lt_u - if - local.get $2 - i32.const 1048576 - i32.ge_u - i32.const 0 - local.get $2 - i32.const 1045430272 - i32.lt_u - select - if - local.get $0 - return - end - local.get $0 - local.get $0 - local.get $0 - local.get $0 - f64.mul - call $~lib/math/R - f64.mul - f64.add - return - end - f64.const 0.5 - local.get $0 - f64.abs - f64.const 0.5 - f64.mul - f64.sub - local.tee $1 - f64.sqrt - local.set $0 - local.get $1 - call $~lib/math/R - local.set $3 - local.get $2 - i32.const 1072640819 - i32.ge_u - if (result f64) - f64.const 1.5707963267948966 - f64.const 2 - local.get $0 - local.get $0 - local.get $3 - f64.mul - f64.add - f64.mul - f64.const 6.123233995736766e-17 - f64.sub - f64.sub - else - f64.const 0.7853981633974483 - f64.const 2 - local.get $0 - f64.mul - local.get $3 - f64.mul - f64.const 6.123233995736766e-17 - f64.const 2 - local.get $1 - local.get $0 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $1 - local.get $1 - f64.mul - f64.sub - local.get $0 - local.get $1 - f64.add - f64.div - f64.mul - f64.sub - f64.sub - f64.const 0.7853981633974483 - f64.const 2 - local.get $1 - f64.mul - f64.sub - f64.sub - f64.sub - end - local.set $0 - local.get $4 - i32.const 31 - i32.shr_u - if - local.get $0 - f64.neg - return - end - local.get $0 - ) - (func $../../lib/libm/assembly/libm/asin (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.asin - ) - (func $../../lib/libm/assembly/libm/asinh (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - local.get $0 - local.tee $1 - i64.reinterpret_f64 - local.tee $2 - i64.const 9223372036854775807 - i64.and - f64.reinterpret_i64 - local.set $0 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.tee $2 - i64.const 1049 - i64.ge_u - if - local.get $0 - call $~lib/math/NativeMath.log - f64.const 0.6931471805599453 - f64.add - local.set $0 - else - local.get $2 - i64.const 1024 - i64.ge_u - if - f64.const 2 - local.get $0 - f64.mul - f64.const 1 - local.get $0 - local.get $0 - f64.mul - f64.const 1 - f64.add - f64.sqrt - local.get $0 - f64.add - f64.div - f64.add - call $~lib/math/NativeMath.log - local.set $0 - else - local.get $2 - i64.const 997 - i64.ge_u - if - local.get $0 - local.get $0 - local.get $0 - f64.mul - local.tee $0 - local.get $0 - f64.const 1 - f64.add - f64.sqrt - f64.const 1 - f64.add - f64.div - f64.add - call $~lib/math/NativeMath.log1p - local.set $0 - end - end - end - local.get $0 - local.get $1 - f64.copysign - ) - (func $~lib/math/NativeMath.atan (param $0 f64) (result f64) - (local $1 f64) - (local $2 f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - local.get $0 - local.set $1 - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.tee $4 - i32.const 1141899264 - i32.ge_u - if - local.get $0 - local.get $0 - f64.ne - if - local.get $0 - return - end - f64.const 1.5707963267948966 - local.get $1 - f64.copysign - return - end - local.get $4 - i32.const 1071382528 - i32.lt_u - if - local.get $4 - i32.const 1044381696 - i32.lt_u - if - local.get $0 - return - end - i32.const -1 - local.set $3 - else - local.get $0 - f64.abs - local.set $0 - local.get $4 - i32.const 1072889856 - i32.lt_u - if (result f64) - local.get $4 - i32.const 1072037888 - i32.lt_u - if (result f64) - f64.const 2 - local.get $0 - f64.mul - f64.const 1 - f64.sub - f64.const 2 - local.get $0 - f64.add - f64.div - else - i32.const 1 - local.set $3 - local.get $0 - f64.const 1 - f64.sub - local.get $0 - f64.const 1 - f64.add - f64.div - end - else - local.get $4 - i32.const 1073971200 - i32.lt_u - if (result f64) - i32.const 2 - local.set $3 - local.get $0 - f64.const 1.5 - f64.sub - f64.const 1 - f64.const 1.5 - local.get $0 - f64.mul - f64.add - f64.div - else - i32.const 3 - local.set $3 - f64.const -1 - local.get $0 - f64.div - end - end - local.set $0 - end - local.get $0 - local.get $0 - f64.mul - local.tee $5 - local.get $5 - f64.mul - local.set $2 - local.get $0 - local.get $5 - f64.const 0.3333333333333293 - local.get $2 - f64.const 0.14285714272503466 - local.get $2 - f64.const 0.09090887133436507 - local.get $2 - f64.const 0.06661073137387531 - local.get $2 - f64.const 0.049768779946159324 - local.get $2 - f64.const 0.016285820115365782 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $2 - f64.const -0.19999999999876483 - local.get $2 - f64.const -0.11111110405462356 - local.get $2 - f64.const -0.0769187620504483 - local.get $2 - f64.const -0.058335701337905735 - local.get $2 - f64.const -0.036531572744216916 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $2 - local.get $3 - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $2 - f64.sub - return - end - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - local.get $3 - if - local.get $3 - i32.const 1 - i32.sub - br_table $case1|0 $case2|0 $case3|0 $case4|0 - end - f64.const 0.4636476090008061 - local.get $2 - f64.const 2.2698777452961687e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $0 - br $break|0 - end - f64.const 0.7853981633974483 - local.get $2 - f64.const 3.061616997868383e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $0 - br $break|0 - end - f64.const 0.982793723247329 - local.get $2 - f64.const 1.3903311031230998e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $0 - br $break|0 - end - f64.const 1.5707963267948966 - local.get $2 - f64.const 6.123233995736766e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $0 - br $break|0 - end - unreachable - end - local.get $0 - local.get $1 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/atan (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.atan - ) - (func $../../lib/libm/assembly/libm/atanh (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - local.get $0 - local.tee $1 - f64.abs - local.set $0 - local.get $1 - i64.reinterpret_f64 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.tee $2 - i64.const 1022 - i64.lt_u - if - local.get $2 - i64.const 991 - i64.ge_u - if - f64.const 0.5 - f64.const 2 - local.get $0 - f64.mul - local.tee $3 - local.get $3 - local.get $0 - f64.mul - f64.const 1 - local.get $0 - f64.sub - f64.div - f64.add - call $~lib/math/NativeMath.log1p - f64.mul - local.set $0 - end - else - f64.const 0.5 - f64.const 2 - local.get $0 - f64.const 1 - local.get $0 - f64.sub - f64.div - f64.mul - call $~lib/math/NativeMath.log1p - f64.mul - local.set $0 - end - local.get $0 - local.get $1 - f64.copysign - ) - (func $~lib/math/NativeMath.atan2 (param $0 f64) (param $1 f64) (result f64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 f64) - (local $7 i32) - (local $8 i32) - i32.const 1 - local.get $0 - local.get $0 - f64.ne - local.get $1 - local.get $1 - f64.ne - select - if - local.get $1 - local.get $0 - f64.add - return - end - local.get $0 - i64.reinterpret_f64 - local.tee $5 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $7 - local.get $5 - i32.wrap_i64 - local.get $1 - i64.reinterpret_f64 - local.tee $5 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $8 - local.get $5 - i32.wrap_i64 - local.tee $4 - local.get $8 - i32.const 1072693248 - i32.sub - i32.or - i32.eqz - if - local.get $0 - call $~lib/math/NativeMath.atan - return - end - local.get $8 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and - local.get $7 - i32.const 31 - i32.shr_u - i32.or - local.set $3 - local.get $8 - i32.const 2147483647 - i32.and - local.set $8 - local.get $7 - i32.const 2147483647 - i32.and - local.tee $7 - i32.or - i32.eqz - if - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - local.get $3 - i32.eqz - br_if $case1|0 - block $tablify|0 - local.get $3 - i32.const 1 - i32.sub - br_table $case1|0 $case2|0 $case3|0 $tablify|0 - end - br $break|0 - end - local.get $0 - return - end - f64.const 3.141592653589793 - return - end - f64.const -3.141592653589793 - return - end - end - block $folding-inner0 - local.get $4 - local.get $8 - i32.or - i32.eqz - br_if $folding-inner0 - local.get $8 - i32.const 2146435072 - i32.eq - if - local.get $7 - i32.const 2146435072 - i32.eq - if - f64.const 2.356194490192345 - f64.const 0.7853981633974483 - local.get $3 - i32.const 2 - i32.and - select - local.set $0 - else - f64.const 3.141592653589793 - f64.const 0 - local.get $3 - i32.const 2 - i32.and - select - local.set $0 - end - local.get $0 - f64.neg - local.get $0 - local.get $3 - i32.const 1 - i32.and - select - return - end - i32.const 1 - local.get $7 - i32.const 2146435072 - i32.eq - local.get $8 - i32.const 67108864 - i32.add - local.get $7 - i32.lt_u - select - br_if $folding-inner0 - local.get $7 - i32.const 67108864 - i32.add - local.get $8 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 2 - i32.and - select - i32.eqz - if - local.get $0 - local.get $1 - f64.div - f64.abs - call $~lib/math/NativeMath.atan - local.set $6 - end - block $break|1 - block $case3|1 - block $case2|1 - block $case1|1 - local.get $3 - local.tee $2 - if - local.get $2 - i32.const 1 - i32.sub - br_table $case1|1 $case2|1 $case3|1 $break|1 - end - local.get $6 - return - end - local.get $6 - f64.neg - return - end - f64.const 3.141592653589793 - local.get $6 - f64.const 1.2246467991473532e-16 - f64.sub - f64.sub - return - end - local.get $6 - f64.const 1.2246467991473532e-16 - f64.sub - f64.const 3.141592653589793 - f64.sub - return - end - unreachable - end - f64.const -1.5707963267948966 - f64.const 1.5707963267948966 - local.get $3 - i32.const 1 - i32.and - select - ) - (func $../../lib/libm/assembly/libm/atan2 (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.atan2 - ) - (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) - (local $1 f64) - (local $2 i32) - (local $3 f64) - (local $4 i64) - local.get $0 - i64.reinterpret_f64 - local.tee $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.add - return - end - local.get $2 - i32.const 1048576 - i32.lt_u - if (result i32) - local.get $0 - f64.const 18014398509481984 - f64.mul - i64.reinterpret_f64 - local.tee $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.tee $2 - i32.eqz - if - local.get $0 - return - end - local.get $2 - i32.const 3 - i32.div_u - i32.const 696219795 - i32.add - else - local.get $2 - i32.const 3 - i32.div_u - i32.const 715094163 - i32.add - end - local.set $2 - local.get $4 - i64.const -9223372036854775808 - i64.and - local.get $2 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - local.tee $3 - local.get $3 - f64.mul - local.get $3 - local.get $0 - f64.div - f64.mul - local.set $1 - local.get $0 - local.get $3 - f64.const 1.87595182427177 - local.get $1 - f64.const -1.8849797954337717 - local.get $1 - f64.const 1.6214297201053545 - f64.mul - f64.add - f64.mul - f64.add - local.get $1 - local.get $1 - f64.mul - local.get $1 - f64.mul - f64.const -0.758397934778766 - local.get $1 - f64.const 0.14599619288661245 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - i64.reinterpret_f64 - i64.const 2147483648 - i64.add - i64.const -1073741824 - i64.and - f64.reinterpret_i64 - local.tee $0 - local.get $0 - f64.mul - f64.div - local.set $1 - local.get $0 - local.get $0 - local.get $1 - local.get $0 - f64.sub - f64.const 2 - local.get $0 - f64.mul - local.get $1 - f64.add - f64.div - f64.mul - f64.add - ) - (func $../../lib/libm/assembly/libm/cbrt (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.cbrt - ) - (func $../../lib/libm/assembly/libm/ceil (param $0 f64) (result f64) - local.get $0 - f64.ceil - ) - (func $~lib/math/dtoi32 (param $0 f64) (result i32) - local.get $0 - f64.const 4294967296 - local.get $0 - f64.const 2.3283064365386963e-10 - f64.mul - f64.floor - f64.mul - f64.sub - i64.trunc_f64_s - i32.wrap_i64 - ) - (func $../../lib/libm/assembly/libm/clz32 (param $0 f64) (result f64) - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.ne - if (result f64) - f64.const 32 - else - local.get $0 - call $~lib/math/dtoi32 - i32.clz - f64.convert_i32_s - end - ) - (func $~lib/math/pio2_large_quot (param $0 i64) (result i32) - (local $1 i64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i64) - (local $11 i64) - (local $12 f64) - local.get $0 - i64.const 9223372036854775807 - i64.and - i64.const 52 - i64.shr_s - i64.const 1045 - i64.sub - local.tee $1 - i64.const 6 - i64.shr_s - i32.wrap_i64 - i32.const 3 - i32.shl - i32.const 1024 - i32.add - local.tee $7 - i64.load - local.set $6 - local.get $7 - i64.load offset=8 - local.set $3 - local.get $7 - i64.load offset=16 - local.set $4 - local.get $1 - i64.const 63 - i64.and - local.tee $1 - i64.const 0 - i64.ne - if - local.get $6 - local.get $1 - i64.shl - local.get $3 - i64.const 64 - local.get $1 - i64.sub - local.tee $2 - i64.shr_u - i64.or - local.set $6 - local.get $3 - local.get $1 - i64.shl - local.get $4 - local.get $2 - i64.shr_u - i64.or - local.set $3 - local.get $4 - local.get $1 - i64.shl - local.get $7 - i64.load offset=24 - local.get $2 - i64.shr_u - i64.or - local.set $4 - end - local.get $0 - i64.const 4503599627370495 - i64.and - i64.const 4503599627370496 - i64.or - local.tee $1 - i64.const 4294967295 - i64.and - local.tee $2 - local.get $3 - i64.const 32 - i64.shr_u - local.tee $8 - i64.mul - local.get $3 - i64.const 4294967295 - i64.and - local.tee $5 - local.get $2 - i64.mul - local.tee $9 - i64.const 32 - i64.shr_u - i64.add - local.set $3 - local.get $5 - local.get $1 - i64.const 32 - i64.shr_u - local.tee $5 - i64.mul - local.get $3 - i64.const 4294967295 - i64.and - i64.add - local.set $2 - local.get $5 - local.get $8 - i64.mul - local.get $3 - i64.const 32 - i64.shr_u - i64.add - local.get $2 - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - global.get $~lib/math/res128_hi - local.get $1 - local.get $6 - i64.mul - i64.add - local.get $4 - i64.const 32 - i64.shr_u - local.get $1 - i64.const 32 - i64.shr_s - i64.mul - local.tee $3 - local.get $9 - i64.const 4294967295 - i64.and - local.get $2 - i64.const 32 - i64.shl - i64.add - i64.add - local.tee $1 - local.get $3 - i64.lt_u - i64.extend_i32_u - i64.add - local.tee $8 - i64.const 2 - i64.shl - local.get $1 - i64.const 62 - i64.shr_u - i64.or - local.tee $6 - i64.const 63 - i64.shr_s - local.tee $4 - i64.const 1 - i64.shr_s - local.get $6 - i64.xor - local.tee $2 - i64.clz - local.set $3 - local.get $2 - local.get $3 - i64.shl - local.get $4 - local.get $1 - i64.const 2 - i64.shl - i64.xor - local.tee $5 - i64.const 64 - local.get $3 - i64.sub - i64.shr_u - i64.or - local.tee $1 - i64.const 4294967295 - i64.and - local.set $2 - local.get $1 - i64.const 32 - i64.shr_u - local.tee $9 - i64.const 560513588 - i64.mul - local.get $2 - i64.const 3373259426 - i64.mul - local.get $2 - i64.const 560513588 - i64.mul - local.tee $10 - i64.const 32 - i64.shr_u - i64.add - local.tee $11 - i64.const 4294967295 - i64.and - i64.add - local.set $2 - local.get $9 - i64.const 3373259426 - i64.mul - local.get $11 - i64.const 32 - i64.shr_u - i64.add - local.get $2 - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - local.get $10 - i64.const 4294967295 - i64.and - local.get $2 - i64.const 32 - i64.shl - i64.add - local.tee $2 - f64.const 3.753184150245214e-04 - local.get $1 - f64.convert_i64_u - f64.mul - f64.const 3.834951969714103e-04 - local.get $5 - local.get $3 - i64.shl - f64.convert_i64_u - f64.mul - f64.add - i64.trunc_f64_u - local.tee $1 - i64.lt_u - i64.extend_i32_u - global.get $~lib/math/res128_hi - local.tee $5 - i64.const 11 - i64.shr_u - i64.add - f64.convert_i64_u - global.set $~lib/math/rempio2_y0 - f64.const 5.421010862427522e-20 - local.get $1 - local.get $5 - i64.const 53 - i64.shl - local.get $2 - i64.const 11 - i64.shr_u - i64.or - i64.add - f64.convert_i64_u - f64.mul - global.set $~lib/math/rempio2_y1 - global.get $~lib/math/rempio2_y0 - i64.const 4372995238176751616 - local.get $3 - i64.const 52 - i64.shl - i64.sub - local.get $0 - local.get $6 - i64.xor - i64.const -9223372036854775808 - i64.and - i64.or - f64.reinterpret_i64 - local.tee $12 - f64.mul - global.set $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 - local.get $12 - f64.mul - global.set $~lib/math/rempio2_y1 - local.get $8 - i64.const 62 - i64.shr_s - local.get $4 - i64.sub - i32.wrap_i64 - ) - (func $~lib/math/NativeMath.cos (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 i32) - (local $6 i32) - (local $7 f64) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $5 - i32.const 31 - i32.shr_u - local.set $6 - local.get $5 - i32.const 2147483647 - i32.and - local.tee $5 - i32.const 1072243195 - i32.le_u - if - local.get $5 - i32.const 1044816030 - i32.lt_u - if - f64.const 1 - return - end - f64.const 1 - f64.const 0.5 - local.get $0 - local.get $0 - f64.mul - local.tee $3 - f64.mul - local.tee $4 - f64.sub - local.tee $1 - f64.const 1 - local.get $1 - f64.sub - local.get $4 - f64.sub - local.get $3 - local.get $3 - f64.const 0.0416666666666666 - local.get $3 - f64.const -0.001388888888887411 - local.get $3 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $3 - local.get $3 - f64.mul - local.tee $4 - local.get $4 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $3 - f64.const 2.087572321298175e-09 - local.get $3 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - f64.const 0 - f64.mul - f64.sub - f64.add - f64.add - return - end - local.get $5 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.0 (result i32) - local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.tee $5 - i32.const 1094263291 - i32.lt_u - if - local.get $5 - i32.const 20 - i32.shr_u - local.tee $6 - local.get $0 - local.get $0 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.tee $3 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.tee $0 - local.get $3 - f64.const 6.077100506506192e-11 - f64.mul - local.tee $4 - f64.sub - local.tee $1 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - i32.const 16 - i32.gt_u - if - local.get $3 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $0 - local.get $0 - local.get $3 - f64.const 6.077100506303966e-11 - f64.mul - local.tee $4 - f64.sub - local.tee $0 - f64.sub - local.get $4 - f64.sub - f64.sub - local.set $4 - local.get $6 - local.get $0 - local.get $4 - f64.sub - local.tee $1 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - i32.const 49 - i32.gt_u - if - local.get $3 - f64.const 8.4784276603689e-32 - f64.mul - local.get $0 - local.get $0 - local.get $3 - f64.const 2.0222662487111665e-21 - f64.mul - local.tee $4 - f64.sub - local.tee $0 - f64.sub - local.get $4 - f64.sub - f64.sub - local.set $4 - local.get $0 - local.get $4 - f64.sub - local.set $1 - end - end - local.get $1 - global.set $~lib/math/rempio2_y0 - local.get $0 - local.get $1 - f64.sub - local.get $4 - f64.sub - global.set $~lib/math/rempio2_y1 - local.get $3 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.0 - end - i32.const 0 - local.get $2 - call $~lib/math/pio2_large_quot - local.tee $5 - i32.sub - local.get $5 - local.get $6 - select - end - local.set $6 - global.get $~lib/math/rempio2_y0 - local.set $3 - global.get $~lib/math/rempio2_y1 - local.set $4 - local.get $6 - i32.const 1 - i32.and - if (result f64) - local.get $3 - local.get $3 - f64.mul - local.tee $0 - local.get $3 - f64.mul - local.set $1 - local.get $3 - local.get $0 - f64.const 0.5 - local.get $4 - f64.mul - local.get $1 - f64.const 0.00833333333332249 - local.get $0 - f64.const -1.984126982985795e-04 - local.get $0 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $0 - local.get $0 - local.get $0 - f64.mul - f64.mul - f64.const -2.5050760253406863e-08 - local.get $0 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.sub - f64.mul - local.get $4 - f64.sub - local.get $1 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - else - f64.const 1 - f64.const 0.5 - local.get $3 - local.get $3 - f64.mul - local.tee $0 - f64.mul - local.tee $1 - f64.sub - local.tee $7 - f64.const 1 - local.get $7 - f64.sub - local.get $1 - f64.sub - local.get $0 - local.get $0 - f64.const 0.0416666666666666 - local.get $0 - f64.const -0.001388888888887411 - local.get $0 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - local.get $0 - f64.mul - local.tee $1 - local.get $1 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $0 - f64.const 2.087572321298175e-09 - local.get $0 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $3 - local.get $4 - f64.mul - f64.sub - f64.add - f64.add - end - local.set $0 - local.get $6 - i32.const 1 - i32.add - i32.const 2 - i32.and - if - local.get $0 - f64.neg - local.set $0 - end - local.get $0 - ) - (func $../../lib/libm/assembly/libm/cos (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.cos - ) - (func $~lib/math/NativeMath.expm1 (param $0 f64) (result f64) - (local $1 f64) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i64) - local.get $0 - i64.reinterpret_f64 - local.tee $8 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.set $7 - local.get $8 - i64.const 32 - i64.shr_u - i64.const 2147483647 - i64.and - i32.wrap_i64 - local.tee $6 - i32.const 1078159482 - i32.ge_u - if - local.get $0 - local.get $0 - f64.ne - if - local.get $0 - return - end - local.get $7 - if - f64.const -1 - return - end - local.get $0 - f64.const 709.782712893384 - f64.gt - if - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - return - end - end - local.get $6 - i32.const 1071001154 - i32.gt_u - if - local.get $0 - i32.const 1 - local.get $7 - i32.const 1 - i32.shl - i32.sub - f64.const 1.4426950408889634 - local.get $0 - f64.mul - f64.const 0.5 - local.get $0 - f64.copysign - f64.add - i32.trunc_f64_s - local.get $6 - i32.const 1072734898 - i32.lt_u - select - local.tee $2 - f64.convert_i32_s - local.tee $1 - f64.const 0.6931471803691238 - f64.mul - f64.sub - local.tee $0 - local.get $0 - local.get $1 - f64.const 1.9082149292705877e-10 - f64.mul - local.tee $1 - f64.sub - local.tee $0 - f64.sub - local.get $1 - f64.sub - local.set $3 - else - local.get $6 - i32.const 1016070144 - i32.lt_u - if - local.get $0 - return - end - end - local.get $0 - f64.const 0.5 - local.get $0 - f64.mul - local.tee $4 - f64.mul - local.tee $5 - local.get $5 - f64.mul - local.set $1 - f64.const 3 - f64.const 1 - local.get $5 - f64.const -0.03333333333333313 - f64.mul - f64.add - local.get $1 - f64.const 1.5873015872548146e-03 - local.get $5 - f64.const -7.93650757867488e-05 - f64.mul - f64.add - local.get $1 - f64.const 4.008217827329362e-06 - local.get $5 - f64.const -2.0109921818362437e-07 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.tee $1 - local.get $4 - f64.mul - f64.sub - local.set $4 - local.get $5 - local.get $1 - local.get $4 - f64.sub - f64.const 6 - local.get $0 - local.get $4 - f64.mul - f64.sub - f64.div - f64.mul - local.set $1 - local.get $2 - i32.eqz - if - local.get $0 - local.get $0 - local.get $1 - f64.mul - local.get $5 - f64.sub - f64.sub - return - end - local.get $0 - local.get $1 - local.get $3 - f64.sub - f64.mul - local.get $3 - f64.sub - local.get $5 - f64.sub - local.set $3 - local.get $2 - i32.const -1 - i32.eq - if - f64.const 0.5 - local.get $0 - local.get $3 - f64.sub - f64.mul - f64.const 0.5 - f64.sub - return - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $0 - f64.const -0.25 - f64.lt - if - f64.const -2 - local.get $3 - local.get $0 - f64.const 0.5 - f64.add - f64.sub - f64.mul - return - end - f64.const 1 - f64.const 2 - local.get $0 - local.get $3 - f64.sub - f64.mul - f64.add - return - end - local.get $2 - i64.extend_i32_s - i64.const 1023 - i64.add - i64.const 52 - i64.shl - f64.reinterpret_i64 - local.set $4 - i32.const 1 - local.get $2 - i32.const 56 - i32.gt_s - local.get $2 - i32.const 0 - i32.lt_s - select - if - local.get $0 - local.get $3 - f64.sub - f64.const 1 - f64.add - local.tee $0 - f64.const 2 - f64.mul - f64.const 8988465674311579538646525e283 - f64.mul - local.get $0 - local.get $4 - f64.mul - local.get $2 - i32.const 1024 - i32.eq - select - f64.const 1 - f64.sub - return - end - local.get $0 - f64.const 1 - i64.const 1023 - local.get $2 - i64.extend_i32_s - i64.sub - i64.const 52 - i64.shl - f64.reinterpret_i64 - local.tee $1 - f64.sub - local.get $3 - f64.sub - f64.const 1 - local.get $3 - local.get $1 - f64.add - f64.sub - local.get $2 - i32.const 20 - i32.lt_s - select - f64.add - local.get $4 - f64.mul - ) - (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) - local.get $1 - i32.const 1023 - i32.gt_s - if (result f64) - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - local.set $0 - local.get $1 - i32.const 1023 - i32.sub - local.tee $1 - i32.const 1023 - i32.gt_s - if (result f64) - local.get $1 - i32.const 1023 - i32.sub - local.tee $1 - i32.const 1023 - local.get $1 - i32.const 1023 - i32.lt_s - select - local.set $1 - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - else - local.get $0 - end - else - local.get $1 - i32.const -1022 - i32.lt_s - if (result f64) - local.get $0 - f64.const 2.004168360008973e-292 - f64.mul - local.set $0 - local.get $1 - i32.const 969 - i32.add - local.tee $1 - i32.const -1022 - i32.lt_s - if (result f64) - local.get $1 - i32.const 969 - i32.add - local.tee $1 - i32.const -1022 - local.get $1 - i32.const -1022 - i32.gt_s - select - local.set $1 - local.get $0 - f64.const 2.004168360008973e-292 - f64.mul - else - local.get $0 - end - else - local.get $0 - end - end - local.get $1 - i64.extend_i32_s - i64.const 1023 - i64.add - i64.const 52 - i64.shl - f64.reinterpret_i64 - f64.mul - ) - (func $~lib/math/NativeMath.exp (param $0 f64) (result f64) - (local $1 f64) - (local $2 i32) - (local $3 f64) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $2 - i32.const 31 - i32.shr_u - local.set $6 - local.get $2 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1082532651 - i32.ge_u - if - local.get $0 - local.get $0 - f64.ne - if - local.get $0 - return - end - local.get $0 - f64.const 709.782712893384 - f64.gt - if - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - return - end - local.get $0 - f64.const -745.1332191019411 - f64.lt - if - f64.const 0 - return - end - end - local.get $2 - i32.const 1071001154 - i32.gt_u - if - local.get $0 - local.get $2 - i32.const 1072734898 - i32.ge_u - if (result i32) - f64.const 1.4426950408889634 - local.get $0 - f64.mul - f64.const 0.5 - local.get $0 - f64.copysign - f64.add - i32.trunc_f64_s - else - i32.const 1 - local.get $6 - i32.const 1 - i32.shl - i32.sub - end - local.tee $4 - f64.convert_i32_s - f64.const 0.6931471803691238 - f64.mul - f64.sub - local.tee $1 - local.get $4 - f64.convert_i32_s - f64.const 1.9082149292705877e-10 - f64.mul - local.tee $7 - f64.sub - local.set $0 - else - local.get $2 - i32.const 1043333120 - i32.gt_u - if (result f64) - local.get $0 - else - f64.const 1 - local.get $0 - f64.add - return - end - local.set $1 - end - local.get $0 - local.get $0 - f64.mul - local.tee $3 - local.get $3 - f64.mul - local.set $5 - f64.const 1 - local.get $0 - local.get $0 - local.get $3 - f64.const 0.16666666666666602 - f64.mul - local.get $5 - f64.const -2.7777777777015593e-03 - local.get $3 - f64.const 6.613756321437934e-05 - f64.mul - f64.add - local.get $5 - f64.const -1.6533902205465252e-06 - local.get $3 - f64.const 4.1381367970572385e-08 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.sub - local.tee $0 - f64.mul - f64.const 2 - local.get $0 - f64.sub - f64.div - local.get $7 - f64.sub - local.get $1 - f64.add - f64.add - local.set $0 - local.get $4 - if - local.get $0 - local.get $4 - call $~lib/math/NativeMath.scalbn - local.set $0 - end - local.get $0 - ) - (func $../../lib/libm/assembly/libm/cosh (param $0 f64) (result f64) - (local $1 i32) - (local $2 i64) - block $__inlined_func$~lib/math/NativeMath.cosh (result f64) - local.get $0 - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - local.tee $2 - f64.reinterpret_i64 - local.set $0 - local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $1 - i32.const 1072049730 - i32.lt_u - if - f64.const 1 - local.get $1 - i32.const 1045430272 - i32.lt_u - br_if $__inlined_func$~lib/math/NativeMath.cosh - drop - f64.const 1 - local.get $0 - call $~lib/math/NativeMath.expm1 - local.tee $0 - local.get $0 - f64.mul - f64.const 2 - f64.const 2 - local.get $0 - f64.mul - f64.add - f64.div - f64.add - br $__inlined_func$~lib/math/NativeMath.cosh - end - local.get $1 - i32.const 1082535490 - i32.lt_u - if - f64.const 0.5 - local.get $0 - call $~lib/math/NativeMath.exp - local.tee $0 - f64.const 1 - local.get $0 - f64.div - f64.add - f64.mul - br $__inlined_func$~lib/math/NativeMath.cosh - end - local.get $0 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - f64.const 2247116418577894884661631e283 - f64.mul - f64.const 2247116418577894884661631e283 - f64.mul - end - ) - (func $../../lib/libm/assembly/libm/exp (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.exp - ) - (func $../../lib/libm/assembly/libm/expm1 (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.expm1 - ) - (func $../../lib/libm/assembly/libm/floor (param $0 f64) (result f64) - local.get $0 - f64.floor - ) - (func $../../lib/libm/assembly/libm/fround (param $0 f64) (result f64) - local.get $0 - f32.demote_f64 - f64.promote_f32 - ) - (func $~lib/math/NativeMath.hypot (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 f64) - (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 i32) - (local $11 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - local.tee $3 - local.get $1 - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - local.tee $4 - i64.lt_u - if - local.get $3 - local.get $4 - local.set $3 - local.set $4 - end - local.get $4 - f64.reinterpret_i64 - local.set $1 - local.get $4 - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $6 - i32.const 2047 - i32.eq - if - local.get $1 - return - end - local.get $3 - f64.reinterpret_i64 - local.set $0 - i32.const 1 - local.get $4 - i64.eqz - local.get $3 - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $10 - i32.const 2047 - i32.eq - select - if - local.get $0 - return - end - local.get $10 - local.get $6 - i32.sub - i32.const 64 - i32.gt_s - if - local.get $0 - local.get $1 - f64.add - return - end - f64.const 1 - local.set $9 - local.get $10 - i32.const 1533 - i32.gt_s - if (result f64) - f64.const 5260135901548373507240989e186 - local.set $9 - local.get $1 - f64.const 1.90109156629516e-211 - f64.mul - local.set $1 - local.get $0 - f64.const 1.90109156629516e-211 - f64.mul - else - local.get $6 - i32.const 573 - i32.lt_s - if (result f64) - f64.const 1.90109156629516e-211 - local.set $9 - local.get $1 - f64.const 5260135901548373507240989e186 - f64.mul - local.set $1 - local.get $0 - f64.const 5260135901548373507240989e186 - f64.mul - else - local.get $0 - end - end - local.set $0 - local.get $1 - local.get $1 - local.get $1 - f64.const 134217729 - f64.mul - local.tee $11 - f64.sub - local.get $11 - f64.add - local.tee $8 - f64.sub - local.set $5 - local.get $0 - local.get $0 - local.get $0 - f64.const 134217729 - f64.mul - local.tee $11 - f64.sub - local.get $11 - f64.add - local.tee $7 - f64.sub - local.set $11 - local.get $9 - local.get $8 - local.get $8 - f64.mul - local.get $1 - local.get $1 - f64.mul - local.tee $1 - f64.sub - f64.const 2 - local.get $8 - f64.mul - local.get $5 - f64.add - local.get $5 - f64.mul - f64.add - local.get $7 - local.get $7 - f64.mul - local.get $0 - local.get $0 - f64.mul - local.tee $0 - f64.sub - f64.const 2 - local.get $7 - f64.mul - local.get $11 - f64.add - local.get $11 - f64.mul - f64.add - f64.add - local.get $1 - f64.add - local.get $0 - f64.add - f64.sqrt - f64.mul - ) - (func $../../lib/libm/assembly/libm/hypot (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.hypot - ) - (func $../../lib/libm/assembly/libm/imul (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - block $__inlined_func$~lib/math/NativeMath.imul (result f64) - f64.const 0 - local.get $0 - local.get $1 - f64.add - local.tee $2 - local.get $2 - f64.sub - f64.const 0 - f64.ne - br_if $__inlined_func$~lib/math/NativeMath.imul - drop - local.get $0 - call $~lib/math/dtoi32 - local.get $1 - call $~lib/math/dtoi32 - i32.mul - f64.convert_i32_s - end - ) - (func $../../lib/libm/assembly/libm/log (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log - ) - (func $~lib/math/NativeMath.log10 (param $0 f64) (result f64) - (local $1 i32) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 f64) - (local $10 f64) - (local $11 f64) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $1 - i32.const 1048576 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $2 - i64.const 1 - i64.shl - i64.eqz - if - f64.const -1 - local.get $0 - local.get $0 - f64.mul - f64.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - i32.const -54 - local.set $8 - local.get $0 - f64.const 18014398509481984 - f64.mul - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - else - local.get $1 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - else - local.get $2 - i64.const 32 - i64.shl - i64.eqz - i32.const 0 - local.get $1 - i32.const 1072693248 - i32.eq - select - if - f64.const 0 - return - end - end - end - local.get $2 - i64.const 4294967295 - i64.and - local.get $1 - i32.const 614242 - i32.add - local.tee $1 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - f64.const 1 - f64.sub - local.tee $0 - f64.const 2 - local.get $0 - f64.add - f64.div - local.tee $4 - local.get $4 - f64.mul - local.set $3 - local.get $8 - local.get $1 - i32.const 20 - i32.shr_u - i32.const 1023 - i32.sub - i32.add - f64.convert_i32_s - local.tee $9 - f64.const 0.30102999566361177 - f64.mul - local.tee $10 - local.get $0 - f64.const 0.5 - local.get $0 - f64.mul - local.get $0 - f64.mul - local.tee $5 - f64.sub - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $6 - f64.const 0.4342944818781689 - f64.mul - local.tee $11 - f64.add - local.set $7 - local.get $9 - f64.const 3.694239077158931e-13 - f64.mul - local.get $0 - local.get $6 - f64.sub - local.get $5 - f64.sub - local.get $4 - local.get $5 - local.get $3 - f64.const 0.6666666666666735 - local.get $3 - local.get $3 - f64.mul - local.tee $0 - f64.const 0.2857142874366239 - local.get $0 - f64.const 0.1818357216161805 - local.get $0 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - f64.const 0.3999999999940942 - local.get $0 - f64.const 0.22222198432149784 - local.get $0 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.add - f64.mul - f64.add - local.tee $0 - local.get $6 - f64.add - f64.const 2.5082946711645275e-11 - f64.mul - f64.add - local.get $0 - f64.const 0.4342944818781689 - f64.mul - f64.add - local.get $10 - local.get $7 - f64.sub - local.get $11 - f64.add - f64.add - local.get $7 - f64.add - ) - (func $../../lib/libm/assembly/libm/log10 (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log10 - ) - (func $../../lib/libm/assembly/libm/log1p (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log1p - ) - (func $~lib/math/NativeMath.log2 (param $0 f64) (result f64) - (local $1 i32) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 f64) - (local $10 f64) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $1 - i32.const 1048576 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $2 - i64.const 1 - i64.shl - i64.eqz - if - f64.const -1 - local.get $0 - local.get $0 - f64.mul - f64.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - i32.const -54 - local.set $8 - local.get $0 - f64.const 18014398509481984 - f64.mul - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - else - local.get $1 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - else - local.get $2 - i64.const 32 - i64.shl - i64.eqz - i32.const 0 - local.get $1 - i32.const 1072693248 - i32.eq - select - if - f64.const 0 - return - end - end - end - local.get $2 - i64.const 4294967295 - i64.and - local.get $1 - i32.const 614242 - i32.add - local.tee $1 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - f64.const 1 - f64.sub - local.tee $0 - f64.const 2 - local.get $0 - f64.add - f64.div - local.tee $4 - local.get $4 - f64.mul - local.set $3 - local.get $8 - local.get $1 - i32.const 20 - i32.shr_u - i32.const 1023 - i32.sub - i32.add - f64.convert_i32_s - local.tee $9 - local.get $0 - f64.const 0.5 - local.get $0 - f64.mul - local.get $0 - f64.mul - local.tee $5 - f64.sub - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $6 - f64.const 1.4426950407214463 - f64.mul - local.tee $10 - f64.add - local.set $7 - local.get $0 - local.get $6 - f64.sub - local.get $5 - f64.sub - local.get $4 - local.get $5 - local.get $3 - f64.const 0.6666666666666735 - local.get $3 - local.get $3 - f64.mul - local.tee $0 - f64.const 0.2857142874366239 - local.get $0 - f64.const 0.1818357216161805 - local.get $0 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - f64.const 0.3999999999940942 - local.get $0 - f64.const 0.22222198432149784 - local.get $0 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.add - f64.mul - f64.add - local.tee $0 - local.get $6 - f64.add - f64.const 1.6751713164886512e-10 - f64.mul - local.get $0 - f64.const 1.4426950407214463 - f64.mul - f64.add - local.get $9 - local.get $7 - f64.sub - local.get $10 - f64.add - f64.add - local.get $7 - f64.add - ) - (func $../../lib/libm/assembly/libm/log2 (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log2 - ) - (func $../../lib/libm/assembly/libm/max (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - f64.max - ) - (func $../../lib/libm/assembly/libm/min (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - f64.min - ) - (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 f64) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f64) - (local $11 i32) - (local $12 f64) - (local $13 i64) - (local $14 f64) - (local $15 i32) - (local $16 i32) - (local $17 f64) - (local $18 i32) - (local $19 i32) - (local $20 f64) - local.get $1 - f64.abs - f64.const 2 - f64.le - if - local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const -inf - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - local.get $0 - i64.reinterpret_f64 - local.tee $13 - i32.wrap_i64 - local.set $18 - local.get $13 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $15 - i32.const 2147483647 - i32.and - local.set $4 - local.get $1 - i64.reinterpret_f64 - local.tee $13 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 2147483647 - i32.and - local.tee $8 - local.get $13 - i32.wrap_i64 - local.tee $19 - i32.or - i32.eqz - if - f64.const 1 - return - end - i32.const 1 - local.get $19 - i32.const 0 - local.get $8 - i32.const 2146435072 - i32.eq - select - i32.const 1 - local.get $8 - i32.const 2146435072 - i32.gt_s - i32.const 1 - local.get $18 - i32.const 0 - local.get $4 - i32.const 2146435072 - i32.eq - select - local.get $4 - i32.const 2146435072 - i32.gt_s - select - select - select - if - local.get $0 - local.get $1 - f64.add - return - end - local.get $15 - i32.const 0 - i32.lt_s - if - local.get $8 - i32.const 1128267776 - i32.ge_s - if (result i32) - i32.const 2 - else - local.get $8 - i32.const 1072693248 - i32.ge_s - if (result i32) - i32.const 52 - i32.const 20 - local.get $8 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $9 - i32.const 20 - i32.gt_s - local.tee $5 - select - local.get $9 - i32.sub - local.set $11 - i32.const 2 - local.get $19 - local.get $8 - local.get $5 - select - local.tee $5 - local.get $11 - i32.shr_u - local.tee $9 - i32.const 1 - i32.and - i32.sub - i32.const 0 - local.get $5 - local.get $9 - local.get $11 - i32.shl - i32.eq - select - else - i32.const 0 - end - end - local.set $5 - end - local.get $19 - i32.eqz - if - local.get $8 - i32.const 2146435072 - i32.eq - if - local.get $18 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if - local.get $4 - i32.const 1072693248 - i32.ge_s - if - local.get $1 - f64.const 0 - local.get $7 - i32.const 0 - i32.ge_s - select - return - else - local.get $1 - f64.neg - f64.const 0 - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - unreachable - else - f64.const nan:0x8000000000000 - return - end - unreachable - end - local.get $8 - i32.const 1072693248 - i32.eq - if - local.get $7 - i32.const 0 - i32.ge_s - if - local.get $0 - return - end - f64.const 1 - local.get $0 - f64.div - return - end - local.get $7 - i32.const 1073741824 - i32.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $7 - i32.const 1071644672 - i32.eq - if - local.get $15 - i32.const 0 - i32.ge_s - if - local.get $0 - f64.sqrt - return - end - end - end - local.get $0 - f64.abs - local.set $2 - local.get $18 - i32.eqz - if - i32.const 1 - local.get $4 - i32.const 1072693248 - i32.eq - local.get $4 - i32.const 2146435072 - i32.eq - i32.const 1 - local.get $4 - select - select - if - f64.const 1 - local.get $2 - f64.div - local.get $2 - local.get $7 - i32.const 0 - i32.lt_s - select - local.set $2 - local.get $15 - i32.const 0 - i32.lt_s - if (result f64) - local.get $5 - local.get $4 - i32.const 1072693248 - i32.sub - i32.or - if (result f64) - local.get $2 - f64.neg - local.get $2 - local.get $5 - i32.const 1 - i32.eq - select - else - local.get $2 - local.get $2 - f64.sub - local.tee $0 - local.get $0 - f64.div - end - else - local.get $2 - end - return - end - end - f64.const 1 - local.set $10 - local.get $15 - i32.const 0 - i32.lt_s - if - local.get $5 - i32.eqz - if - local.get $0 - local.get $0 - f64.sub - local.tee $0 - local.get $0 - f64.div - return - end - f64.const -1 - f64.const 1 - local.get $5 - i32.const 1 - i32.eq - select - local.set $10 - end - local.get $8 - i32.const 1105199104 - i32.gt_s - if (result f64) - local.get $8 - i32.const 1139802112 - i32.gt_s - if - local.get $4 - i32.const 1072693247 - i32.le_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.ge_s - if - f64.const inf - f64.const 0 - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - end - local.get $4 - i32.const 1072693247 - i32.lt_s - if - local.get $10 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $10 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.lt_s - select - return - end - local.get $4 - i32.const 1072693248 - i32.gt_s - if - local.get $10 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - local.get $10 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - local.get $7 - i32.const 0 - i32.gt_s - select - return - end - f64.const 1.4426950216293335 - local.get $2 - f64.const 1 - f64.sub - local.tee $0 - f64.mul - local.tee $2 - local.get $0 - f64.const 1.9259629911266175e-08 - f64.mul - local.get $0 - local.get $0 - f64.mul - f64.const 0.5 - local.get $0 - f64.const 0.3333333333333333 - local.get $0 - f64.const 0.25 - f64.mul - f64.sub - f64.mul - f64.sub - f64.mul - f64.const 1.4426950408889634 - f64.mul - f64.sub - local.tee $0 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $6 - local.get $0 - local.get $6 - local.get $2 - f64.sub - f64.sub - else - local.get $4 - i32.const 1048576 - i32.lt_s - if (result i32) - local.get $2 - f64.const 9007199254740992 - f64.mul - local.tee $2 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $4 - i32.const -53 - else - i32.const 0 - end - local.get $4 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - i32.add - local.set $7 - local.get $4 - i32.const 1048575 - i32.and - local.tee $5 - i32.const 1072693248 - i32.or - local.set $4 - local.get $5 - i32.const 235662 - i32.gt_s - if - local.get $5 - i32.const 767610 - i32.lt_s - if - i32.const 1 - local.set $16 - else - local.get $7 - i32.const 1 - i32.add - local.set $7 - local.get $4 - i32.const -1048576 - i32.add - local.set $4 - end - end - f64.const 0.9617967009544373 - local.get $2 - i64.reinterpret_f64 - i64.const 4294967295 - i64.and - local.get $4 - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - local.tee $6 - f64.const 1.5 - f64.const 1 - local.get $16 - select - local.tee $3 - f64.sub - local.tee $2 - f64.const 1 - local.get $6 - local.get $3 - f64.add - f64.div - local.tee $0 - f64.mul - local.tee $17 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $14 - f64.const 3 - local.get $14 - local.get $14 - f64.mul - local.tee $20 - f64.add - local.get $17 - local.get $17 - f64.mul - local.tee $12 - local.get $12 - f64.mul - f64.const 0.5999999999999946 - local.get $12 - f64.const 0.4285714285785502 - local.get $12 - f64.const 0.33333332981837743 - local.get $12 - f64.const 0.272728123808534 - local.get $12 - f64.const 0.23066074577556175 - local.get $12 - f64.const 0.20697501780033842 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - local.get $2 - local.get $14 - local.get $4 - i32.const 1 - i32.shr_s - i32.const 536870912 - i32.or - i32.const 524288 - i32.add - local.get $16 - i32.const 18 - i32.shl - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.tee $0 - f64.mul - f64.sub - local.get $14 - local.get $6 - local.get $0 - local.get $3 - f64.sub - f64.sub - f64.mul - f64.sub - f64.mul - local.tee $3 - local.get $14 - local.get $17 - f64.add - f64.mul - f64.add - local.tee $0 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $6 - f64.mul - local.tee $2 - local.get $3 - local.get $6 - f64.mul - local.get $0 - local.get $6 - f64.const 3 - f64.sub - local.get $20 - f64.sub - f64.sub - local.get $17 - f64.mul - f64.add - local.tee $0 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $3 - f64.mul - local.tee $20 - f64.const -7.028461650952758e-09 - local.get $3 - f64.mul - local.get $0 - local.get $3 - local.get $2 - f64.sub - f64.sub - f64.const 0.9617966939259756 - f64.mul - f64.add - f64.const 1.350039202129749e-08 - f64.const 0 - local.get $16 - select - f64.add - local.tee $3 - f64.add - f64.const 0.5849624872207642 - f64.const 0 - local.get $16 - select - local.tee $2 - f64.add - local.get $7 - f64.convert_i32_s - local.tee $0 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $6 - local.get $3 - local.get $6 - local.get $0 - f64.sub - local.get $2 - f64.sub - local.get $20 - f64.sub - f64.sub - end - local.set $2 - local.get $1 - local.get $1 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - f64.sub - local.get $6 - f64.mul - local.get $1 - local.get $2 - f64.mul - f64.add - local.tee $1 - local.get $0 - local.get $6 - f64.mul - local.tee $3 - f64.add - local.tee $0 - i64.reinterpret_f64 - local.tee $13 - i32.wrap_i64 - local.set $5 - block $folding-inner1 - block $folding-inner0 - local.get $13 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $11 - i32.const 1083179008 - i32.ge_s - if - local.get $5 - local.get $11 - i32.const 1083179008 - i32.sub - i32.or - local.get $1 - f64.const 8.008566259537294e-17 - f64.add - local.get $0 - local.get $3 - f64.sub - f64.gt - i32.or - br_if $folding-inner0 - else - local.get $11 - i32.const 2147483647 - i32.and - i32.const 1083231232 - i32.ge_s - i32.const 0 - local.get $5 - local.get $11 - i32.const -1064252416 - i32.sub - i32.or - local.get $1 - local.get $0 - local.get $3 - f64.sub - f64.le - i32.or - select - br_if $folding-inner1 - end - local.get $11 - i32.const 2147483647 - i32.and - local.tee $9 - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.set $5 - i32.const 0 - local.set $7 - local.get $9 - i32.const 1071644672 - i32.gt_s - if - i32.const 1048575 - local.get $11 - i32.const 1048576 - local.get $5 - i32.const 1 - i32.add - i32.shr_s - i32.add - local.tee $9 - i32.const 2147483647 - i32.and - i32.const 20 - i32.shr_s - i32.const 1023 - i32.sub - local.tee $5 - i32.shr_s - i32.const -1 - i32.xor - local.get $9 - i32.and - i64.extend_i32_s - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $0 - i32.const 0 - local.get $9 - i32.const 1048575 - i32.and - i32.const 1048576 - i32.or - i32.const 20 - local.get $5 - i32.sub - i32.shr_s - local.tee $7 - i32.sub - local.get $7 - local.get $11 - i32.const 0 - i32.lt_s - select - local.set $7 - local.get $3 - local.get $0 - f64.sub - local.set $3 - end - local.get $1 - local.get $3 - f64.add - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $0 - f64.const 0.6931471824645996 - f64.mul - local.tee $2 - local.get $1 - local.get $0 - local.get $3 - f64.sub - f64.sub - f64.const 0.6931471805599453 - f64.mul - local.get $0 - f64.const -1.904654299957768e-09 - f64.mul - f64.add - local.tee $1 - f64.add - local.tee $3 - local.get $3 - f64.mul - local.set $0 - local.get $10 - f64.const 1 - local.get $3 - local.get $3 - local.get $0 - f64.const 0.16666666666666602 - local.get $0 - f64.const -2.7777777777015593e-03 - local.get $0 - f64.const 6.613756321437934e-05 - local.get $0 - f64.const -1.6533902205465252e-06 - local.get $0 - f64.const 4.1381367970572385e-08 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.sub - local.tee $0 - f64.mul - local.get $0 - f64.const 2 - f64.sub - f64.div - local.get $1 - local.get $3 - local.get $2 - f64.sub - f64.sub - local.tee $0 - local.get $3 - local.get $0 - f64.mul - f64.add - f64.sub - local.get $3 - f64.sub - f64.sub - local.tee $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.get $7 - i32.const 20 - i32.shl - i32.add - local.tee $5 - i32.const 20 - i32.shr_s - i32.const 0 - i32.le_s - if (result f64) - local.get $0 - local.get $7 - call $~lib/math/NativeMath.scalbn - else - local.get $0 - i64.reinterpret_f64 - i64.const 4294967295 - i64.and - local.get $5 - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - f64.reinterpret_i64 - end - f64.mul - return - end - local.get $10 - f64.const 1.e+300 - f64.mul - f64.const 1.e+300 - f64.mul - return - end - local.get $10 - f64.const 1e-300 - f64.mul - f64.const 1e-300 - f64.mul - ) - (func $../../lib/libm/assembly/libm/pow (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.pow - ) - (func $../../lib/libm/assembly/libm/round (param $0 f64) (result f64) - local.get $0 - f64.const 0.5 - f64.add - f64.floor - local.get $0 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/sign (param $0 f64) (result f64) - local.get $0 - f64.abs - f64.const 0 - f64.gt - if - f64.const 1 - local.get $0 - f64.copysign - local.set $0 - end - local.get $0 - ) - (func $~lib/math/NativeMath.sin (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 i32) - (local $6 i32) - (local $7 f64) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $5 - i32.const 31 - i32.shr_u - local.set $6 - local.get $5 - i32.const 2147483647 - i32.and - local.tee $5 - i32.const 1072243195 - i32.le_u - if - local.get $5 - i32.const 1045430272 - i32.lt_u - if - local.get $0 - return - end - local.get $0 - local.get $0 - local.get $0 - f64.mul - local.tee $3 - local.get $0 - f64.mul - f64.const -0.16666666666666632 - local.get $3 - f64.const 0.00833333333332249 - local.get $3 - f64.const -1.984126982985795e-04 - local.get $3 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $3 - local.get $3 - f64.mul - f64.mul - f64.const -2.5050760253406863e-08 - local.get $3 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - return - end - local.get $5 - 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 $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.tee $5 - i32.const 1094263291 - i32.lt_u - if - local.get $5 - i32.const 20 - i32.shr_u - local.tee $6 - local.get $0 - local.get $0 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.tee $3 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.tee $0 - local.get $3 - f64.const 6.077100506506192e-11 - f64.mul - local.tee $4 - f64.sub - local.tee $1 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - i32.const 16 - i32.gt_u - if - local.get $3 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $0 - local.get $0 - local.get $3 - f64.const 6.077100506303966e-11 - f64.mul - local.tee $4 - f64.sub - local.tee $0 - f64.sub - local.get $4 - f64.sub - f64.sub - local.set $4 - local.get $6 - local.get $0 - local.get $4 - f64.sub - local.tee $1 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - i32.const 49 - i32.gt_u - if - local.get $3 - f64.const 8.4784276603689e-32 - f64.mul - local.get $0 - local.get $0 - local.get $3 - f64.const 2.0222662487111665e-21 - f64.mul - local.tee $4 - f64.sub - local.tee $0 - f64.sub - local.get $4 - f64.sub - f64.sub - local.set $4 - local.get $0 - local.get $4 - f64.sub - local.set $1 - end - end - local.get $1 - global.set $~lib/math/rempio2_y0 - local.get $0 - local.get $1 - f64.sub - local.get $4 - f64.sub - global.set $~lib/math/rempio2_y1 - local.get $3 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.1 - end - i32.const 0 - local.get $2 - call $~lib/math/pio2_large_quot - local.tee $5 - i32.sub - local.get $5 - local.get $6 - select - end - local.set $6 - global.get $~lib/math/rempio2_y0 - local.set $3 - global.get $~lib/math/rempio2_y1 - local.set $4 - local.get $6 - i32.const 1 - i32.and - if (result f64) - f64.const 1 - f64.const 0.5 - local.get $3 - local.get $3 - f64.mul - local.tee $0 - f64.mul - local.tee $1 - f64.sub - local.tee $7 - f64.const 1 - local.get $7 - f64.sub - local.get $1 - f64.sub - local.get $0 - local.get $0 - f64.const 0.0416666666666666 - local.get $0 - f64.const -0.001388888888887411 - local.get $0 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $0 - local.get $0 - f64.mul - local.tee $1 - local.get $1 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $0 - f64.const 2.087572321298175e-09 - local.get $0 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $3 - local.get $4 - f64.mul - f64.sub - f64.add - f64.add - else - local.get $3 - local.get $3 - f64.mul - local.tee $0 - local.get $3 - f64.mul - local.set $1 - local.get $3 - local.get $0 - f64.const 0.5 - local.get $4 - f64.mul - local.get $1 - f64.const 0.00833333333332249 - local.get $0 - f64.const -1.984126982985795e-04 - local.get $0 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $0 - local.get $0 - local.get $0 - f64.mul - f64.mul - f64.const -2.5050760253406863e-08 - local.get $0 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.sub - f64.mul - local.get $4 - f64.sub - local.get $1 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - end - local.set $0 - local.get $6 - i32.const 2 - i32.and - if - local.get $0 - f64.neg - local.set $0 - end - local.get $0 - ) - (func $../../lib/libm/assembly/libm/sin (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.sin - ) - (func $~lib/math/NativeMath.sinh (param $0 f64) (result f64) - (local $1 f64) - (local $2 f64) - (local $3 i32) - (local $4 i64) - local.get $0 - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - local.tee $4 - f64.reinterpret_i64 - local.set $1 - f64.const 0.5 - local.get $0 - f64.copysign - local.set $2 - local.get $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $3 - i32.const 1082535490 - i32.lt_u - if - local.get $1 - call $~lib/math/NativeMath.expm1 - local.set $1 - local.get $3 - i32.const 1072693248 - i32.lt_u - if - local.get $3 - i32.const 1045430272 - i32.lt_u - if - local.get $0 - return - end - local.get $2 - f64.const 2 - local.get $1 - f64.mul - local.get $1 - local.get $1 - f64.mul - local.get $1 - f64.const 1 - f64.add - f64.div - f64.sub - f64.mul - return - end - local.get $2 - local.get $1 - local.get $1 - local.get $1 - f64.const 1 - f64.add - f64.div - f64.add - f64.mul - return - end - f64.const 2 - local.get $2 - f64.mul - local.get $1 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - f64.const 2247116418577894884661631e283 - f64.mul - f64.const 2247116418577894884661631e283 - f64.mul - f64.mul - ) - (func $../../lib/libm/assembly/libm/sinh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.sinh - ) - (func $../../lib/libm/assembly/libm/sqrt (param $0 f64) (result f64) - local.get $0 - f64.sqrt - ) - (func $~lib/math/tan_kern (param $0 f64) (param $1 f64) (param $2 i32) (result f64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 i32) - (local $7 i32) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $6 - i32.const 2147483647 - i32.and - i32.const 1072010280 - i32.ge_s - local.tee $7 - if - f64.const 0.7853981633974483 - local.get $6 - i32.const 0 - i32.lt_s - if (result f64) - local.get $1 - f64.neg - local.set $1 - local.get $0 - f64.neg - else - local.get $0 - end - f64.sub - f64.const 3.061616997868383e-17 - local.get $1 - f64.sub - f64.add - local.set $0 - f64.const 0 - local.set $1 - end - local.get $0 - local.get $0 - f64.mul - local.tee $4 - local.get $0 - f64.mul - local.set $5 - local.get $0 - local.get $1 - local.get $4 - local.get $5 - f64.const 0.13333333333320124 - local.get $4 - local.get $4 - f64.mul - local.tee $3 - f64.const 0.021869488294859542 - local.get $3 - f64.const 3.5920791075913124e-03 - local.get $3 - f64.const 5.880412408202641e-04 - local.get $3 - f64.const 7.817944429395571e-05 - local.get $3 - f64.const -1.8558637485527546e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - f64.const 0.05396825397622605 - local.get $3 - f64.const 0.0088632398235993 - local.get $3 - f64.const 1.4562094543252903e-03 - local.get $3 - f64.const 2.464631348184699e-04 - local.get $3 - f64.const 7.140724913826082e-05 - local.get $3 - f64.const 2.590730518636337e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $1 - f64.add - f64.mul - f64.add - f64.const 0.3333333333333341 - local.get $5 - f64.mul - f64.add - local.tee $3 - f64.add - local.set $1 - local.get $7 - if - f64.const 1 - local.get $6 - i32.const 30 - i32.shr_s - i32.const 2 - i32.and - f64.convert_i32_s - f64.sub - local.get $2 - f64.convert_i32_s - local.tee $4 - f64.const 2 - local.get $0 - local.get $1 - local.get $1 - f64.mul - local.get $1 - local.get $4 - f64.add - f64.div - local.get $3 - f64.sub - f64.sub - f64.mul - f64.sub - f64.mul - return - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $1 - return - end - f64.const -1 - local.get $1 - f64.div - local.tee $5 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $4 - local.get $5 - f64.const 1 - local.get $4 - local.get $1 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.tee $1 - f64.mul - f64.add - local.get $4 - local.get $3 - local.get $1 - local.get $0 - f64.sub - f64.sub - f64.mul - f64.add - f64.mul - f64.add - ) - (func $~lib/math/NativeMath.tan (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 i32) - (local $5 f64) - (local $6 i32) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $4 - i32.const 31 - i32.shr_u - local.set $6 - local.get $4 - i32.const 2147483647 - i32.and - local.tee $4 - i32.const 1072243195 - i32.le_s - if - local.get $4 - i32.const 1044381696 - i32.lt_s - if - local.get $0 - return - end - local.get $0 - f64.const 0 - i32.const 1 - call $~lib/math/tan_kern - return - end - local.get $4 - i32.const 2146435072 - i32.ge_s - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.2 (result i32) - local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.tee $4 - i32.const 1094263291 - i32.lt_u - if - local.get $4 - i32.const 20 - i32.shr_u - local.tee $6 - local.get $0 - local.get $0 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.tee $5 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.tee $0 - local.get $5 - f64.const 6.077100506506192e-11 - f64.mul - local.tee $3 - f64.sub - local.tee $1 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - i32.const 16 - i32.gt_u - if - local.get $5 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $0 - local.get $0 - local.get $5 - f64.const 6.077100506303966e-11 - f64.mul - local.tee $3 - f64.sub - local.tee $0 - f64.sub - local.get $3 - f64.sub - f64.sub - local.set $3 - local.get $6 - local.get $0 - local.get $3 - f64.sub - local.tee $1 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - i32.const 49 - i32.gt_u - if - local.get $5 - f64.const 8.4784276603689e-32 - f64.mul - local.get $0 - local.get $0 - local.get $5 - f64.const 2.0222662487111665e-21 - f64.mul - local.tee $3 - f64.sub - local.tee $0 - f64.sub - local.get $3 - f64.sub - f64.sub - local.set $3 - local.get $0 - local.get $3 - f64.sub - local.set $1 - end - end - local.get $1 - global.set $~lib/math/rempio2_y0 - local.get $0 - local.get $1 - f64.sub - local.get $3 - f64.sub - global.set $~lib/math/rempio2_y1 - local.get $5 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.2 - end - i32.const 0 - local.get $2 - call $~lib/math/pio2_large_quot - local.tee $4 - i32.sub - local.get $4 - local.get $6 - select - end - local.set $6 - global.get $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 - i32.const 1 - local.get $6 - i32.const 1 - i32.and - i32.const 1 - i32.shl - i32.sub - call $~lib/math/tan_kern - ) - (func $../../lib/libm/assembly/libm/tan (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.tan - ) - (func $~lib/math/NativeMath.tanh (param $0 f64) (result f64) - (local $1 f64) - (local $2 i32) - (local $3 i64) - local.get $0 - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - local.tee $3 - f64.reinterpret_i64 - local.set $1 - local.get $3 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.tee $2 - i32.const 1071748074 - i32.gt_u - if - local.get $2 - i32.const 1077149696 - i32.gt_u - if (result f64) - f64.const 1 - f64.const 0 - local.get $1 - f64.div - f64.sub - else - f64.const 1 - f64.const 2 - f64.const 2 - local.get $1 - f64.mul - call $~lib/math/NativeMath.expm1 - f64.const 2 - f64.add - f64.div - f64.sub - end - local.set $1 - else - local.get $2 - i32.const 1070618798 - i32.gt_u - if - f64.const 2 - local.get $1 - f64.mul - call $~lib/math/NativeMath.expm1 - local.tee $1 - local.get $1 - f64.const 2 - f64.add - f64.div - local.set $1 - else - local.get $2 - i32.const 1048576 - i32.ge_u - if - f64.const -2 - local.get $1 - f64.mul - call $~lib/math/NativeMath.expm1 - local.tee $1 - f64.neg - local.get $1 - f64.const 2 - f64.add - f64.div - local.set $1 - end - end - end - local.get $1 - local.get $0 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/tanh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.tanh - ) - (func $../../lib/libm/assembly/libm/trunc (param $0 f64) (result f64) - local.get $0 - f64.trunc - ) - (func $../../lib/libm/assembly/libmf/abs (param $0 f32) (result f32) - local.get $0 - f32.abs - ) - (func $~lib/math/Rf (param $0 f32) (result f32) - local.get $0 - f32.const 0.16666586697101593 - local.get $0 - f32.const -0.04274342209100723 - local.get $0 - f32.const -0.008656363002955914 - f32.mul - f32.add - f32.mul - f32.add - f32.mul - f32.const 1 - local.get $0 - f32.const -0.7066296339035034 - f32.mul - f32.add - f32.div - ) - (func $~lib/math/NativeMathf.acos (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - local.get $0 - i32.reinterpret_f32 - local.tee $3 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1065353216 - i32.ge_u - if - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $3 - i32.const 31 - i32.shr_u - if - f32.const 3.141592502593994 - return - end - f32.const 0 - return - end - f32.const 0 - local.get $0 - local.get $0 - f32.sub - f32.div - return - end - local.get $2 - i32.const 1056964608 - i32.lt_u - if - local.get $2 - i32.const 847249408 - i32.le_u - if - f32.const 1.570796251296997 - return - end - f32.const 1.570796251296997 - local.get $0 - f32.const 7.549789415861596e-08 - local.get $0 - local.get $0 - local.get $0 - f32.mul - call $~lib/math/Rf - f32.mul - f32.sub - f32.sub - f32.sub - return - end - local.get $3 - i32.const 31 - i32.shr_u - if - f32.const 2 - f32.const 1.570796251296997 - f32.const 0.5 - local.get $0 - f32.const 0.5 - f32.mul - f32.add - local.tee $0 - f32.sqrt - local.tee $1 - local.get $0 - call $~lib/math/Rf - local.get $1 - f32.mul - f32.const 7.549789415861596e-08 - f32.sub - f32.add - f32.sub - f32.mul - return - end - f32.const 2 - f32.const 0.5 - local.get $0 - f32.const 0.5 - f32.mul - f32.sub - local.tee $1 - f32.sqrt - local.tee $4 - i32.reinterpret_f32 - i32.const -4096 - i32.and - f32.reinterpret_i32 - local.tee $0 - local.get $1 - call $~lib/math/Rf - local.get $4 - f32.mul - local.get $1 - 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.mul - ) - (func $../../lib/libm/assembly/libmf/acos (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.acos - ) - (func $~lib/math/NativeMathf.log1p (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f32) - (local $6 f32) - i32.const 1 - local.set $3 - local.get $0 - i32.reinterpret_f32 - local.tee $2 - i32.const 1054086096 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 31 - i32.shr_u - end - if - local.get $2 - i32.const -1082130432 - i32.ge_u - if - local.get $0 - f32.const -1 - f32.eq - if - local.get $0 - f32.const 0 - f32.div - return - end - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - local.get $2 - i32.const 1 - i32.shl - i32.const 1728053248 - i32.lt_u - if - local.get $0 - return - end - local.get $2 - i32.const -1097468391 - i32.le_u - if - i32.const 0 - local.set $3 - local.get $0 - local.set $1 - end - else - local.get $2 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - end - end - local.get $3 - if - f32.const 1 - local.get $0 - f32.add - local.tee $1 - i32.reinterpret_f32 - i32.const 4913933 - i32.add - local.tee $2 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - local.tee $3 - i32.const 25 - i32.lt_s - if - f32.const 1 - local.get $1 - local.get $0 - f32.sub - f32.sub - local.get $0 - local.get $1 - f32.const 1 - f32.sub - f32.sub - local.get $3 - i32.const 2 - i32.ge_s - select - local.get $1 - f32.div - local.set $5 - end - local.get $2 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - f32.reinterpret_i32 - f32.const 1 - f32.sub - local.set $1 - end - local.get $1 - f32.const 2 - local.get $1 - f32.add - f32.div - local.tee $4 - local.get $4 - f32.mul - local.tee $6 - local.get $6 - f32.mul - local.set $0 - local.get $4 - f32.const 0.5 - local.get $1 - f32.mul - local.get $1 - f32.mul - local.tee $4 - local.get $6 - f32.const 0.6666666269302368 - local.get $0 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.get $0 - f32.const 0.40000972151756287 - local.get $0 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - f32.add - f32.add - f32.mul - local.get $3 - f32.convert_i32_s - local.tee $0 - f32.const 9.05800061445916e-06 - f32.mul - local.get $5 - f32.add - f32.add - local.get $4 - f32.sub - local.get $1 - f32.add - local.get $0 - f32.const 0.6931381225585938 - f32.mul - f32.add - ) - (func $~lib/math/NativeMathf.log (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 i32) - local.get $0 - i32.reinterpret_f32 - local.tee $1 - i32.const 8388608 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i32.const 1 - i32.shl - i32.eqz - if - f32.const -1 - local.get $0 - local.get $0 - f32.mul - f32.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - i32.const -25 - local.set $4 - local.get $0 - f32.const 33554432 - f32.mul - i32.reinterpret_f32 - local.set $1 - else - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - else - local.get $1 - i32.const 1065353216 - i32.eq - if - f32.const 0 - return - end - end - end - local.get $1 - i32.const 4913933 - i32.add - local.tee $1 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - f32.reinterpret_i32 - f32.const 1 - f32.sub - local.tee $0 - f32.const 2 - local.get $0 - f32.add - f32.div - local.tee $3 - local.get $3 - f32.mul - local.set $2 - local.get $3 - f32.const 0.5 - local.get $0 - f32.mul - local.get $0 - f32.mul - local.tee $3 - local.get $2 - f32.const 0.6666666269302368 - local.get $2 - local.get $2 - f32.mul - local.tee $2 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.get $2 - f32.const 0.40000972151756287 - local.get $2 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - f32.add - f32.add - f32.mul - local.get $4 - local.get $1 - i32.const 23 - i32.shr_s - i32.const 127 - i32.sub - i32.add - f32.convert_i32_s - local.tee $2 - f32.const 9.05800061445916e-06 - f32.mul - f32.add - local.get $3 - f32.sub - local.get $0 - f32.add - local.get $2 - f32.const 0.6931381225585938 - f32.mul - f32.add - ) - (func $../../lib/libm/assembly/libmf/acosh (param $0 f32) (result f32) - (local $1 i32) - block $__inlined_func$~lib/math/NativeMathf.acosh (result f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $1 - i32.const 1073741824 - i32.lt_u - if - local.get $0 - f32.const 1 - f32.sub - local.tee $0 - local.get $0 - local.get $0 - f32.const 2 - f32.add - f32.mul - f32.sqrt - f32.add - call $~lib/math/NativeMathf.log1p - br $__inlined_func$~lib/math/NativeMathf.acosh - end - local.get $1 - i32.const 1166016512 - i32.lt_u - if - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - local.get $0 - local.get $0 - local.get $0 - f32.mul - f32.const 1 - f32.sub - f32.sqrt - f32.add - f32.div - f32.sub - call $~lib/math/NativeMathf.log - br $__inlined_func$~lib/math/NativeMathf.acosh - end - local.get $0 - call $~lib/math/NativeMathf.log - f32.const 0.6931471824645996 - f32.add - end - ) - (func $~lib/math/NativeMathf.asin (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 f64) - local.get $0 - local.tee $1 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1065353216 - i32.ge_u - if - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $1 - f32.const 1.5707963705062866 - f32.mul - f32.const 7.52316384526264e-37 - f32.add - return - end - f32.const 0 - local.get $1 - local.get $1 - f32.sub - f32.div - return - end - local.get $2 - i32.const 1056964608 - i32.lt_u - if - local.get $2 - i32.const 8388608 - i32.ge_u - i32.const 0 - local.get $2 - i32.const 964689920 - i32.lt_u - select - if - local.get $1 - return - end - local.get $1 - local.get $1 - local.get $1 - local.get $1 - f32.mul - call $~lib/math/Rf - f32.mul - f32.add - return - end - f64.const 1.5707963705062866 - f64.const 2 - f32.const 0.5 - local.get $1 - f32.abs - f32.const 0.5 - f32.mul - f32.sub - local.tee $0 - f64.promote_f32 - f64.sqrt - local.tee $3 - local.get $3 - local.get $0 - call $~lib/math/Rf - f64.promote_f32 - f64.mul - f64.add - f64.mul - f64.sub - f32.demote_f64 - local.get $1 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/asin (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.asin - ) - (func $../../lib/libm/assembly/libmf/asinh (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - local.get $0 - local.tee $1 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $2 - f32.reinterpret_i32 - local.set $0 - local.get $2 - i32.const 1166016512 - i32.ge_u - if - local.get $0 - call $~lib/math/NativeMathf.log - f32.const 0.6931471824645996 - f32.add - local.set $0 - else - local.get $2 - i32.const 1073741824 - i32.ge_u - if - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - local.get $0 - local.get $0 - f32.mul - f32.const 1 - f32.add - f32.sqrt - local.get $0 - f32.add - f32.div - f32.add - call $~lib/math/NativeMathf.log - local.set $0 - else - local.get $2 - i32.const 964689920 - i32.ge_u - if - local.get $0 - local.get $0 - local.get $0 - f32.mul - local.tee $0 - local.get $0 - f32.const 1 - f32.add - f32.sqrt - f32.const 1 - f32.add - f32.div - f32.add - call $~lib/math/NativeMathf.log1p - local.set $0 - end - end - end - local.get $0 - local.get $1 - f32.copysign - ) - (func $~lib/math/NativeMathf.atan (param $0 f32) (result f32) - (local $1 f32) - (local $2 f32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - local.get $0 - local.set $1 - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $4 - i32.const 1283457024 - i32.ge_u - if - local.get $0 - local.get $0 - f32.ne - if - local.get $0 - return - end - f32.const 1.570796251296997 - local.get $1 - f32.copysign - return - end - local.get $4 - i32.const 1054867456 - i32.lt_u - if - local.get $4 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - i32.const -1 - local.set $3 - else - local.get $0 - f32.abs - local.set $0 - local.get $4 - i32.const 1066926080 - i32.lt_u - if (result f32) - local.get $4 - i32.const 1060110336 - i32.lt_u - if (result f32) - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - f32.sub - f32.const 2 - local.get $0 - f32.add - f32.div - else - i32.const 1 - local.set $3 - local.get $0 - f32.const 1 - f32.sub - local.get $0 - f32.const 1 - f32.add - f32.div - end - else - local.get $4 - i32.const 1075576832 - i32.lt_u - if (result f32) - i32.const 2 - local.set $3 - local.get $0 - f32.const 1.5 - f32.sub - f32.const 1 - f32.const 1.5 - local.get $0 - f32.mul - f32.add - f32.div - else - i32.const 3 - local.set $3 - f32.const -1 - local.get $0 - f32.div - end - end - local.set $0 - end - local.get $0 - local.get $0 - f32.mul - local.tee $5 - local.get $5 - f32.mul - local.set $2 - local.get $0 - local.get $5 - f32.const 0.333333283662796 - local.get $2 - f32.const 0.14253635704517365 - local.get $2 - f32.const 0.06168760731816292 - f32.mul - f32.add - f32.mul - f32.add - f32.mul - local.get $2 - f32.const -0.19999158382415771 - local.get $2 - f32.const -0.106480173766613 - f32.mul - f32.add - f32.mul - f32.add - f32.mul - local.set $2 - local.get $3 - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $2 - f32.sub - return - end - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - local.get $3 - if - local.get $3 - i32.const 1 - i32.sub - br_table $case1|0 $case2|0 $case3|0 $case4|0 - end - f32.const 0.46364760398864746 - local.get $2 - f32.const 5.01215824399992e-09 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $0 - br $break|0 - end - f32.const 0.7853981256484985 - local.get $2 - f32.const 3.774894707930798e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $0 - br $break|0 - end - f32.const 0.9827936887741089 - local.get $2 - f32.const 3.447321716976148e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $0 - br $break|0 - end - f32.const 1.570796251296997 - local.get $2 - f32.const 7.549789415861596e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $0 - br $break|0 - end - unreachable - end - local.get $0 - local.get $1 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/atan (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.atan - ) - (func $../../lib/libm/assembly/libmf/atanh (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - local.get $0 - local.tee $1 - f32.abs - local.set $0 - local.get $1 - i32.reinterpret_f32 - local.tee $2 - i32.const 1056964608 - i32.lt_u - if - local.get $2 - i32.const 796917760 - i32.ge_u - if - f32.const 0.5 - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - local.get $0 - f32.const 1 - local.get $0 - f32.sub - f32.div - f32.add - f32.mul - call $~lib/math/NativeMathf.log1p - f32.mul - local.set $0 - end - else - f32.const 0.5 - f32.const 2 - local.get $0 - f32.const 1 - local.get $0 - f32.sub - f32.div - f32.mul - call $~lib/math/NativeMathf.log1p - f32.mul - local.set $0 - end - local.get $0 - local.get $1 - f32.copysign - ) - (func $~lib/math/NativeMathf.atan2 (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 i32) - i32.const 1 - local.get $0 - local.get $0 - f32.ne - local.get $1 - local.get $1 - f32.ne - select - if - local.get $1 - local.get $0 - f32.add - return - end - local.get $0 - i32.reinterpret_f32 - local.set $2 - local.get $1 - i32.reinterpret_f32 - local.tee $5 - i32.const 1065353216 - i32.eq - if - local.get $0 - call $~lib/math/NativeMathf.atan - return - end - local.get $5 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and - local.get $2 - i32.const 31 - i32.shr_u - i32.or - local.set $3 - local.get $5 - i32.const 2147483647 - i32.and - local.set $5 - local.get $2 - i32.const 2147483647 - i32.and - local.tee $2 - i32.eqz - if - block $break|0 - block $case3|0 - block $case2|0 - local.get $3 - i32.eqz - local.get $3 - i32.const 1 - i32.eq - i32.or - i32.eqz - if - local.get $3 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $3 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - local.get $0 - return - end - f32.const 3.1415927410125732 - return - end - f32.const -3.1415927410125732 - return - end - end - block $folding-inner0 - local.get $5 - i32.eqz - br_if $folding-inner0 - local.get $5 - i32.const 2139095040 - i32.eq - if - local.get $2 - i32.const 2139095040 - i32.eq - if - f32.const 2.356194496154785 - f32.const 0.7853981852531433 - local.get $3 - i32.const 2 - i32.and - select - local.set $0 - else - f32.const 3.1415927410125732 - f32.const 0 - local.get $3 - i32.const 2 - i32.and - select - local.set $0 - end - local.get $3 - i32.const 1 - i32.and - if - local.get $0 - f32.neg - local.set $0 - end - local.get $0 - return - end - i32.const 1 - local.get $2 - i32.const 2139095040 - i32.eq - local.get $5 - i32.const 218103808 - i32.add - local.get $2 - i32.lt_u - select - br_if $folding-inner0 - local.get $2 - i32.const 218103808 - i32.add - local.get $5 - i32.lt_u - i32.const 0 - local.get $3 - i32.const 2 - i32.and - select - i32.eqz - if - local.get $0 - local.get $1 - f32.div - f32.abs - call $~lib/math/NativeMathf.atan - local.set $4 - end - block $break|1 - block $case3|1 - block $case2|1 - block $case1|1 - local.get $3 - local.tee $2 - if - local.get $2 - i32.const 1 - i32.sub - br_table $case1|1 $case2|1 $case3|1 $break|1 - end - local.get $4 - return - end - local.get $4 - f32.neg - return - end - f32.const 3.1415927410125732 - local.get $4 - f32.const -8.742277657347586e-08 - f32.sub - f32.sub - return - end - local.get $4 - f32.const -8.742277657347586e-08 - f32.sub - f32.const 3.1415927410125732 - f32.sub - return - end - unreachable - end - f32.const -1.5707963705062866 - f32.const 1.5707963705062866 - local.get $3 - i32.const 1 - i32.and - select - ) - (func $../../lib/libm/assembly/libmf/atan2 (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.atan2 - ) - (func $~lib/math/NativeMathf.cbrt (param $0 f32) (result f32) - (local $1 f64) - (local $2 f64) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.reinterpret_f32 - local.tee $4 - i32.const 2147483647 - i32.and - local.tee $3 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.add - return - end - local.get $3 - i32.const 8388608 - i32.lt_u - if (result i32) - local.get $3 - i32.eqz - if - local.get $0 - return - end - local.get $0 - f32.const 16777216 - f32.mul - i32.reinterpret_f32 - local.tee $4 - i32.const 2147483647 - i32.and - i32.const 3 - i32.div_u - i32.const 642849266 - i32.add - else - local.get $3 - i32.const 3 - i32.div_u - i32.const 709958130 - i32.add - end - local.get $4 - i32.const -2147483648 - i32.and - i32.or - f32.reinterpret_i32 - f64.promote_f32 - local.tee $1 - local.get $1 - f64.mul - local.get $1 - f64.mul - local.set $2 - local.get $1 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.add - local.get $2 - f64.add - f64.mul - local.get $0 - f64.promote_f32 - local.get $2 - f64.add - local.get $2 - f64.add - f64.div - local.tee $1 - local.get $1 - f64.mul - local.get $1 - f64.mul - local.set $2 - local.get $1 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.add - local.get $2 - f64.add - f64.mul - local.get $0 - f64.promote_f32 - local.get $2 - f64.add - local.get $2 - f64.add - f64.div - f32.demote_f64 - ) - (func $../../lib/libm/assembly/libmf/cbrt (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.cbrt - ) - (func $../../lib/libm/assembly/libmf/ceil (param $0 f32) (result f32) - local.get $0 - f32.ceil - ) - (func $../../lib/libm/assembly/libmf/clz32 (param $0 f32) (result f32) - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.ne - if (result f32) - f32.const 32 - else - local.get $0 - f64.promote_f32 - call $~lib/math/dtoi32 - i32.clz - f32.convert_i32_s - end - ) - (func $~lib/math/NativeMathf.cos (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i32) - (local $10 i32) - (local $11 i64) - local.get $0 - i32.reinterpret_f32 - local.tee $1 - i32.const 31 - i32.shr_u - local.set $10 - local.get $1 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1061752794 - i32.le_u - if - local.get $2 - i32.const 964689920 - i32.lt_u - if - f32.const 1 - return - end - local.get $0 - f64.promote_f32 - local.tee $3 - local.get $3 - f64.mul - local.tee $4 - local.get $4 - f64.mul - local.set $3 - f64.const 1 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $3 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $3 - local.get $4 - f64.mul - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $2 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.0 (result i32) - local.get $2 - i32.const 1305022427 - i32.lt_u - if - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.tee $3 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $3 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $3 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.0 - end - local.get $2 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.tee $1 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.const 1216 - i32.add - local.tee $9 - i64.load - local.set $6 - local.get $9 - i64.load offset=8 - local.set $7 - local.get $1 - i32.const 63 - i32.and - i64.extend_i32_s - local.tee $5 - i64.const 32 - i64.gt_u - if (result i64) - local.get $7 - local.get $5 - i64.const 32 - i64.sub - i64.shl - local.get $9 - i64.load offset=16 - i64.const 96 - local.get $5 - i64.sub - i64.shr_u - i64.or - else - local.get $7 - i64.const 32 - local.get $5 - i64.sub - i64.shr_u - end - local.set $11 - f64.const 8.515303950216386e-20 - local.get $0 - f64.promote_f32 - f64.copysign - local.get $2 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.tee $8 - local.get $6 - local.get $5 - i64.shl - local.get $7 - i64.const 64 - local.get $5 - i64.sub - i64.shr_u - i64.or - i64.mul - local.get $8 - local.get $11 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $6 - i64.const 2 - i64.shl - local.tee $8 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - i32.const 0 - local.get $6 - i64.const 62 - i64.shr_u - local.get $8 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.tee $1 - i32.sub - local.get $1 - local.get $10 - select - end - local.set $1 - global.get $~lib/math/rempio2f_y - local.set $3 - local.get $1 - i32.const 1 - i32.and - if (result f32) - local.get $3 - local.get $3 - local.get $3 - f64.mul - local.tee $4 - local.get $3 - f64.mul - local.tee $3 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $4 - local.get $4 - f64.mul - f64.mul - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - f64.mul - f64.add - f32.demote_f64 - else - local.get $3 - local.get $3 - f64.mul - local.tee $4 - local.get $4 - f64.mul - local.set $3 - f64.const 1 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $3 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $3 - local.get $4 - f64.mul - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - f64.mul - f64.add - f32.demote_f64 - end - local.set $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - i32.and - if - local.get $0 - f32.neg - local.set $0 - end - local.get $0 - ) - (func $../../lib/libm/assembly/libmf/cos (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.cos - ) - (func $~lib/math/NativeMathf.expm1 (param $0 f32) (result f32) - (local $1 f32) - (local $2 f32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 f32) - local.get $0 - i32.reinterpret_f32 - local.tee $4 - i32.const 31 - i32.shr_u - local.set $6 - local.get $4 - i32.const 2147483647 - i32.and - local.tee $4 - i32.const 1100331076 - i32.ge_u - if - local.get $4 - i32.const 2139095040 - i32.gt_u - if - local.get $0 - return - end - local.get $6 - if - f32.const -1 - return - end - local.get $0 - f32.const 88.7216796875 - f32.gt - if - local.get $0 - f32.const 1701411834604692317316873e14 - f32.mul - return - end - end - local.get $4 - i32.const 1051816472 - i32.gt_u - if - local.get $0 - i32.const 1 - local.get $6 - i32.const 1 - i32.shl - i32.sub - f32.const 1.4426950216293335 - local.get $0 - f32.mul - f32.const 0.5 - local.get $0 - f32.copysign - f32.add - i32.trunc_f32_s - local.get $4 - i32.const 1065686418 - i32.lt_u - select - local.tee $3 - f32.convert_i32_s - local.tee $0 - f32.const 0.6931381225585938 - f32.mul - f32.sub - local.tee $1 - local.get $1 - local.get $0 - f32.const 9.05800061445916e-06 - f32.mul - local.tee $1 - f32.sub - local.tee $0 - f32.sub - local.get $1 - f32.sub - local.set $5 - else - local.get $4 - i32.const 855638016 - i32.lt_u - if - local.get $0 - return - end - end - f32.const 3 - f32.const 1 - local.get $0 - f32.const 0.5 - local.get $0 - f32.mul - local.tee $2 - f32.mul - local.tee $1 - f32.const -0.03333321213722229 - local.get $1 - f32.const 1.5807170420885086e-03 - f32.mul - f32.add - f32.mul - f32.add - local.tee $7 - local.get $2 - f32.mul - f32.sub - local.set $2 - local.get $1 - local.get $7 - local.get $2 - f32.sub - f32.const 6 - local.get $0 - local.get $2 - f32.mul - f32.sub - f32.div - f32.mul - local.set $2 - local.get $3 - i32.eqz - if - local.get $0 - local.get $0 - local.get $2 - f32.mul - local.get $1 - f32.sub - f32.sub - return - end - local.get $0 - local.get $2 - local.get $5 - f32.sub - f32.mul - local.get $5 - f32.sub - local.get $1 - f32.sub - local.set $1 - local.get $3 - i32.const -1 - i32.eq - if - f32.const 0.5 - local.get $0 - local.get $1 - f32.sub - f32.mul - f32.const 0.5 - f32.sub - return - end - local.get $3 - i32.const 1 - i32.eq - if - local.get $0 - f32.const -0.25 - f32.lt - if - f32.const -2 - local.get $1 - local.get $0 - f32.const 0.5 - f32.add - f32.sub - f32.mul - return - end - f32.const 1 - f32.const 2 - local.get $0 - local.get $1 - f32.sub - f32.mul - f32.add - return - end - local.get $3 - i32.const 127 - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.set $5 - i32.const 1 - local.get $3 - i32.const 56 - i32.gt_s - local.get $3 - i32.const 0 - i32.lt_s - select - if - local.get $0 - local.get $1 - f32.sub - f32.const 1 - f32.add - local.tee $0 - f32.const 2 - f32.mul - f32.const 1701411834604692317316873e14 - f32.mul - local.get $0 - local.get $5 - f32.mul - local.get $3 - i32.const 128 - i32.eq - select - f32.const 1 - f32.sub - return - end - local.get $0 - f32.const 1 - i32.const 127 - local.get $3 - i32.sub - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.tee $2 - f32.sub - local.get $1 - f32.sub - f32.const 1 - local.get $1 - local.get $2 - f32.add - f32.sub - local.get $3 - i32.const 20 - i32.lt_s - select - f32.add - local.get $5 - f32.mul - ) - (func $~lib/math/NativeMathf.scalbn (param $0 f32) (param $1 i32) (result f32) - local.get $1 - i32.const 127 - i32.gt_s - if (result f32) - local.get $0 - f32.const 1701411834604692317316873e14 - f32.mul - local.set $0 - local.get $1 - i32.const 127 - i32.sub - local.tee $1 - i32.const 127 - i32.gt_s - if (result f32) - local.get $1 - i32.const 127 - i32.sub - local.tee $1 - i32.const 127 - local.get $1 - i32.const 127 - i32.lt_s - select - local.set $1 - local.get $0 - f32.const 1701411834604692317316873e14 - f32.mul - else - local.get $0 - end - else - local.get $1 - i32.const -126 - i32.lt_s - if (result f32) - local.get $0 - f32.const 1.9721522630525295e-31 - f32.mul - local.set $0 - local.get $1 - i32.const 102 - i32.add - local.tee $1 - i32.const -126 - i32.lt_s - if (result f32) - local.get $1 - i32.const 102 - i32.add - local.tee $1 - i32.const -126 - local.get $1 - i32.const -126 - i32.gt_s - select - local.set $1 - local.get $0 - f32.const 1.9721522630525295e-31 - f32.mul - else - local.get $0 - end - else - local.get $0 - end - end - local.get $1 - i32.const 127 - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - f32.mul - ) - (func $~lib/math/NativeMathf.exp (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - local.get $0 - i32.reinterpret_f32 - local.tee $2 - i32.const 31 - i32.shr_u - local.set $4 - local.get $2 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1118743632 - i32.ge_u - if - local.get $2 - i32.const 2139095040 - i32.gt_u - if - local.get $0 - return - end - local.get $2 - i32.const 1118925336 - i32.ge_u - if - local.get $4 - if - local.get $2 - i32.const 1120924085 - i32.ge_u - if - f32.const 0 - return - end - else - local.get $0 - f32.const 1701411834604692317316873e14 - f32.mul - return - end - end - end - local.get $2 - i32.const 1051816472 - i32.gt_u - if - local.get $0 - local.get $2 - i32.const 1065686418 - i32.gt_u - if (result i32) - f32.const 1.4426950216293335 - local.get $0 - f32.mul - f32.const 0.5 - local.get $0 - f32.copysign - f32.add - i32.trunc_f32_s - else - i32.const 1 - local.get $4 - i32.const 1 - i32.shl - i32.sub - end - local.tee $3 - f32.convert_i32_s - f32.const 0.693145751953125 - f32.mul - f32.sub - local.tee $1 - local.get $3 - f32.convert_i32_s - f32.const 1.428606765330187e-06 - f32.mul - local.tee $5 - f32.sub - local.set $0 - else - local.get $2 - i32.const 956301312 - i32.gt_u - if (result f32) - local.get $0 - else - f32.const 1 - local.get $0 - f32.add - return - end - local.set $1 - end - f32.const 1 - local.get $0 - local.get $0 - local.get $0 - local.get $0 - f32.mul - local.tee $0 - f32.const 0.16666625440120697 - local.get $0 - f32.const -2.7667332906275988e-03 - f32.mul - f32.add - f32.mul - f32.sub - local.tee $0 - f32.mul - f32.const 2 - local.get $0 - f32.sub - f32.div - local.get $5 - f32.sub - local.get $1 - f32.add - f32.add - local.set $0 - local.get $3 - if - local.get $0 - local.get $3 - call $~lib/math/NativeMathf.scalbn - local.set $0 - end - local.get $0 - ) - (func $../../lib/libm/assembly/libmf/cosh (param $0 f32) (result f32) - (local $1 i32) - block $__inlined_func$~lib/math/NativeMathf.cosh (result f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $1 - f32.reinterpret_i32 - local.set $0 - local.get $1 - i32.const 1060205079 - i32.lt_u - if - f32.const 1 - local.get $1 - i32.const 964689920 - i32.lt_u - br_if $__inlined_func$~lib/math/NativeMathf.cosh - drop - f32.const 1 - local.get $0 - call $~lib/math/NativeMathf.expm1 - local.tee $0 - local.get $0 - f32.mul - f32.const 2 - f32.const 2 - local.get $0 - f32.mul - f32.add - f32.div - f32.add - br $__inlined_func$~lib/math/NativeMathf.cosh - end - local.get $1 - i32.const 1118925335 - i32.lt_u - if - f32.const 0.5 - local.get $0 - call $~lib/math/NativeMathf.exp - local.tee $0 - f32.mul - f32.const 0.5 - local.get $0 - f32.div - f32.add - br $__inlined_func$~lib/math/NativeMathf.cosh - end - local.get $0 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - f32.const 1661534994731144841129758e11 - f32.mul - f32.const 1661534994731144841129758e11 - f32.mul - end - ) - (func $../../lib/libm/assembly/libmf/exp (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.exp - ) - (func $../../lib/libm/assembly/libmf/expm1 (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.expm1 - ) - (func $../../lib/libm/assembly/libmf/floor (param $0 f32) (result f32) - local.get $0 - f32.floor - ) - (func $../../lib/libm/assembly/libmf/fround (param $0 f32) (result f32) - local.get $0 - ) - (func $~lib/math/NativeMathf.hypot (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $3 - local.get $1 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $4 - i32.lt_u - if - local.get $3 - local.get $4 - local.set $3 - local.set $4 - end - local.get $3 - f32.reinterpret_i32 - local.set $0 - local.get $4 - f32.reinterpret_i32 - local.set $1 - local.get $4 - i32.const 2139095040 - i32.eq - if - local.get $1 - return - end - i32.const 1 - local.get $3 - local.get $4 - i32.sub - i32.const 209715200 - i32.ge_u - i32.const 1 - local.get $4 - i32.eqz - local.get $3 - i32.const 2139095040 - i32.ge_u - select - select - if - local.get $0 - local.get $1 - f32.add - return - end - f32.const 1 - local.set $5 - local.get $3 - i32.const 1568669696 - i32.ge_u - if (result f32) - f32.const 1237940039285380274899124e3 - local.set $5 - local.get $1 - f32.const 8.077935669463161e-28 - f32.mul - local.set $1 - local.get $0 - f32.const 8.077935669463161e-28 - f32.mul - else - local.get $4 - i32.const 562036736 - i32.lt_u - if (result f32) - f32.const 8.077935669463161e-28 - local.set $5 - local.get $1 - f32.const 1237940039285380274899124e3 - f32.mul - local.set $1 - local.get $0 - f32.const 1237940039285380274899124e3 - f32.mul - else - local.get $0 - end - end - local.set $0 - local.get $5 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.mul - local.get $1 - f64.promote_f32 - local.get $1 - f64.promote_f32 - f64.mul - f64.add - f32.demote_f64 - f32.sqrt - f32.mul - ) - (func $../../lib/libm/assembly/libmf/hypot (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.hypot - ) - (func $../../lib/libm/assembly/libmf/imul (param $0 f32) (param $1 f32) (result f32) - (local $2 f32) - (local $3 f32) - local.get $0 - local.tee $2 - local.get $1 - f32.add - local.tee $0 - local.get $0 - f32.sub - f32.const 0 - f32.eq - if - local.get $2 - f64.promote_f32 - call $~lib/math/dtoi32 - local.get $1 - f64.promote_f32 - call $~lib/math/dtoi32 - i32.mul - f32.convert_i32_s - local.set $3 - end - local.get $3 - ) - (func $../../lib/libm/assembly/libmf/log (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log - ) - (func $~lib/math/NativeMathf.log10 (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 f32) - (local $5 i32) - (local $6 f32) - local.get $0 - i32.reinterpret_f32 - local.tee $1 - i32.const 8388608 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i32.const 1 - i32.shl - i32.eqz - if - f32.const -1 - local.get $0 - local.get $0 - f32.mul - f32.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - i32.const -25 - local.set $5 - local.get $0 - f32.const 33554432 - f32.mul - i32.reinterpret_f32 - local.set $1 - else - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - else - local.get $1 - i32.const 1065353216 - i32.eq - if - f32.const 0 - return - end - end - end - local.get $1 - i32.const 4913933 - i32.add - local.tee $1 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - f32.reinterpret_i32 - f32.const 1 - f32.sub - local.tee $0 - f32.const 2 - local.get $0 - f32.add - f32.div - local.tee $3 - local.get $3 - f32.mul - local.set $2 - local.get $5 - local.get $1 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - i32.add - f32.convert_i32_s - local.tee $6 - f32.const 7.903415166765626e-07 - f32.mul - local.get $0 - local.get $0 - f32.const 0.5 - local.get $0 - f32.mul - local.get $0 - f32.mul - local.tee $0 - f32.sub - i32.reinterpret_f32 - i32.const -4096 - i32.and - f32.reinterpret_i32 - local.tee $4 - f32.sub - local.get $0 - f32.sub - local.get $3 - local.get $0 - local.get $2 - f32.const 0.6666666269302368 - local.get $2 - local.get $2 - f32.mul - local.tee $0 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.get $0 - f32.const 0.40000972151756287 - local.get $0 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - f32.add - f32.add - f32.mul - f32.add - local.tee $0 - local.get $4 - f32.add - f32.const -3.168997136526741e-05 - f32.mul - f32.add - local.get $0 - f32.const 0.434326171875 - f32.mul - f32.add - local.get $4 - f32.const 0.434326171875 - f32.mul - f32.add - local.get $6 - f32.const 0.3010292053222656 - f32.mul - f32.add - ) - (func $../../lib/libm/assembly/libmf/log10 (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log10 - ) - (func $../../lib/libm/assembly/libmf/log1p (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log1p - ) - (func $~lib/math/NativeMathf.log2 (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 f32) - (local $5 i32) - local.get $0 - i32.reinterpret_f32 - local.tee $1 - i32.const 8388608 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i32.const 1 - i32.shl - i32.eqz - if - f32.const -1 - local.get $0 - local.get $0 - f32.mul - f32.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - i32.const -25 - local.set $5 - local.get $0 - f32.const 33554432 - f32.mul - i32.reinterpret_f32 - local.set $1 - else - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - else - local.get $1 - i32.const 1065353216 - i32.eq - if - f32.const 0 - return - end - end - end - local.get $1 - i32.const 4913933 - i32.add - local.tee $1 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - f32.reinterpret_i32 - f32.const 1 - f32.sub - local.tee $0 - f32.const 2 - local.get $0 - f32.add - f32.div - local.tee $3 - local.get $3 - f32.mul - local.set $2 - local.get $0 - local.get $0 - f32.const 0.5 - local.get $0 - f32.mul - local.get $0 - f32.mul - local.tee $0 - f32.sub - i32.reinterpret_f32 - i32.const -4096 - i32.and - f32.reinterpret_i32 - local.tee $4 - f32.sub - local.get $0 - f32.sub - local.get $3 - local.get $0 - local.get $2 - f32.const 0.6666666269302368 - local.get $2 - local.get $2 - f32.mul - local.tee $0 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.get $0 - f32.const 0.40000972151756287 - local.get $0 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - f32.add - f32.add - f32.mul - f32.add - local.tee $0 - local.get $4 - f32.add - f32.const -1.7605285393074155e-04 - f32.mul - local.get $0 - f32.const 1.44287109375 - f32.mul - f32.add - local.get $4 - f32.const 1.44287109375 - f32.mul - f32.add - local.get $5 - local.get $1 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - i32.add - f32.convert_i32_s - f32.add - ) - (func $../../lib/libm/assembly/libmf/log2 (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log2 - ) - (func $../../lib/libm/assembly/libmf/max (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - f32.max - ) - (func $../../lib/libm/assembly/libmf/min (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - f32.min - ) - (func $~lib/math/NativeMathf.pow (param $0 f32) (param $1 f32) (result f32) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 f32) - (local $10 i32) - (local $11 i64) - local.get $1 - f32.abs - f32.const 2 - f32.le - if - local.get $1 - f32.const 2 - f32.eq - if - local.get $0 - local.get $0 - f32.mul - return - end - local.get $1 - f32.const 0.5 - f32.eq - if - local.get $0 - f32.sqrt - f32.abs - f32.const inf - local.get $0 - f32.const -inf - f32.ne - select - return - end - local.get $1 - f32.const -1 - f32.eq - if - f32.const 1 - local.get $0 - f32.div - return - end - local.get $1 - f32.const 1 - f32.eq - if - local.get $0 - return - end - local.get $1 - f32.const 0 - f32.eq - if - f32.const 1 - return - end - end - local.get $1 - f32.const 0 - f32.eq - if - f32.const 1 - return - end - local.get $0 - local.get $0 - f32.ne - local.get $1 - local.get $1 - f32.ne - i32.or - if - f32.const nan:0x400000 - return - end - local.get $0 - i32.reinterpret_f32 - local.tee $4 - i32.const 2147483647 - i32.and - local.set $7 - local.get $4 - i32.const 31 - i32.shr_u - local.tee $4 - if (result i32) - local.get $1 - f32.nearest - local.get $1 - f32.eq - else - i32.const 0 - end - if - i32.const 0 - local.set $4 - local.get $1 - f32.const 0.5 - f32.mul - local.tee $9 - f32.nearest - local.get $9 - f32.ne - i32.const 31 - i32.shl - local.set $10 - local.get $0 - f32.neg - local.set $0 - end - local.get $1 - i32.reinterpret_f32 - local.set $6 - local.get $7 - i32.const 1065353216 - i32.eq - if (result i32) - i32.const 2143289344 - i32.const 1065353216 - local.get $4 - local.get $6 - i32.const 2147483647 - i32.and - i32.const 2139095040 - i32.eq - i32.or - select - else - local.get $7 - if (result i32) - local.get $7 - i32.const 2139095040 - i32.eq - if (result i32) - i32.const 0 - i32.const 2139095040 - local.get $6 - i32.const 31 - i32.shr_u - select - else - local.get $4 - if (result i32) - i32.const 2143289344 - else - local.get $0 - f64.promote_f32 - i64.reinterpret_f64 - local.tee $11 - i64.const 4604544271217802189 - i64.sub - i64.const 52 - i64.shr_s - local.set $8 - local.get $11 - local.get $8 - i64.const 52 - i64.shl - i64.sub - f64.reinterpret_i64 - local.tee $2 - f64.const 1 - f64.sub - local.get $2 - f64.const 1 - f64.add - f64.div - local.tee $3 - local.get $3 - f64.mul - local.set $2 - block $~lib/math/exp2f|inlined.0 - local.get $1 - f64.promote_f32 - f64.const 2.8853900817779268 - local.get $3 - local.get $3 - local.get $2 - f64.mul - f64.const 0.3333333282272823 - f64.const 0.20000167595436263 - local.get $2 - f64.mul - f64.add - f64.const 0.14268654271188685 - f64.const 0.11791075649681414 - local.get $2 - f64.mul - f64.add - local.get $2 - local.get $2 - f64.mul - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $8 - f64.convert_i64_s - f64.add - f64.mul - local.tee $2 - f64.const -1022 - f64.lt - br_if $~lib/math/exp2f|inlined.0 - local.get $2 - f64.const 1024 - f64.ge - if - f64.const inf - local.set $5 - br $~lib/math/exp2f|inlined.0 - end - local.get $2 - local.get $2 - f64.nearest - local.tee $5 - f64.sub - local.tee $2 - local.get $2 - f64.mul - local.set $3 - f64.const 1 - local.get $2 - f64.const 0.6931471880289533 - f64.const 0.24022651084211735 - local.get $2 - f64.mul - f64.add - f64.const 0.055503571054988744 - f64.const 0.009618030771171498 - local.get $2 - f64.mul - f64.add - local.get $3 - f64.mul - f64.add - f64.const 0.001339086685300951 - f64.const 1.5469734999890288e-04 - local.get $2 - f64.mul - f64.add - local.get $3 - local.get $3 - f64.mul - f64.mul - f64.add - f64.mul - f64.add - i64.reinterpret_f64 - local.get $5 - i64.trunc_f64_s - i64.const 52 - i64.shl - i64.add - f64.reinterpret_i64 - local.set $5 - end - local.get $5 - f32.demote_f64 - i32.reinterpret_f32 - end - end - else - i32.const 2139095040 - i32.const 0 - local.get $6 - i32.const 31 - i32.shr_u - select - end - end - local.get $10 - i32.or - f32.reinterpret_i32 - ) - (func $../../lib/libm/assembly/libmf/pow (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.pow - ) - (func $../../lib/libm/assembly/libmf/round (param $0 f32) (result f32) - local.get $0 - f32.const 0.5 - f32.add - f32.floor - local.get $0 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/sign (param $0 f32) (result f32) - local.get $0 - f32.abs - f32.const 0 - f32.gt - if - f32.const 1 - local.get $0 - f32.copysign - local.set $0 - end - local.get $0 - ) - (func $~lib/math/NativeMathf.sin (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 i64) - (local $6 f64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i64) - local.get $0 - i32.reinterpret_f32 - local.tee $1 - i32.const 31 - i32.shr_u - local.set $11 - local.get $1 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1061752794 - i32.le_u - if - local.get $2 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $0 - f64.promote_f32 - local.tee $4 - local.get $4 - f64.mul - local.tee $6 - local.get $4 - f64.mul - local.set $3 - local.get $4 - local.get $3 - f64.const -0.16666666641626524 - local.get $6 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $6 - local.get $6 - f64.mul - f64.mul - f64.const -1.9839334836096632e-04 - local.get $6 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $2 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.1 (result i32) - local.get $2 - i32.const 1305022427 - i32.lt_u - if - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.tee $3 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $3 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $3 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.1 - end - local.get $2 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.tee $1 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.const 1216 - i32.add - local.tee $10 - i64.load - local.set $7 - local.get $10 - i64.load offset=8 - local.set $8 - local.get $1 - i32.const 63 - i32.and - i64.extend_i32_s - local.tee $5 - i64.const 32 - i64.gt_u - if (result i64) - local.get $8 - local.get $5 - i64.const 32 - i64.sub - i64.shl - local.get $10 - i64.load offset=16 - i64.const 96 - local.get $5 - i64.sub - i64.shr_u - i64.or - else - local.get $8 - i64.const 32 - local.get $5 - i64.sub - i64.shr_u - end - local.set $12 - f64.const 8.515303950216386e-20 - local.get $0 - f64.promote_f32 - f64.copysign - local.get $2 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.tee $9 - local.get $7 - local.get $5 - i64.shl - local.get $8 - i64.const 64 - local.get $5 - i64.sub - i64.shr_u - i64.or - i64.mul - local.get $9 - local.get $12 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $7 - i64.const 2 - i64.shl - local.tee $9 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - i32.const 0 - local.get $7 - i64.const 62 - i64.shr_u - local.get $9 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.tee $1 - i32.sub - local.get $1 - local.get $11 - select - end - local.set $1 - global.get $~lib/math/rempio2f_y - local.set $3 - local.get $1 - i32.const 1 - i32.and - if (result f32) - local.get $3 - local.get $3 - f64.mul - local.tee $4 - local.get $4 - f64.mul - local.set $3 - f64.const 1 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $3 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $3 - local.get $4 - f64.mul - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - f64.mul - f64.add - f32.demote_f64 - else - local.get $3 - local.get $3 - local.get $3 - f64.mul - local.tee $4 - local.get $3 - f64.mul - local.tee $3 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $4 - local.get $4 - f64.mul - f64.mul - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - f64.mul - f64.add - f32.demote_f64 - end - local.set $0 - local.get $1 - i32.const 2 - i32.and - if - local.get $0 - f32.neg - local.set $0 - end - local.get $0 - ) - (func $../../lib/libm/assembly/libmf/sin (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.sin - ) - (func $~lib/math/NativeMathf.sinh (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $2 - f32.reinterpret_i32 - local.set $1 - f32.const 0.5 - local.get $0 - f32.copysign - local.set $3 - local.get $2 - i32.const 1118925335 - i32.lt_u - if - local.get $1 - call $~lib/math/NativeMathf.expm1 - local.set $1 - local.get $2 - i32.const 1065353216 - i32.lt_u - if - local.get $2 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $3 - f32.const 2 - local.get $1 - f32.mul - local.get $1 - local.get $1 - f32.mul - local.get $1 - f32.const 1 - f32.add - f32.div - f32.sub - f32.mul - return - end - local.get $3 - local.get $1 - local.get $1 - local.get $1 - f32.const 1 - f32.add - f32.div - f32.add - f32.mul - return - end - f32.const 2 - local.get $3 - f32.mul - local.get $1 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - f32.const 1661534994731144841129758e11 - f32.mul - f32.const 1661534994731144841129758e11 - f32.mul - f32.mul - ) - (func $../../lib/libm/assembly/libmf/sinh (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.sinh - ) - (func $../../lib/libm/assembly/libmf/sqrt (param $0 f32) (result f32) - local.get $0 - f32.sqrt - ) - (func $~lib/math/NativeMathf.tan (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i64) - local.get $0 - i32.reinterpret_f32 - local.tee $1 - i32.const 31 - i32.shr_u - local.set $11 - local.get $1 - i32.const 2147483647 - i32.and - local.tee $2 - i32.const 1061752794 - i32.le_u - if - local.get $2 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $0 - f64.promote_f32 - local.tee $5 - local.get $5 - f64.mul - local.tee $4 - local.get $5 - f64.mul - local.set $3 - local.get $5 - local.get $3 - f64.const 0.3333313950307914 - local.get $4 - f64.const 0.13339200271297674 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $4 - local.get $4 - f64.mul - local.tee $3 - f64.mul - f64.const 0.05338123784456704 - local.get $4 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.get $3 - f64.const 0.002974357433599673 - local.get $4 - f64.const 0.009465647849436732 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $2 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.2 (result i32) - local.get $2 - i32.const 1305022427 - i32.lt_u - if - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.tee $3 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $3 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $3 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.2 - end - local.get $2 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.tee $1 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.const 1216 - i32.add - local.tee $10 - i64.load - local.set $7 - local.get $10 - i64.load offset=8 - local.set $8 - local.get $1 - i32.const 63 - i32.and - i64.extend_i32_s - local.tee $6 - i64.const 32 - i64.gt_u - if (result i64) - local.get $8 - local.get $6 - i64.const 32 - i64.sub - i64.shl - local.get $10 - i64.load offset=16 - i64.const 96 - local.get $6 - i64.sub - i64.shr_u - i64.or - else - local.get $8 - i64.const 32 - local.get $6 - i64.sub - i64.shr_u - end - local.set $12 - f64.const 8.515303950216386e-20 - local.get $0 - f64.promote_f32 - f64.copysign - local.get $2 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.tee $9 - local.get $7 - local.get $6 - i64.shl - local.get $8 - i64.const 64 - local.get $6 - i64.sub - i64.shr_u - i64.or - i64.mul - local.get $9 - local.get $12 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $7 - i64.const 2 - i64.shl - local.tee $9 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - i32.const 0 - local.get $7 - i64.const 62 - i64.shr_u - local.get $9 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.tee $1 - i32.sub - local.get $1 - local.get $11 - select - end - global.get $~lib/math/rempio2f_y - local.tee $5 - local.get $5 - f64.mul - local.tee $4 - local.get $5 - f64.mul - local.set $3 - local.get $5 - local.get $3 - f64.const 0.3333313950307914 - local.get $4 - f64.const 0.13339200271297674 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $4 - local.get $4 - f64.mul - local.tee $3 - f64.mul - f64.const 0.05338123784456704 - local.get $4 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.get $3 - f64.const 0.002974357433599673 - local.get $4 - f64.const 0.009465647849436732 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $3 - i32.const 1 - i32.and - if - f64.const -1 - local.get $3 - f64.div - local.set $3 - end - local.get $3 - f32.demote_f64 - ) - (func $../../lib/libm/assembly/libmf/tan (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.tan - ) - (func $../../lib/libm/assembly/libmf/tanh (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.tee $2 - f32.reinterpret_i32 - local.set $1 - local.get $2 - i32.const 1057791828 - i32.gt_u - if (result f32) - local.get $2 - i32.const 1092616192 - i32.gt_u - if (result f32) - f32.const 1 - f32.const 0 - local.get $1 - f32.div - f32.add - else - f32.const 1 - f32.const 2 - f32.const 2 - local.get $1 - f32.mul - call $~lib/math/NativeMathf.expm1 - f32.const 2 - f32.add - f32.div - f32.sub - end - else - local.get $2 - i32.const 1048757624 - i32.gt_u - if (result f32) - f32.const 2 - local.get $1 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.tee $1 - local.get $1 - f32.const 2 - f32.add - f32.div - else - local.get $2 - i32.const 8388608 - i32.ge_u - if (result f32) - f32.const -2 - local.get $1 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.tee $1 - f32.neg - local.get $1 - f32.const 2 - f32.add - f32.div - else - local.get $1 - end - end - end - local.get $0 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/trunc (param $0 f32) (result f32) - local.get $0 - f32.trunc - ) -) diff --git a/tests/compiler/std/libm.ts b/tests/compiler/std/libm.ts deleted file mode 100644 index 4f3e58bf53..0000000000 --- a/tests/compiler/std/libm.ts +++ /dev/null @@ -1,3 +0,0 @@ -import * as libm from "../../../lib/libm/assembly/libm"; -import * as libmf from "../../../lib/libm/assembly/libmf"; -export { libm, libmf }; diff --git a/tests/compiler/std/libm.untouched.wat b/tests/compiler/std/libm.untouched.wat deleted file mode 100644 index ddd3620d75..0000000000 --- a/tests/compiler/std/libm.untouched.wat +++ /dev/null @@ -1,12369 +0,0 @@ -(module - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $f64_i64_=>_i32 (func (param f64 i64) (result i32))) - (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) - (memory $0 1) - (data (i32.const 8) "\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") - (data (i32.const 2056) "k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d \f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c \89<\b9{F\13\000\e9?v\02\98KN\80\7f .\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce? O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe| \f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04` \c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 4104) "n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 4296) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c \be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80 \f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a6\b2O\ce1\ef?\f2\e7\1f\98+G\80<\dd|\e2eE+\ef?^\08q?{\b8\96\bc\81c\f5\e1\df$\ef?1\ab\tm\e1\f7\82<\e1\de\1f\f5\9d\1e\ef?\fa\bfo\1a\9b!=\bc\90\d9\da\d0\7f\18\ef?\b4\n\0cr\827\8b<\0b\03\e4\a6\85\12\ef?\8f\cb\ce\89\92\14n\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96 Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90]\deOi\a0\ee?\1d\a5M\b9\dc2{\bc\87\01\ebs\14\a1\ee?k\c0gT\fd\ec\94<2\c10\01\ed\a1\ee?Ul\d6\ab\e1\ebe T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90 \b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6344) "\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 7368) "\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m )\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98 \e90.\90\80\91\bc") - (data (i32.const 8392) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf \11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 13032) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (table $0 1 funcref) - (global $~lib/math/NativeMath.E f64 (f64.const 2.718281828459045)) - (global $../../lib/libm/assembly/libm/E f64 (f64.const 2.718281828459045)) - (global $~lib/math/NativeMath.LN10 f64 (f64.const 2.302585092994046)) - (global $../../lib/libm/assembly/libm/LN10 f64 (f64.const 2.302585092994046)) - (global $~lib/math/NativeMath.LN2 f64 (f64.const 0.6931471805599453)) - (global $../../lib/libm/assembly/libm/LN2 f64 (f64.const 0.6931471805599453)) - (global $~lib/math/NativeMath.LOG10E f64 (f64.const 0.4342944819032518)) - (global $../../lib/libm/assembly/libm/LOG10E f64 (f64.const 0.4342944819032518)) - (global $~lib/math/NativeMath.LOG2E f64 (f64.const 1.4426950408889634)) - (global $../../lib/libm/assembly/libm/LOG2E f64 (f64.const 1.4426950408889634)) - (global $~lib/math/NativeMath.PI f64 (f64.const 3.141592653589793)) - (global $../../lib/libm/assembly/libm/PI f64 (f64.const 3.141592653589793)) - (global $~lib/math/NativeMath.SQRT1_2 f64 (f64.const 0.7071067811865476)) - (global $../../lib/libm/assembly/libm/SQRT1_2 f64 (f64.const 0.7071067811865476)) - (global $~lib/math/NativeMath.SQRT2 f64 (f64.const 1.4142135623730951)) - (global $../../lib/libm/assembly/libm/SQRT2 f64 (f64.const 1.4142135623730951)) - (global $~lib/math/NativeMathf.E f32 (f32.const 2.7182817459106445)) - (global $../../lib/libm/assembly/libmf/E f32 (f32.const 2.7182817459106445)) - (global $~lib/math/NativeMathf.LN10 f32 (f32.const 2.3025851249694824)) - (global $../../lib/libm/assembly/libmf/LN10 f32 (f32.const 2.3025851249694824)) - (global $~lib/math/NativeMathf.LN2 f32 (f32.const 0.6931471824645996)) - (global $../../lib/libm/assembly/libmf/LN2 f32 (f32.const 0.6931471824645996)) - (global $~lib/math/NativeMathf.LOG10E f32 (f32.const 0.4342944920063019)) - (global $../../lib/libm/assembly/libmf/LOG10E f32 (f32.const 0.4342944920063019)) - (global $~lib/math/NativeMathf.LOG2E f32 (f32.const 1.4426950216293335)) - (global $../../lib/libm/assembly/libmf/LOG2E f32 (f32.const 1.4426950216293335)) - (global $~lib/math/NativeMathf.PI f32 (f32.const 3.1415927410125732)) - (global $../../lib/libm/assembly/libmf/PI f32 (f32.const 3.1415927410125732)) - (global $~lib/math/NativeMathf.SQRT1_2 f32 (f32.const 0.7071067690849304)) - (global $../../lib/libm/assembly/libmf/SQRT1_2 f32 (f32.const 0.7071067690849304)) - (global $~lib/math/NativeMathf.SQRT2 f32 (f32.const 1.4142135381698608)) - (global $../../lib/libm/assembly/libmf/SQRT2 f32 (f32.const 1.4142135381698608)) - (global $~lib/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/util/math/log_tail (mut f64) (f64.const 0)) - (global $~lib/math/rempio2f_y (mut f64) (f64.const 0)) - (export "memory" (memory $0)) - (export "libm.E" (global $../../lib/libm/assembly/libm/E)) - (export "libm.LN10" (global $../../lib/libm/assembly/libm/LN10)) - (export "libm.LN2" (global $../../lib/libm/assembly/libm/LN2)) - (export "libm.LOG10E" (global $../../lib/libm/assembly/libm/LOG10E)) - (export "libm.LOG2E" (global $../../lib/libm/assembly/libm/LOG2E)) - (export "libm.PI" (global $../../lib/libm/assembly/libm/PI)) - (export "libm.SQRT1_2" (global $../../lib/libm/assembly/libm/SQRT1_2)) - (export "libm.SQRT2" (global $../../lib/libm/assembly/libm/SQRT2)) - (export "libm.abs" (func $../../lib/libm/assembly/libm/abs)) - (export "libm.acos" (func $../../lib/libm/assembly/libm/acos)) - (export "libm.acosh" (func $../../lib/libm/assembly/libm/acosh)) - (export "libm.asin" (func $../../lib/libm/assembly/libm/asin)) - (export "libm.asinh" (func $../../lib/libm/assembly/libm/asinh)) - (export "libm.atan" (func $../../lib/libm/assembly/libm/atan)) - (export "libm.atanh" (func $../../lib/libm/assembly/libm/atanh)) - (export "libm.atan2" (func $../../lib/libm/assembly/libm/atan2)) - (export "libm.cbrt" (func $../../lib/libm/assembly/libm/cbrt)) - (export "libm.ceil" (func $../../lib/libm/assembly/libm/ceil)) - (export "libm.clz32" (func $../../lib/libm/assembly/libm/clz32)) - (export "libm.cos" (func $../../lib/libm/assembly/libm/cos)) - (export "libm.cosh" (func $../../lib/libm/assembly/libm/cosh)) - (export "libm.exp" (func $../../lib/libm/assembly/libm/exp)) - (export "libm.expm1" (func $../../lib/libm/assembly/libm/expm1)) - (export "libm.floor" (func $../../lib/libm/assembly/libm/floor)) - (export "libm.fround" (func $../../lib/libm/assembly/libm/fround)) - (export "libm.hypot" (func $../../lib/libm/assembly/libm/hypot)) - (export "libm.imul" (func $../../lib/libm/assembly/libm/imul)) - (export "libm.log" (func $../../lib/libm/assembly/libm/log)) - (export "libm.log10" (func $../../lib/libm/assembly/libm/log10)) - (export "libm.log1p" (func $../../lib/libm/assembly/libm/log1p)) - (export "libm.log2" (func $../../lib/libm/assembly/libm/log2)) - (export "libm.max" (func $../../lib/libm/assembly/libm/max)) - (export "libm.min" (func $../../lib/libm/assembly/libm/min)) - (export "libm.pow" (func $../../lib/libm/assembly/libm/pow)) - (export "libm.round" (func $../../lib/libm/assembly/libm/round)) - (export "libm.sign" (func $../../lib/libm/assembly/libm/sign)) - (export "libm.sin" (func $../../lib/libm/assembly/libm/sin)) - (export "libm.sinh" (func $../../lib/libm/assembly/libm/sinh)) - (export "libm.sqrt" (func $../../lib/libm/assembly/libm/sqrt)) - (export "libm.tan" (func $../../lib/libm/assembly/libm/tan)) - (export "libm.tanh" (func $../../lib/libm/assembly/libm/tanh)) - (export "libm.trunc" (func $../../lib/libm/assembly/libm/trunc)) - (export "libmf.E" (global $../../lib/libm/assembly/libmf/E)) - (export "libmf.LN10" (global $../../lib/libm/assembly/libmf/LN10)) - (export "libmf.LN2" (global $../../lib/libm/assembly/libmf/LN2)) - (export "libmf.LOG10E" (global $../../lib/libm/assembly/libmf/LOG10E)) - (export "libmf.LOG2E" (global $../../lib/libm/assembly/libmf/LOG2E)) - (export "libmf.PI" (global $../../lib/libm/assembly/libmf/PI)) - (export "libmf.SQRT1_2" (global $../../lib/libm/assembly/libmf/SQRT1_2)) - (export "libmf.SQRT2" (global $../../lib/libm/assembly/libmf/SQRT2)) - (export "libmf.abs" (func $../../lib/libm/assembly/libmf/abs)) - (export "libmf.acos" (func $../../lib/libm/assembly/libmf/acos)) - (export "libmf.acosh" (func $../../lib/libm/assembly/libmf/acosh)) - (export "libmf.asin" (func $../../lib/libm/assembly/libmf/asin)) - (export "libmf.asinh" (func $../../lib/libm/assembly/libmf/asinh)) - (export "libmf.atan" (func $../../lib/libm/assembly/libmf/atan)) - (export "libmf.atanh" (func $../../lib/libm/assembly/libmf/atanh)) - (export "libmf.atan2" (func $../../lib/libm/assembly/libmf/atan2)) - (export "libmf.cbrt" (func $../../lib/libm/assembly/libmf/cbrt)) - (export "libmf.ceil" (func $../../lib/libm/assembly/libmf/ceil)) - (export "libmf.clz32" (func $../../lib/libm/assembly/libmf/clz32)) - (export "libmf.cos" (func $../../lib/libm/assembly/libmf/cos)) - (export "libmf.cosh" (func $../../lib/libm/assembly/libmf/cosh)) - (export "libmf.exp" (func $../../lib/libm/assembly/libmf/exp)) - (export "libmf.expm1" (func $../../lib/libm/assembly/libmf/expm1)) - (export "libmf.floor" (func $../../lib/libm/assembly/libmf/floor)) - (export "libmf.fround" (func $../../lib/libm/assembly/libmf/fround)) - (export "libmf.hypot" (func $../../lib/libm/assembly/libmf/hypot)) - (export "libmf.imul" (func $../../lib/libm/assembly/libmf/imul)) - (export "libmf.log" (func $../../lib/libm/assembly/libmf/log)) - (export "libmf.log10" (func $../../lib/libm/assembly/libmf/log10)) - (export "libmf.log1p" (func $../../lib/libm/assembly/libmf/log1p)) - (export "libmf.log2" (func $../../lib/libm/assembly/libmf/log2)) - (export "libmf.max" (func $../../lib/libm/assembly/libmf/max)) - (export "libmf.min" (func $../../lib/libm/assembly/libmf/min)) - (export "libmf.pow" (func $../../lib/libm/assembly/libmf/pow)) - (export "libmf.round" (func $../../lib/libm/assembly/libmf/round)) - (export "libmf.sign" (func $../../lib/libm/assembly/libmf/sign)) - (export "libmf.sin" (func $../../lib/libm/assembly/libmf/sin)) - (export "libmf.sinh" (func $../../lib/libm/assembly/libmf/sinh)) - (export "libmf.sqrt" (func $../../lib/libm/assembly/libmf/sqrt)) - (export "libmf.tan" (func $../../lib/libm/assembly/libmf/tan)) - (export "libmf.tanh" (func $../../lib/libm/assembly/libmf/tanh)) - (export "libmf.trunc" (func $../../lib/libm/assembly/libmf/trunc)) - (func $../../lib/libm/assembly/libm/abs (param $0 f64) (result f64) - (local $1 f64) - local.get $0 - local.set $1 - local.get $1 - f64.abs - ) - (func $~lib/math/R (param $0 f64) (result f64) - (local $1 f64) - (local $2 f64) - local.get $0 - f64.const 0.16666666666666666 - local.get $0 - f64.const -0.3255658186224009 - local.get $0 - f64.const 0.20121253213486293 - local.get $0 - f64.const -0.04005553450067941 - local.get $0 - f64.const 7.915349942898145e-04 - local.get $0 - f64.const 3.479331075960212e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $1 - f64.const 1 - local.get $0 - f64.const -2.403394911734414 - local.get $0 - f64.const 2.0209457602335057 - local.get $0 - f64.const -0.6882839716054533 - local.get $0 - f64.const 0.07703815055590194 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $2 - local.get $1 - local.get $2 - f64.div - ) - (func $~lib/math/NativeMath.acos (param $0 f64) (result f64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072693248 - i32.ge_u - if - local.get $0 - i64.reinterpret_f64 - i32.wrap_i64 - local.set $3 - local.get $2 - i32.const 1072693248 - i32.sub - local.get $3 - i32.or - i32.const 0 - i32.eq - if - local.get $1 - i32.const 31 - i32.shr_u - if - f64.const 2 - f64.const 1.5707963267948966 - f64.mul - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - return - end - f64.const 0 - return - end - f64.const 0 - local.get $0 - local.get $0 - f64.sub - f64.div - return - end - local.get $2 - i32.const 1071644672 - i32.lt_u - if - local.get $2 - i32.const 1012924416 - i32.le_u - if - f64.const 1.5707963267948966 - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - return - end - f64.const 1.5707963267948966 - local.get $0 - f64.const 6.123233995736766e-17 - local.get $0 - local.get $0 - local.get $0 - f64.mul - call $~lib/math/R - f64.mul - f64.sub - f64.sub - f64.sub - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - f64.const 0.5 - local.get $0 - f64.const 0.5 - f64.mul - f64.add - local.set $6 - local.get $6 - f64.sqrt - local.set $4 - local.get $6 - call $~lib/math/R - local.get $4 - f64.mul - f64.const 6.123233995736766e-17 - f64.sub - local.set $5 - f64.const 2 - f64.const 1.5707963267948966 - local.get $4 - local.get $5 - f64.add - f64.sub - f64.mul - return - end - f64.const 0.5 - local.get $0 - f64.const 0.5 - f64.mul - f64.sub - local.set $6 - local.get $6 - f64.sqrt - local.set $4 - local.get $4 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $7 - local.get $6 - local.get $7 - local.get $7 - f64.mul - f64.sub - local.get $4 - local.get $7 - f64.add - f64.div - local.set $8 - local.get $6 - call $~lib/math/R - local.get $4 - f64.mul - local.get $8 - f64.add - local.set $5 - f64.const 2 - local.get $7 - local.get $5 - f64.add - f64.mul - ) - (func $../../lib/libm/assembly/libm/acos (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.acos - ) - (func $~lib/math/NativeMath.log1p (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - i32.const 1 - local.set $3 - f64.const 0 - local.set $4 - f64.const 0 - local.set $5 - local.get $2 - i32.const 1071284858 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 31 - i32.shr_u - end - if - local.get $2 - i32.const -1074790400 - i32.ge_u - if - local.get $0 - f64.const -1 - f64.eq - if - local.get $0 - f64.const 0 - f64.div - return - end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - local.get $2 - i32.const 1 - i32.shl - i32.const 1017118720 - i32.const 1 - i32.shl - i32.lt_u - if - local.get $0 - return - end - local.get $2 - i32.const -1076707644 - i32.le_u - if - i32.const 0 - local.set $3 - f64.const 0 - local.set $4 - local.get $0 - local.set $5 - end - else - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - end - end - local.get $3 - if - f64.const 1 - local.get $0 - f64.add - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $6 - local.get $6 - i32.const 1072693248 - i32.const 1072079006 - i32.sub - i32.add - local.set $6 - local.get $6 - i32.const 20 - i32.shr_u - i32.const 1023 - i32.sub - local.set $3 - local.get $3 - i32.const 54 - i32.lt_s - if - local.get $1 - f64.reinterpret_i64 - local.set $7 - local.get $3 - i32.const 2 - i32.ge_s - if (result f64) - f64.const 1 - local.get $7 - local.get $0 - f64.sub - f64.sub - else - local.get $0 - local.get $7 - f64.const 1 - f64.sub - f64.sub - end - local.set $4 - local.get $4 - local.get $7 - f64.div - local.set $4 - else - f64.const 0 - local.set $4 - end - local.get $6 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - local.set $6 - local.get $6 - i64.extend_i32_u - i64.const 32 - i64.shl - local.get $1 - i64.const 4294967295 - i64.and - i64.or - local.set $1 - local.get $1 - f64.reinterpret_i64 - f64.const 1 - f64.sub - local.set $5 - end - f64.const 0.5 - local.get $5 - f64.mul - local.get $5 - f64.mul - local.set $8 - local.get $5 - f64.const 2 - local.get $5 - f64.add - f64.div - local.set $9 - local.get $9 - local.get $9 - f64.mul - local.set $10 - local.get $10 - local.get $10 - f64.mul - local.set $11 - local.get $11 - f64.const 0.3999999999940942 - local.get $11 - f64.const 0.22222198432149784 - local.get $11 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $12 - local.get $10 - f64.const 0.6666666666666735 - local.get $11 - f64.const 0.2857142874366239 - local.get $11 - f64.const 0.1818357216161805 - local.get $11 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $13 - local.get $13 - local.get $12 - f64.add - local.set $14 - local.get $3 - f64.convert_i32_s - local.set $15 - local.get $9 - local.get $8 - local.get $14 - f64.add - f64.mul - local.get $15 - f64.const 1.9082149292705877e-10 - f64.mul - local.get $4 - f64.add - f64.add - local.get $8 - f64.sub - local.get $5 - f64.add - local.get $15 - f64.const 0.6931471803691238 - f64.mul - f64.add - ) - (func $~lib/math/NativeMath.log (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i64) - (local $16 i64) - (local $17 f64) - (local $18 f64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/log_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 4606619468846596096 - i64.sub - i64.const 4607473789381378048 - i64.const 4606619468846596096 - i64.sub - i64.lt_u - if - local.get $1 - f64.const 1 - f64.sub - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $3 - f64.mul - local.set $5 - local.get $5 - f64.const 0.3333333333333352 - local.get $3 - f64.const -0.24999999999998432 - f64.mul - f64.add - local.get $4 - f64.const 0.19999999999320328 - f64.mul - f64.add - local.get $5 - f64.const -0.16666666669929706 - local.get $3 - f64.const 0.14285715076560868 - f64.mul - f64.add - local.get $4 - f64.const -0.12499997863982555 - f64.mul - f64.add - local.get $5 - f64.const 0.11110712032936046 - local.get $3 - f64.const -0.10000486757818193 - f64.mul - f64.add - local.get $4 - f64.const 0.09181994006195467 - f64.mul - f64.add - local.get $5 - f64.const -0.08328363062289341 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $6 - local.get $3 - f64.const 134217728 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.add - local.get $7 - f64.sub - local.set $8 - local.get $3 - local.get $8 - f64.sub - local.set $9 - local.get $8 - local.get $8 - f64.mul - f64.const -0.5 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.add - local.set $10 - local.get $3 - local.get $10 - f64.sub - local.get $7 - f64.add - local.set $11 - local.get $11 - f64.const -0.5 - local.get $9 - f64.mul - local.get $8 - local.get $3 - f64.add - f64.mul - f64.add - local.set $11 - local.get $6 - local.get $11 - f64.add - local.get $10 - f64.add - br $~lib/util/math/log_lut|inlined.0 - end - local.get $2 - i64.const 48 - i64.shr_u - i32.wrap_i64 - local.set $12 - local.get $12 - i32.const 16 - i32.sub - i32.const 32752 - i32.const 16 - i32.sub - i32.ge_u - if - local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $1 - local.get $1 - f64.mul - f64.div - br $~lib/util/math/log_lut|inlined.0 - end - local.get $2 - f64.const inf - i64.reinterpret_f64 - i64.eq - if - local.get $1 - br $~lib/util/math/log_lut|inlined.0 - end - local.get $12 - i32.const 32768 - i32.and - if (result i32) - i32.const 1 - else - local.get $12 - i32.const 32752 - i32.and - i32.const 32752 - i32.eq - end - if - local.get $1 - local.get $1 - f64.sub - local.get $1 - local.get $1 - f64.sub - f64.div - br $~lib/util/math/log_lut|inlined.0 - end - local.get $1 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $2 - end - local.get $2 - i64.const 4604367669032910848 - i64.sub - local.set $13 - local.get $13 - i64.const 52 - i64.const 7 - i64.sub - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - local.set $14 - local.get $13 - i64.const 52 - i64.shr_s - local.set $15 - local.get $2 - local.get $13 - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $16 - i32.const 8 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $11 - i32.const 8 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $10 - local.get $16 - f64.reinterpret_i64 - local.set $9 - i32.const 2056 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $8 - i32.const 2056 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $7 - local.get $9 - local.get $8 - f64.sub - local.get $7 - f64.sub - local.get $11 - f64.mul - local.set $6 - local.get $15 - f64.convert_i64_s - local.set $5 - local.get $5 - f64.const 0.6931471805598903 - f64.mul - local.get $10 - f64.add - local.set $4 - local.get $4 - local.get $6 - f64.add - local.set $3 - local.get $4 - local.get $3 - f64.sub - local.get $6 - f64.add - local.get $5 - f64.const 5.497923018708371e-14 - f64.mul - f64.add - local.set $17 - local.get $6 - local.get $6 - f64.mul - local.set $18 - local.get $17 - local.get $18 - f64.const -0.5000000000000001 - f64.mul - f64.add - local.get $6 - local.get $18 - f64.mul - f64.const 0.33333333331825593 - local.get $6 - f64.const -0.2499999999622955 - f64.mul - f64.add - local.get $18 - f64.const 0.20000304511814496 - local.get $6 - f64.const -0.16667054827627667 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - f64.add - end - return - ) - (func $~lib/math/NativeMath.acosh (param $0 f64) (result f64) - (local $1 i64) - local.get $0 - i64.reinterpret_f64 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $1 - local.get $1 - i64.const 1023 - i64.const 1 - i64.add - i64.lt_u - if - local.get $0 - f64.const 1 - f64.sub - local.get $0 - f64.const 1 - f64.sub - local.get $0 - f64.const 1 - f64.sub - f64.mul - f64.const 2 - local.get $0 - f64.const 1 - f64.sub - f64.mul - f64.add - f64.sqrt - f64.add - call $~lib/math/NativeMath.log1p - return - end - local.get $1 - i64.const 1023 - i64.const 26 - i64.add - i64.lt_u - if - f64.const 2 - local.get $0 - f64.mul - f64.const 1 - local.get $0 - local.get $0 - local.get $0 - f64.mul - f64.const 1 - f64.sub - f64.sqrt - f64.add - f64.div - f64.sub - call $~lib/math/NativeMath.log - return - end - local.get $0 - call $~lib/math/NativeMath.log - f64.const 0.6931471805599453 - f64.add - ) - (func $../../lib/libm/assembly/libm/acosh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.acosh - ) - (func $~lib/math/NativeMath.asin (param $0 f64) (result f64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072693248 - i32.ge_u - if - local.get $0 - i64.reinterpret_f64 - i32.wrap_i64 - local.set $3 - local.get $2 - i32.const 1072693248 - i32.sub - local.get $3 - i32.or - i32.const 0 - i32.eq - if - local.get $0 - f64.const 1.5707963267948966 - f64.mul - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - return - end - f64.const 0 - local.get $0 - local.get $0 - f64.sub - f64.div - return - end - local.get $2 - i32.const 1071644672 - i32.lt_u - if - local.get $2 - i32.const 1045430272 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1048576 - i32.ge_u - else - i32.const 0 - end - if - local.get $0 - return - end - local.get $0 - local.get $0 - local.get $0 - local.get $0 - f64.mul - call $~lib/math/R - f64.mul - f64.add - return - end - f64.const 0.5 - local.get $0 - f64.abs - f64.const 0.5 - f64.mul - f64.sub - local.set $4 - local.get $4 - f64.sqrt - local.set $5 - local.get $4 - call $~lib/math/R - local.set $6 - local.get $2 - i32.const 1072640819 - i32.ge_u - if - f64.const 1.5707963267948966 - f64.const 2 - local.get $5 - local.get $5 - local.get $6 - f64.mul - f64.add - f64.mul - f64.const 6.123233995736766e-17 - f64.sub - f64.sub - local.set $0 - else - local.get $5 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $7 - local.get $4 - local.get $7 - local.get $7 - f64.mul - f64.sub - local.get $5 - local.get $7 - f64.add - f64.div - local.set $8 - f64.const 0.5 - f64.const 1.5707963267948966 - f64.mul - f64.const 2 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.const 6.123233995736766e-17 - f64.const 2 - local.get $8 - f64.mul - f64.sub - f64.sub - f64.const 0.5 - f64.const 1.5707963267948966 - f64.mul - f64.const 2 - local.get $7 - f64.mul - f64.sub - f64.sub - f64.sub - local.set $0 - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - f64.neg - return - end - local.get $0 - ) - (func $../../lib/libm/assembly/libm/asin (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.asin - ) - (func $~lib/math/NativeMath.asinh (param $0 f64) (result f64) - (local $1 i64) - (local $2 i64) - (local $3 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $2 - local.get $1 - i64.const 9223372036854775807 - i64.and - f64.reinterpret_i64 - local.set $3 - local.get $2 - i64.const 1023 - i64.const 26 - i64.add - i64.ge_u - if - local.get $3 - call $~lib/math/NativeMath.log - f64.const 0.6931471805599453 - f64.add - local.set $3 - else - local.get $2 - i64.const 1023 - i64.const 1 - i64.add - i64.ge_u - if - f64.const 2 - local.get $3 - f64.mul - f64.const 1 - local.get $3 - local.get $3 - f64.mul - f64.const 1 - f64.add - f64.sqrt - local.get $3 - f64.add - f64.div - f64.add - call $~lib/math/NativeMath.log - local.set $3 - else - local.get $2 - i64.const 1023 - i64.const 26 - i64.sub - i64.ge_u - if - local.get $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - local.get $3 - f64.mul - f64.const 1 - f64.add - f64.sqrt - f64.const 1 - f64.add - f64.div - f64.add - call $~lib/math/NativeMath.log1p - local.set $3 - end - end - end - local.get $3 - local.get $0 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/asinh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.asinh - ) - (func $~lib/math/NativeMath.atan (param $0 f64) (result f64) - (local $1 i32) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 i32) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - local.get $0 - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1141899264 - i32.ge_u - if - local.get $0 - local.get $0 - f64.ne - if - local.get $0 - return - end - f64.const 1.5707963267948966 - f32.const 7.52316384526264e-37 - f64.promote_f32 - f64.add - local.set $3 - local.get $3 - local.get $2 - f64.copysign - return - end - local.get $1 - i32.const 1071382528 - i32.lt_u - if - local.get $1 - i32.const 1044381696 - i32.lt_u - if - local.get $0 - return - end - i32.const -1 - local.set $4 - else - local.get $0 - f64.abs - local.set $0 - local.get $1 - i32.const 1072889856 - i32.lt_u - if - local.get $1 - i32.const 1072037888 - i32.lt_u - if - i32.const 0 - local.set $4 - f64.const 2 - local.get $0 - f64.mul - f64.const 1 - f64.sub - f64.const 2 - local.get $0 - f64.add - f64.div - local.set $0 - else - i32.const 1 - local.set $4 - local.get $0 - f64.const 1 - f64.sub - local.get $0 - f64.const 1 - f64.add - f64.div - local.set $0 - end - else - local.get $1 - i32.const 1073971200 - i32.lt_u - if - i32.const 2 - local.set $4 - local.get $0 - f64.const 1.5 - f64.sub - f64.const 1 - f64.const 1.5 - local.get $0 - f64.mul - f64.add - f64.div - local.set $0 - else - i32.const 3 - local.set $4 - f64.const -1 - local.get $0 - f64.div - local.set $0 - end - end - end - local.get $0 - local.get $0 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $5 - local.get $3 - f64.const 0.3333333333333293 - local.get $5 - f64.const 0.14285714272503466 - local.get $5 - f64.const 0.09090887133436507 - local.get $5 - f64.const 0.06661073137387531 - local.get $5 - f64.const 0.049768779946159324 - local.get $5 - f64.const 0.016285820115365782 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $6 - local.get $5 - f64.const -0.19999999999876483 - local.get $5 - f64.const -0.11111110405462356 - local.get $5 - f64.const -0.0769187620504483 - local.get $5 - f64.const -0.058335701337905735 - local.get $5 - f64.const -0.036531572744216916 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $7 - local.get $0 - local.get $6 - local.get $7 - f64.add - f64.mul - local.set $8 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $8 - f64.sub - return - end - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $4 - local.set $9 - local.get $9 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $9 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $9 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $9 - i32.const 3 - i32.eq - br_if $case3|0 - br $case4|0 - end - f64.const 0.4636476090008061 - local.get $8 - f64.const 2.2698777452961687e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - f64.const 0.7853981633974483 - local.get $8 - f64.const 3.061616997868383e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - f64.const 0.982793723247329 - local.get $8 - f64.const 1.3903311031230998e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - f64.const 1.5707963267948966 - local.get $8 - f64.const 6.123233995736766e-17 - f64.sub - local.get $0 - f64.sub - f64.sub - local.set $3 - br $break|0 - end - unreachable - end - local.get $3 - local.get $2 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/atan (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.atan - ) - (func $~lib/math/NativeMath.atanh (param $0 f64) (result f64) - (local $1 i64) - (local $2 i64) - (local $3 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $2 - local.get $0 - f64.abs - local.set $3 - local.get $2 - i64.const 1023 - i64.const 1 - i64.sub - i64.lt_u - if - local.get $2 - i64.const 1023 - i64.const 32 - i64.sub - i64.ge_u - if - f64.const 0.5 - f64.const 2 - local.get $3 - f64.mul - f64.const 2 - local.get $3 - f64.mul - local.get $3 - f64.mul - f64.const 1 - local.get $3 - f64.sub - f64.div - f64.add - call $~lib/math/NativeMath.log1p - f64.mul - local.set $3 - end - else - f64.const 0.5 - f64.const 2 - local.get $3 - f64.const 1 - local.get $3 - f64.sub - f64.div - f64.mul - call $~lib/math/NativeMath.log1p - f64.mul - local.set $3 - end - local.get $3 - local.get $0 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/atanh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.atanh - ) - (func $~lib/math/NativeMath.atan2 (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f64) - (local $10 f64) - local.get $1 - local.get $1 - f64.ne - if (result i32) - i32.const 1 - else - local.get $0 - local.get $0 - f64.ne - end - if - local.get $1 - local.get $0 - f64.add - return - end - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $3 - local.get $2 - i32.wrap_i64 - local.set $4 - local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $5 - local.get $2 - i32.wrap_i64 - local.set $6 - local.get $3 - i32.const 1072693248 - i32.sub - local.get $4 - i32.or - i32.const 0 - i32.eq - if - local.get $0 - call $~lib/math/NativeMath.atan - return - end - local.get $5 - i32.const 31 - i32.shr_u - i32.const 1 - i32.and - local.get $3 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and - i32.or - local.set $7 - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 - local.get $5 - i32.const 2147483647 - i32.and - local.set $5 - local.get $5 - local.get $6 - i32.or - i32.const 0 - i32.eq - if - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $7 - local.set $8 - local.get $8 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $8 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $8 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $8 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - end - local.get $0 - return - end - global.get $~lib/math/NativeMath.PI - return - end - global.get $~lib/math/NativeMath.PI - f64.neg - return - end - end - local.get $3 - local.get $4 - i32.or - i32.const 0 - i32.eq - if - local.get $7 - i32.const 1 - i32.and - if (result f64) - global.get $~lib/math/NativeMath.PI - f64.neg - f64.const 2 - f64.div - else - global.get $~lib/math/NativeMath.PI - f64.const 2 - f64.div - end - return - end - local.get $3 - i32.const 2146435072 - i32.eq - if - local.get $5 - i32.const 2146435072 - i32.eq - if - local.get $7 - i32.const 2 - i32.and - if (result f64) - i32.const 3 - f64.convert_i32_s - global.get $~lib/math/NativeMath.PI - f64.mul - f64.const 4 - f64.div - else - global.get $~lib/math/NativeMath.PI - f64.const 4 - f64.div - end - local.set $9 - local.get $7 - i32.const 1 - i32.and - if (result f64) - local.get $9 - f64.neg - else - local.get $9 - end - return - else - local.get $7 - i32.const 2 - i32.and - if (result f64) - global.get $~lib/math/NativeMath.PI - else - f64.const 0 - end - local.set $9 - local.get $7 - i32.const 1 - i32.and - if (result f64) - local.get $9 - f64.neg - else - local.get $9 - end - return - end - unreachable - end - local.get $3 - i32.const 64 - i32.const 20 - i32.shl - i32.add - local.get $5 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $5 - i32.const 2146435072 - i32.eq - end - if - local.get $7 - i32.const 1 - i32.and - if (result f64) - global.get $~lib/math/NativeMath.PI - f64.neg - f64.const 2 - f64.div - else - global.get $~lib/math/NativeMath.PI - f64.const 2 - f64.div - end - return - end - local.get $7 - i32.const 2 - i32.and - if (result i32) - local.get $5 - i32.const 64 - i32.const 20 - i32.shl - i32.add - local.get $3 - i32.lt_u - else - i32.const 0 - end - if - f64.const 0 - local.set $10 - else - local.get $0 - local.get $1 - f64.div - f64.abs - call $~lib/math/NativeMath.atan - local.set $10 - end - block $break|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $7 - local.set $8 - local.get $8 - i32.const 0 - i32.eq - br_if $case0|1 - local.get $8 - i32.const 1 - i32.eq - br_if $case1|1 - local.get $8 - i32.const 2 - i32.eq - br_if $case2|1 - local.get $8 - i32.const 3 - i32.eq - br_if $case3|1 - br $break|1 - end - local.get $10 - return - end - local.get $10 - f64.neg - return - end - global.get $~lib/math/NativeMath.PI - local.get $10 - f64.const 1.2246467991473532e-16 - f64.sub - f64.sub - return - end - local.get $10 - f64.const 1.2246467991473532e-16 - f64.sub - global.get $~lib/math/NativeMath.PI - f64.sub - return - end - unreachable - ) - (func $../../lib/libm/assembly/libm/atan2 (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.atan2 - ) - (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.add - return - end - local.get $2 - i32.const 1048576 - i32.lt_u - if - local.get $0 - f64.const 18014398509481984 - f64.mul - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 0 - i32.eq - if - local.get $0 - return - end - local.get $2 - i32.const 3 - i32.div_u - i32.const 696219795 - i32.add - local.set $2 - else - local.get $2 - i32.const 3 - i32.div_u - i32.const 715094163 - i32.add - local.set $2 - end - local.get $1 - i64.const 1 - i64.const 63 - i64.shl - i64.and - local.set $1 - local.get $1 - local.get $2 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - local.get $0 - f64.div - f64.mul - local.set $4 - local.get $3 - f64.const 1.87595182427177 - local.get $4 - f64.const -1.8849797954337717 - local.get $4 - f64.const 1.6214297201053545 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $4 - f64.mul - local.get $4 - f64.mul - f64.const -0.758397934778766 - local.get $4 - f64.const 0.14599619288661245 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const 2147483648 - i64.add - i64.const -1073741824 - i64.and - f64.reinterpret_i64 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $5 - local.get $0 - local.get $5 - f64.div - local.set $4 - local.get $4 - local.get $3 - f64.sub - f64.const 2 - local.get $3 - f64.mul - local.get $4 - f64.add - f64.div - local.set $4 - local.get $3 - local.get $3 - local.get $4 - f64.mul - f64.add - local.set $3 - local.get $3 - ) - (func $../../lib/libm/assembly/libm/cbrt (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.cbrt - ) - (func $../../lib/libm/assembly/libm/ceil (param $0 f64) (result f64) - (local $1 f64) - local.get $0 - local.set $1 - local.get $1 - f64.ceil - ) - (func $~lib/math/dtoi32 (param $0 f64) (result i32) - (local $1 i32) - (local $2 i64) - (local $3 i64) - (local $4 i64) - i32.const 0 - i32.const 0 - i32.gt_s - drop - i32.const 0 - local.set $1 - local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $3 - local.get $3 - i64.const 1023 - i64.const 30 - i64.add - i64.le_u - if - local.get $0 - i32.trunc_f64_s - local.set $1 - else - local.get $3 - i64.const 1023 - i64.const 30 - i64.add - i64.const 53 - i64.add - i64.le_u - if - local.get $2 - i64.const 1 - i64.const 52 - i64.shl - i64.const 1 - i64.sub - i64.and - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $4 - local.get $4 - local.get $3 - i64.const 1023 - i64.sub - i64.const 52 - i64.sub - i64.const 32 - i64.add - i64.shl - local.set $4 - local.get $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $1 - i32.const 0 - local.get $1 - i32.sub - local.get $1 - local.get $2 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - select - local.set $1 - end - end - local.get $1 - return - ) - (func $~lib/math/NativeMath.clz32 (param $0 f64) (result f64) - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - f64.const 32 - return - end - local.get $0 - call $~lib/math/dtoi32 - i32.clz - f64.convert_i32_s - ) - (func $../../lib/libm/assembly/libm/clz32 (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.clz32 - ) - (func $~lib/math/pio2_large_quot (param $0 f64) (param $1 i64) (result i32) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i32) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 i64) - (local $11 i64) - (local $12 i64) - (local $13 i64) - (local $14 i64) - (local $15 i64) - (local $16 i64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i64) - (local $26 i64) - (local $27 i64) - (local $28 i64) - (local $29 i64) - (local $30 i64) - (local $31 i64) - (local $32 i64) - (local $33 i64) - (local $34 i64) - (local $35 i64) - (local $36 f64) - local.get $1 - i64.const 9223372036854775807 - i64.and - local.set $2 - local.get $2 - i64.const 52 - i64.shr_s - i64.const 1045 - i64.sub - local.set $3 - local.get $3 - i64.const 63 - i64.and - local.set $4 - i32.const 4104 - local.get $3 - i64.const 6 - i64.shr_s - i32.wrap_i64 - i32.const 3 - i32.shl - i32.add - local.set $5 - local.get $5 - i64.load - local.set $9 - local.get $5 - i64.load offset=8 - local.set $10 - local.get $5 - i64.load offset=16 - local.set $11 - local.get $4 - i64.const 0 - i64.ne - if - i32.const 64 - i64.extend_i32_s - local.get $4 - i64.sub - local.set $12 - local.get $5 - i64.load offset=24 - local.set $13 - local.get $10 - local.get $12 - i64.shr_u - local.get $9 - local.get $4 - i64.shl - i64.or - local.set $6 - local.get $11 - local.get $12 - i64.shr_u - local.get $10 - local.get $4 - i64.shl - i64.or - local.set $7 - local.get $13 - local.get $12 - i64.shr_u - local.get $11 - local.get $4 - i64.shl - i64.or - local.set $8 - else - local.get $9 - local.set $6 - local.get $10 - local.set $7 - local.get $11 - local.set $8 - end - local.get $1 - i64.const 4503599627370495 - i64.and - i64.const 4503599627370496 - i64.or - local.set $14 - local.get $7 - local.set $13 - local.get $14 - local.set $12 - local.get $13 - i64.const 4294967295 - i64.and - local.set $15 - local.get $12 - i64.const 4294967295 - i64.and - local.set $16 - local.get $13 - i64.const 32 - i64.shr_u - local.set $13 - local.get $12 - i64.const 32 - i64.shr_u - local.set $12 - local.get $15 - local.get $16 - i64.mul - local.set $19 - local.get $19 - i64.const 4294967295 - i64.and - local.set $17 - local.get $13 - local.get $16 - i64.mul - local.get $19 - i64.const 32 - i64.shr_u - i64.add - local.set $19 - local.get $19 - i64.const 32 - i64.shr_u - local.set $18 - local.get $15 - local.get $12 - i64.mul - local.get $19 - i64.const 4294967295 - i64.and - i64.add - local.set $19 - local.get $13 - local.get $12 - i64.mul - local.get $18 - i64.add - local.get $19 - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - local.get $19 - i64.const 32 - i64.shl - local.get $17 - i64.add - local.set $20 - global.get $~lib/math/res128_hi - local.set $21 - local.get $6 - local.get $14 - i64.mul - local.set $22 - local.get $8 - i64.const 32 - i64.shr_u - local.get $14 - i64.const 32 - i64.shr_s - i64.mul - local.set $23 - local.get $20 - local.get $23 - i64.add - local.set $24 - local.get $22 - local.get $21 - i64.add - local.get $24 - local.get $23 - i64.lt_u - i64.extend_i32_u - i64.add - local.set $25 - local.get $24 - i64.const 2 - i64.shl - local.set $26 - local.get $25 - i64.const 2 - i64.shl - local.get $24 - i64.const 62 - i64.shr_u - i64.or - local.set $27 - local.get $27 - i64.const 63 - i64.shr_s - local.set $28 - local.get $28 - i64.const 1 - i64.shr_s - local.set $29 - local.get $25 - i64.const 62 - i64.shr_s - local.get $28 - i64.sub - local.set $30 - i64.const 4372995238176751616 - local.get $26 - local.get $28 - i64.xor - local.set $13 - local.get $27 - local.get $29 - i64.xor - local.set $12 - local.get $12 - i64.clz - local.set $19 - local.get $12 - local.get $19 - i64.shl - local.get $13 - i64.const 64 - local.get $19 - i64.sub - i64.shr_u - i64.or - local.set $12 - local.get $13 - local.get $19 - i64.shl - local.set $13 - i64.const -3958705157555305932 - local.set $16 - local.get $12 - local.set $15 - local.get $16 - i64.const 4294967295 - i64.and - local.set $18 - local.get $15 - i64.const 4294967295 - i64.and - local.set $17 - local.get $16 - i64.const 32 - i64.shr_u - local.set $16 - local.get $15 - i64.const 32 - i64.shr_u - local.set $15 - local.get $18 - local.get $17 - i64.mul - local.set $33 - local.get $33 - i64.const 4294967295 - i64.and - local.set $31 - local.get $16 - local.get $17 - i64.mul - local.get $33 - i64.const 32 - i64.shr_u - i64.add - local.set $33 - local.get $33 - i64.const 32 - i64.shr_u - local.set $32 - local.get $18 - local.get $15 - i64.mul - local.get $33 - i64.const 4294967295 - i64.and - i64.add - local.set $33 - local.get $16 - local.get $15 - i64.mul - local.get $32 - i64.add - local.get $33 - i64.const 32 - i64.shr_u - i64.add - global.set $~lib/math/res128_hi - local.get $33 - i64.const 32 - i64.shl - local.get $31 - i64.add - local.set $33 - global.get $~lib/math/res128_hi - local.set $32 - local.get $32 - i64.const 11 - i64.shr_u - local.set $31 - local.get $33 - i64.const 11 - i64.shr_u - local.get $32 - i64.const 53 - i64.shl - i64.or - local.set $17 - f64.const 2.6469779601696886e-23 - i64.const -4267615245585081135 - f64.convert_i64_u - f64.mul - local.get $12 - f64.convert_i64_u - f64.mul - f64.const 2.6469779601696886e-23 - i64.const -3958705157555305932 - f64.convert_i64_u - f64.mul - local.get $13 - f64.convert_i64_u - f64.mul - f64.add - i64.trunc_f64_u - local.set $18 - local.get $31 - local.get $33 - local.get $18 - i64.lt_u - i64.extend_i32_u - i64.add - f64.convert_i64_u - global.set $~lib/math/rempio2_y0 - f64.const 5.421010862427522e-20 - local.get $17 - local.get $18 - i64.add - f64.convert_i64_u - f64.mul - global.set $~lib/math/rempio2_y1 - local.get $19 - i64.const 52 - i64.shl - i64.sub - local.set $34 - local.get $1 - local.get $27 - i64.xor - i64.const -9223372036854775808 - i64.and - local.set $35 - local.get $34 - local.get $35 - i64.or - f64.reinterpret_i64 - local.set $36 - global.get $~lib/math/rempio2_y0 - local.get $36 - f64.mul - global.set $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 - local.get $36 - f64.mul - global.set $~lib/math/rempio2_y1 - local.get $30 - i32.wrap_i64 - ) - (func $~lib/math/NativeMath.cos (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 i32) - (local $11 i64) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 f64) - (local $17 i32) - (local $18 f64) - (local $19 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072243195 - i32.le_u - if - local.get $2 - i32.const 1044816030 - i32.lt_u - if - f64.const 1 - return - end - local.get $0 - local.set $5 - f64.const 0 - local.set $4 - local.get $5 - local.get $5 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $7 - local.get $6 - f64.const 0.0416666666666666 - local.get $6 - f64.const -0.001388888888887411 - local.get $6 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $7 - local.get $7 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $6 - f64.const 2.087572321298175e-09 - local.get $6 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $8 - f64.const 0.5 - local.get $6 - f64.mul - local.set $9 - f64.const 1 - local.get $9 - f64.sub - local.set $7 - local.get $7 - f64.const 1 - local.get $7 - f64.sub - local.get $9 - f64.sub - local.get $6 - local.get $8 - f64.mul - local.get $5 - local.get $4 - f64.mul - f64.sub - f64.add - f64.add - return - end - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.0 (result i32) - local.get $0 - local.set $4 - local.get $1 - local.set $11 - local.get $3 - local.set $10 - local.get $11 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $12 - 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 $10 - i32.eqz - if - local.get $4 - f64.const 1.5707963267341256 - f64.sub - local.set $9 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.sub - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 6.077100506506192e-11 - f64.sub - local.set $7 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.sub - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.sub - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 2.0222662487959506e-21 - f64.sub - local.set $7 - end - else - local.get $4 - f64.const 1.5707963267341256 - f64.add - local.set $9 - local.get $12 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.add - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 6.077100506506192e-11 - f64.add - local.set $7 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.add - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.add - local.set $8 - local.get $9 - local.get $8 - f64.sub - f64.const 2.0222662487959506e-21 - f64.add - local.set $7 - end - i32.const -1 - local.set $13 - end - local.get $8 - global.set $~lib/math/rempio2_y0 - local.get $7 - global.set $~lib/math/rempio2_y1 - local.get $13 - br $~lib/math/rempio2|inlined.0 - end - local.get $12 - i32.const 1094263291 - i32.lt_u - if - local.get $4 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $7 - local.get $4 - local.get $7 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.set $8 - local.get $7 - f64.const 6.077100506506192e-11 - f64.mul - local.set $9 - local.get $12 - i32.const 20 - i32.shr_u - local.set $13 - local.get $8 - local.get $9 - f64.sub - local.set $6 - local.get $6 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 16 - i32.gt_u - if - local.get $8 - local.set $5 - local.get $7 - f64.const 6.077100506303966e-11 - f64.mul - local.set $9 - local.get $5 - local.get $9 - f64.sub - local.set $8 - local.get $7 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $5 - local.get $8 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $8 - local.get $9 - f64.sub - local.set $6 - local.get $6 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $14 - local.get $13 - local.get $14 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $15 - local.get $15 - i32.const 49 - i32.gt_u - if - local.get $8 - local.set $16 - local.get $7 - f64.const 2.0222662487111665e-21 - f64.mul - local.set $9 - local.get $16 - local.get $9 - f64.sub - local.set $8 - local.get $7 - f64.const 8.4784276603689e-32 - f64.mul - local.get $16 - local.get $8 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $8 - local.get $9 - f64.sub - local.set $6 - end - end - local.get $8 - local.get $6 - f64.sub - local.get $9 - f64.sub - local.set $5 - local.get $6 - global.set $~lib/math/rempio2_y0 - local.get $5 - global.set $~lib/math/rempio2_y1 - local.get $7 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.0 - end - local.get $4 - local.get $11 - call $~lib/math/pio2_large_quot - local.set $15 - i32.const 0 - local.get $15 - i32.sub - local.get $15 - local.get $10 - select - end - local.set $17 - global.get $~lib/math/rempio2_y0 - local.set $18 - global.get $~lib/math/rempio2_y1 - local.set $19 - local.get $17 - i32.const 1 - i32.and - if (result f64) - block $~lib/math/sin_kern|inlined.0 (result f64) - local.get $18 - local.set $7 - local.get $19 - local.set $16 - i32.const 1 - local.set $13 - local.get $7 - local.get $7 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.00833333333332249 - local.get $4 - f64.const -1.984126982985795e-04 - local.get $4 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $5 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $4 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $7 - f64.mul - local.set $9 - local.get $13 - i32.eqz - if - local.get $7 - local.get $9 - f64.const -0.16666666666666632 - local.get $4 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.0 - else - local.get $7 - local.get $4 - f64.const 0.5 - local.get $16 - f64.mul - local.get $9 - local.get $6 - f64.mul - f64.sub - f64.mul - local.get $16 - f64.sub - local.get $9 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.0 - end - unreachable - end - else - local.get $18 - local.set $16 - local.get $19 - local.set $8 - local.get $16 - local.get $16 - f64.mul - local.set $9 - local.get $9 - local.get $9 - f64.mul - local.set $6 - local.get $9 - f64.const 0.0416666666666666 - local.get $9 - f64.const -0.001388888888887411 - local.get $9 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $6 - local.get $6 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $9 - f64.const 2.087572321298175e-09 - local.get $9 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $5 - f64.const 0.5 - local.get $9 - f64.mul - local.set $4 - f64.const 1 - local.get $4 - f64.sub - local.set $6 - local.get $6 - f64.const 1 - local.get $6 - f64.sub - local.get $4 - f64.sub - local.get $9 - local.get $5 - f64.mul - local.get $16 - local.get $8 - f64.mul - f64.sub - f64.add - f64.add - end - local.set $0 - local.get $17 - i32.const 1 - i32.add - i32.const 2 - i32.and - if (result f64) - local.get $0 - f64.neg - else - local.get $0 - end - ) - (func $../../lib/libm/assembly/libm/cos (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.cos - ) - (func $~lib/math/NativeMath.expm1 (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i64.const 2147483647 - i64.and - i32.wrap_i64 - local.set $2 - i32.const 0 - local.set $3 - local.get $1 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.set $4 - local.get $2 - i32.const 1078159482 - i32.ge_u - if - local.get $0 - local.get $0 - f64.ne - if - local.get $0 - return - end - local.get $4 - if - f64.const -1 - return - end - local.get $0 - f64.const 709.782712893384 - f64.gt - if - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - return - end - end - f64.const 0 - local.set $5 - local.get $2 - i32.const 1071001154 - i32.gt_u - if - i32.const 1 - local.get $4 - i32.const 1 - i32.shl - i32.sub - f64.const 1.4426950408889634 - local.get $0 - f64.mul - f64.const 0.5 - local.get $0 - f64.copysign - f64.add - i32.trunc_f64_s - local.get $2 - i32.const 1072734898 - i32.lt_u - select - local.set $3 - local.get $3 - f64.convert_i32_s - local.set $6 - local.get $0 - local.get $6 - f64.const 0.6931471803691238 - f64.mul - f64.sub - local.set $7 - local.get $6 - f64.const 1.9082149292705877e-10 - f64.mul - local.set $8 - local.get $7 - local.get $8 - f64.sub - local.set $0 - local.get $7 - local.get $0 - f64.sub - local.get $8 - f64.sub - local.set $5 - else - local.get $2 - i32.const 1016070144 - i32.lt_u - if - local.get $0 - return - end - end - f64.const 0.5 - local.get $0 - f64.mul - local.set $9 - local.get $0 - local.get $9 - f64.mul - local.set $10 - local.get $10 - local.get $10 - f64.mul - local.set $11 - f64.const 1 - local.get $10 - f64.const -0.03333333333333313 - f64.mul - f64.add - local.get $11 - f64.const 1.5873015872548146e-03 - local.get $10 - f64.const -7.93650757867488e-05 - f64.mul - f64.add - local.get $11 - f64.const 4.008217827329362e-06 - local.get $10 - f64.const -2.0109921818362437e-07 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $12 - f64.const 3 - local.get $12 - local.get $9 - f64.mul - f64.sub - local.set $6 - local.get $10 - local.get $12 - local.get $6 - f64.sub - f64.const 6 - local.get $0 - local.get $6 - f64.mul - f64.sub - f64.div - f64.mul - local.set $13 - local.get $3 - i32.const 0 - i32.eq - if - local.get $0 - local.get $0 - local.get $13 - f64.mul - local.get $10 - f64.sub - f64.sub - return - end - local.get $0 - local.get $13 - local.get $5 - f64.sub - f64.mul - local.get $5 - f64.sub - local.set $13 - local.get $13 - local.get $10 - f64.sub - local.set $13 - local.get $3 - i32.const -1 - i32.eq - if - f64.const 0.5 - local.get $0 - local.get $13 - f64.sub - f64.mul - f64.const 0.5 - f64.sub - return - end - local.get $3 - i32.const 1 - i32.eq - if - local.get $0 - f64.const -0.25 - f64.lt - if - f64.const -2 - local.get $13 - local.get $0 - f64.const 0.5 - f64.add - f64.sub - f64.mul - return - end - f64.const 1 - f64.const 2 - local.get $0 - local.get $13 - f64.sub - f64.mul - f64.add - return - end - i64.const 1023 - local.get $3 - i64.extend_i32_s - i64.add - i64.const 52 - i64.shl - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $14 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $3 - i32.const 56 - i32.gt_s - end - if - local.get $0 - local.get $13 - f64.sub - f64.const 1 - f64.add - local.set $15 - local.get $3 - i32.const 1024 - i32.eq - if - local.get $15 - f64.const 2 - f64.mul - f64.const 8988465674311579538646525e283 - f64.mul - local.set $15 - else - local.get $15 - local.get $14 - f64.mul - local.set $15 - end - local.get $15 - f64.const 1 - f64.sub - return - end - i64.const 1023 - local.get $3 - i64.extend_i32_s - i64.sub - i64.const 52 - i64.shl - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $15 - local.get $3 - i32.const 20 - i32.lt_s - if - f64.const 1 - local.get $15 - f64.sub - local.get $13 - f64.sub - local.set $15 - else - f64.const 1 - local.get $13 - local.get $15 - f64.add - f64.sub - local.set $15 - end - local.get $0 - local.get $15 - f64.add - local.get $14 - f64.mul - ) - (func $~lib/math/NativeMath.exp (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i64) - (local $7 f64) - (local $8 i32) - (local $9 i64) - (local $10 f64) - (local $11 i64) - (local $12 f64) - (local $13 f64) - (local $14 i64) - (local $15 i64) - (local $16 f64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/exp_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - i32.wrap_i64 - local.set $3 - local.get $3 - i32.const 969 - i32.sub - i32.const 63 - i32.ge_u - if - local.get $3 - i32.const 969 - i32.sub - i32.const -2147483648 - i32.ge_u - if - f64.const 1 - br $~lib/util/math/exp_lut|inlined.0 - end - local.get $3 - i32.const 1033 - i32.ge_u - if - local.get $2 - i64.const -4503599627370496 - i64.eq - if - f64.const 0 - br $~lib/util/math/exp_lut|inlined.0 - end - local.get $3 - i32.const 2047 - i32.ge_u - if - f64.const 1 - local.get $1 - f64.add - br $~lib/util/math/exp_lut|inlined.0 - end - f64.const 0 - f64.const inf - local.get $2 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - select - br $~lib/util/math/exp_lut|inlined.0 - end - i32.const 0 - local.set $3 - end - f64.const 184.6649652337873 - local.get $1 - f64.mul - local.set $4 - local.get $4 - f64.const 6755399441055744 - f64.add - local.set $5 - local.get $5 - i64.reinterpret_f64 - local.set $6 - local.get $5 - f64.const 6755399441055744 - f64.sub - local.set $5 - local.get $1 - local.get $5 - f64.const -0.005415212348111709 - f64.mul - f64.add - local.get $5 - f64.const -1.2864023111638346e-14 - f64.mul - f64.add - local.set $7 - local.get $6 - i64.const 127 - i64.and - i64.const 1 - i64.shl - i32.wrap_i64 - local.set $8 - local.get $6 - i64.const 52 - i64.const 7 - i64.sub - i64.shl - local.set $9 - i32.const 4296 - local.get $8 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $10 - i32.const 4296 - local.get $8 - i32.const 3 - i32.shl - i32.add - i64.load offset=8 - local.get $9 - i64.add - local.set $11 - local.get $7 - local.get $7 - f64.mul - local.set $12 - local.get $10 - local.get $7 - f64.add - local.get $12 - f64.const 0.49999999999996786 - local.get $7 - f64.const 0.16666666666665886 - f64.mul - f64.add - f64.mul - f64.add - local.get $12 - local.get $12 - f64.mul - f64.const 0.0416666808410674 - local.get $7 - f64.const 0.008333335853059549 - f64.mul - f64.add - f64.mul - f64.add - local.set $13 - local.get $3 - i32.const 0 - i32.eq - if - block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $13 - local.set $16 - local.get $11 - local.set $15 - local.get $6 - local.set $14 - local.get $14 - i64.const 2147483648 - i64.and - i64.const 0 - i64.ne - i32.eqz - if - local.get $15 - i64.const 1009 - i64.const 52 - i64.shl - i64.sub - local.set $15 - local.get $15 - f64.reinterpret_i64 - local.set $17 - f64.const 5486124068793688683255936e279 - local.get $17 - local.get $17 - local.get $16 - f64.mul - f64.add - f64.mul - br $~lib/util/math/specialcase|inlined.0 - end - local.get $15 - i64.const 1022 - i64.const 52 - i64.shl - i64.add - local.set $15 - local.get $15 - f64.reinterpret_i64 - local.set $17 - local.get $17 - local.get $17 - local.get $16 - f64.mul - f64.add - local.set $18 - local.get $18 - f64.abs - f64.const 1 - f64.lt - if - f64.const 1 - local.get $18 - f64.copysign - local.set $19 - local.get $17 - local.get $18 - f64.sub - local.get $17 - local.get $16 - f64.mul - f64.add - local.set $20 - local.get $19 - local.get $18 - f64.add - local.set $21 - local.get $19 - local.get $21 - f64.sub - local.get $18 - f64.add - local.get $20 - f64.add - local.set $20 - local.get $21 - local.get $20 - f64.add - local.get $19 - f64.sub - local.set $18 - local.get $18 - f64.const 0 - f64.eq - if - local.get $15 - i64.const -9223372036854775808 - i64.and - f64.reinterpret_i64 - local.set $18 - end - end - local.get $18 - f64.const 2.2250738585072014e-308 - f64.mul - end - br $~lib/util/math/exp_lut|inlined.0 - end - local.get $11 - f64.reinterpret_i64 - local.set $18 - local.get $18 - local.get $18 - local.get $13 - f64.mul - f64.add - end - return - ) - (func $~lib/math/NativeMath.cosh (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 9223372036854775807 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $0 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 1072049730 - i32.lt_u - if - local.get $2 - i32.const 1072693248 - i32.const 26 - i32.const 20 - i32.shl - i32.sub - i32.lt_u - if - f64.const 1 - return - end - local.get $0 - call $~lib/math/NativeMath.expm1 - local.set $3 - f64.const 1 - local.get $3 - local.get $3 - f64.mul - f64.const 2 - f64.const 2 - local.get $3 - f64.mul - f64.add - f64.div - f64.add - return - end - local.get $2 - i32.const 1082535490 - i32.lt_u - if - local.get $0 - call $~lib/math/NativeMath.exp - local.set $3 - f64.const 0.5 - local.get $3 - f64.const 1 - local.get $3 - f64.div - f64.add - f64.mul - return - end - local.get $0 - local.set $4 - i32.const 1023 - i32.const 2043 - i32.const 2 - i32.div_u - i32.add - i32.const 20 - i32.shl - i64.extend_i32_u - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $5 - local.get $4 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - local.get $5 - f64.mul - local.get $5 - f64.mul - local.set $3 - local.get $3 - ) - (func $../../lib/libm/assembly/libm/cosh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.cosh - ) - (func $../../lib/libm/assembly/libm/exp (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.exp - ) - (func $../../lib/libm/assembly/libm/expm1 (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.expm1 - ) - (func $../../lib/libm/assembly/libm/floor (param $0 f64) (result f64) - (local $1 f64) - local.get $0 - local.set $1 - local.get $1 - f64.floor - ) - (func $../../lib/libm/assembly/libm/fround (param $0 f64) (result f64) - (local $1 f64) - local.get $0 - local.set $1 - local.get $1 - f32.demote_f64 - f64.promote_f32 - ) - (func $~lib/math/NativeMath.hypot (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $1 - i64.reinterpret_f64 - local.set $3 - local.get $2 - i64.const 9223372036854775807 - i64.and - local.set $2 - local.get $3 - i64.const 9223372036854775807 - i64.and - local.set $3 - local.get $2 - local.get $3 - i64.lt_u - if - local.get $2 - local.set $4 - local.get $3 - local.set $2 - local.get $4 - local.set $3 - end - local.get $2 - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $5 - local.get $3 - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $6 - local.get $3 - f64.reinterpret_i64 - local.set $1 - local.get $6 - i32.const 2047 - i32.eq - if - local.get $1 - return - end - local.get $2 - f64.reinterpret_i64 - local.set $0 - local.get $5 - i32.const 2047 - i32.eq - if (result i32) - i32.const 1 - else - local.get $3 - i64.const 0 - i64.eq - end - if - local.get $0 - return - end - local.get $5 - local.get $6 - i32.sub - i32.const 64 - i32.gt_s - if - local.get $0 - local.get $1 - f64.add - return - end - f64.const 1 - local.set $7 - local.get $5 - i32.const 1023 - i32.const 510 - i32.add - i32.gt_s - if - f64.const 5260135901548373507240989e186 - local.set $7 - local.get $0 - f64.const 1.90109156629516e-211 - f64.mul - local.set $0 - local.get $1 - f64.const 1.90109156629516e-211 - f64.mul - local.set $1 - else - local.get $6 - i32.const 1023 - i32.const 450 - i32.sub - i32.lt_s - if - f64.const 1.90109156629516e-211 - local.set $7 - local.get $0 - f64.const 5260135901548373507240989e186 - f64.mul - local.set $0 - local.get $1 - f64.const 5260135901548373507240989e186 - f64.mul - local.set $1 - end - end - local.get $0 - f64.const 134217729 - f64.mul - local.set $8 - local.get $0 - local.get $8 - f64.sub - local.get $8 - f64.add - local.set $9 - local.get $0 - local.get $9 - f64.sub - local.set $10 - local.get $0 - local.get $0 - f64.mul - local.set $11 - local.get $9 - local.get $9 - f64.mul - local.get $11 - f64.sub - f64.const 2 - local.get $9 - f64.mul - local.get $10 - f64.add - local.get $10 - f64.mul - f64.add - local.set $12 - local.get $1 - f64.const 134217729 - f64.mul - local.set $8 - local.get $1 - local.get $8 - f64.sub - local.get $8 - f64.add - local.set $9 - local.get $1 - local.get $9 - f64.sub - local.set $10 - local.get $1 - local.get $1 - f64.mul - local.set $13 - local.get $9 - local.get $9 - f64.mul - local.get $13 - f64.sub - f64.const 2 - local.get $9 - f64.mul - local.get $10 - f64.add - local.get $10 - f64.mul - f64.add - local.set $14 - local.get $7 - local.get $14 - local.get $12 - f64.add - local.get $13 - f64.add - local.get $11 - f64.add - f64.sqrt - f64.mul - ) - (func $../../lib/libm/assembly/libm/hypot (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.hypot - ) - (func $~lib/math/NativeMath.imul (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - local.get $0 - local.get $1 - f64.add - local.tee $2 - local.get $2 - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - f64.const 0 - return - end - local.get $0 - call $~lib/math/dtoi32 - local.get $1 - call $~lib/math/dtoi32 - i32.mul - f64.convert_i32_s - ) - (func $../../lib/libm/assembly/libm/imul (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.imul - ) - (func $../../lib/libm/assembly/libm/log (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log - ) - (func $~lib/math/NativeMath.log10 (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - (local $16 f64) - (local $17 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - i32.const 0 - local.set $3 - local.get $2 - i32.const 1048576 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $0 - local.get $0 - f64.mul - f64.div - return - end - local.get $2 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.div - return - end - local.get $3 - i32.const 54 - i32.sub - local.set $3 - local.get $0 - f64.const 18014398509481984 - f64.mul - local.set $0 - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - else - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - return - else - local.get $2 - i32.const 1072693248 - i32.eq - if (result i32) - local.get $1 - i64.const 32 - i64.shl - i64.const 0 - i64.eq - else - i32.const 0 - end - if - f64.const 0 - return - end - end - end - local.get $2 - i32.const 1072693248 - i32.const 1072079006 - i32.sub - i32.add - local.set $2 - local.get $3 - local.get $2 - i32.const 20 - i32.shr_u - i32.const 1023 - i32.sub - i32.add - local.set $3 - local.get $2 - i32.const 1048575 - i32.and - i32.const 1072079006 - i32.add - local.set $2 - local.get $2 - i64.extend_i32_u - i64.const 32 - i64.shl - local.get $1 - i64.const 4294967295 - i64.and - i64.or - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $0 - local.get $0 - f64.const 1 - f64.sub - local.set $4 - f64.const 0.5 - local.get $4 - f64.mul - local.get $4 - f64.mul - local.set $5 - local.get $4 - f64.const 2 - local.get $4 - f64.add - f64.div - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $8 - local.get $8 - f64.const 0.3999999999940942 - local.get $8 - f64.const 0.22222198432149784 - local.get $8 - f64.const 0.15313837699209373 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $9 - local.get $7 - f64.const 0.6666666666666735 - local.get $8 - f64.const 0.2857142874366239 - local.get $8 - f64.const 0.1818357216161805 - local.get $8 - f64.const 0.14798198605116586 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $10 - local.get $10 - local.get $9 - f64.add - local.set $11 - local.get $4 - local.get $5 - f64.sub - local.set $12 - local.get $12 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const -4294967296 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $12 - local.get $4 - local.get $12 - f64.sub - local.get $5 - f64.sub - local.get $6 - local.get $5 - local.get $11 - f64.add - f64.mul - f64.add - local.set $13 - local.get $12 - f64.const 0.4342944818781689 - f64.mul - local.set $14 - local.get $3 - f64.convert_i32_s - local.set $15 - local.get $15 - f64.const 0.30102999566361177 - f64.mul - local.set $16 - local.get $15 - f64.const 3.694239077158931e-13 - f64.mul - local.get $13 - local.get $12 - f64.add - f64.const 2.5082946711645275e-11 - f64.mul - f64.add - local.get $13 - f64.const 0.4342944818781689 - f64.mul - f64.add - local.set $17 - local.get $16 - local.get $14 - f64.add - local.set $8 - local.get $17 - local.get $16 - local.get $8 - f64.sub - local.get $14 - f64.add - f64.add - local.set $17 - local.get $17 - local.get $8 - f64.add - ) - (func $../../lib/libm/assembly/libm/log10 (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log10 - ) - (func $../../lib/libm/assembly/libm/log1p (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log1p - ) - (func $~lib/math/NativeMath.log2 (param $0 f64) (result f64) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i64) - (local $16 i64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - (local $22 f64) - (local $23 f64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/log2_lut|inlined.0 (result f64) - local.get $0 - local.set $1 - local.get $1 - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 4606800540372828160 - i64.sub - i64.const 4607381812656734208 - i64.const 4606800540372828160 - i64.sub - i64.lt_u - if - local.get $1 - f64.const 1 - f64.sub - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $4 - local.get $3 - local.get $4 - f64.sub - local.set $5 - local.get $4 - f64.const 1.4426950407214463 - f64.mul - local.set $6 - local.get $5 - f64.const 1.4426950407214463 - f64.mul - local.get $3 - f64.const 1.6751713164886512e-10 - f64.mul - f64.add - local.set $7 - local.get $3 - local.get $3 - f64.mul - local.set $8 - local.get $8 - local.get $8 - f64.mul - local.set $9 - local.get $8 - f64.const -0.7213475204444817 - local.get $3 - f64.const 0.48089834696298744 - f64.mul - f64.add - f64.mul - local.set $10 - local.get $6 - local.get $10 - f64.add - local.set $11 - local.get $7 - local.get $6 - local.get $11 - f64.sub - local.get $10 - f64.add - f64.add - local.set $7 - local.get $7 - local.get $9 - f64.const -0.360673760222145 - local.get $3 - f64.const 0.2885390081805197 - f64.mul - f64.add - local.get $8 - f64.const -0.24044917405728863 - local.get $3 - f64.const 0.2060992861022954 - f64.mul - f64.add - f64.mul - f64.add - local.get $9 - f64.const -0.18033596705327856 - local.get $3 - f64.const 0.1603032746063156 - f64.mul - f64.add - local.get $8 - f64.const -0.14483316576701266 - local.get $3 - f64.const 0.13046826811283835 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $7 - local.get $11 - local.get $7 - f64.add - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $2 - i64.const 48 - i64.shr_u - i32.wrap_i64 - local.set $12 - local.get $12 - i32.const 16 - i32.sub - i32.const 32752 - i32.const 16 - i32.sub - i32.ge_u - if - local.get $2 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const -1 - local.get $1 - local.get $1 - f64.mul - f64.div - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $2 - i64.const 9218868437227405312 - i64.eq - if - local.get $1 - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $12 - i32.const 32768 - i32.and - if (result i32) - i32.const 1 - else - local.get $12 - i32.const 32752 - i32.and - i32.const 32752 - i32.eq - end - if - local.get $1 - local.get $1 - f64.sub - local.get $1 - local.get $1 - f64.sub - f64.div - br $~lib/util/math/log2_lut|inlined.0 - end - local.get $1 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $2 - local.get $2 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $2 - end - local.get $2 - i64.const 4604367669032910848 - i64.sub - local.set $13 - local.get $13 - i64.const 52 - i64.const 6 - i64.sub - i64.shr_u - i64.const 63 - i64.and - i32.wrap_i64 - local.set $14 - local.get $13 - i64.const 52 - i64.shr_s - local.set $15 - local.get $2 - local.get $13 - i64.const -4503599627370496 - i64.and - i64.sub - local.set $16 - i32.const 6344 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $11 - i32.const 6344 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $10 - local.get $16 - f64.reinterpret_i64 - local.set $9 - local.get $15 - f64.convert_i64_s - local.set $8 - i32.const 7368 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $7 - i32.const 7368 - local.get $14 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $6 - local.get $9 - local.get $7 - f64.sub - local.get $6 - f64.sub - local.get $11 - f64.mul - local.set $5 - local.get $5 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $4 - local.get $5 - local.get $4 - f64.sub - local.set $3 - local.get $4 - f64.const 1.4426950407214463 - f64.mul - local.set $17 - local.get $3 - f64.const 1.4426950407214463 - f64.mul - local.get $5 - f64.const 1.6751713164886512e-10 - f64.mul - f64.add - local.set $18 - local.get $8 - local.get $10 - f64.add - local.set $19 - local.get $19 - local.get $17 - f64.add - local.set $20 - local.get $19 - local.get $20 - f64.sub - local.get $17 - f64.add - local.get $18 - f64.add - local.set $21 - local.get $5 - local.get $5 - f64.mul - local.set $22 - f64.const -0.7213475204444882 - local.get $5 - f64.const 0.4808983469629985 - f64.mul - f64.add - local.get $22 - f64.const -0.36067375954075914 - local.get $5 - f64.const 0.2885390073180969 - f64.mul - f64.add - f64.mul - f64.add - local.get $22 - local.get $22 - f64.mul - f64.const -0.2404693555628422 - local.get $5 - f64.const 0.2061202382173603 - f64.mul - f64.add - f64.mul - f64.add - local.set $23 - local.get $21 - local.get $22 - local.get $23 - f64.mul - f64.add - local.get $20 - f64.add - end - return - ) - (func $../../lib/libm/assembly/libm/log2 (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.log2 - ) - (func $../../lib/libm/assembly/libm/max (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - local.get $3 - local.get $2 - f64.max - ) - (func $../../lib/libm/assembly/libm/min (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - local.get $3 - local.get $2 - f64.min - ) - (func $~lib/math/NativeMath.pow (param $0 f64) (param $1 f64) (result f64) - (local $2 f64) - (local $3 f64) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 f64) - (local $11 i64) - (local $12 i32) - (local $13 i64) - (local $14 i64) - (local $15 f64) - (local $16 f64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - (local $22 f64) - (local $23 f64) - (local $24 f64) - (local $25 f64) - (local $26 f64) - (local $27 f64) - (local $28 f64) - (local $29 f64) - (local $30 f64) - (local $31 f64) - (local $32 f64) - (local $33 f64) - (local $34 f64) - (local $35 f64) - (local $36 f64) - (local $37 f64) - (local $38 f64) - (local $39 i32) - (local $40 i32) - (local $41 i32) - (local $42 i32) - (local $43 i64) - (local $44 i64) - local.get $1 - f64.abs - f64.const 2 - f64.le - if - local.get $1 - f64.const 2 - f64.eq - if - local.get $0 - local.get $0 - f64.mul - return - end - local.get $1 - f64.const 0.5 - f64.eq - if - local.get $0 - f64.sqrt - f64.abs - f64.const inf - local.get $0 - f64.const inf - f64.neg - f64.ne - select - return - end - local.get $1 - f64.const -1 - f64.eq - if - f64.const 1 - local.get $0 - f64.div - return - end - local.get $1 - f64.const 1 - f64.eq - if - local.get $0 - return - end - local.get $1 - f64.const 0 - f64.eq - if - f64.const 1 - return - end - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/pow_lut|inlined.0 (result f64) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - i32.const 0 - local.set $4 - local.get $3 - i64.reinterpret_f64 - local.set $5 - local.get $2 - i64.reinterpret_f64 - local.set $6 - local.get $5 - i64.const 52 - i64.shr_u - local.set $7 - local.get $6 - i64.const 52 - i64.shr_u - local.set $8 - local.get $7 - i64.const 1 - i64.sub - i64.const 2047 - i64.const 1 - i64.sub - i64.ge_u - if (result i32) - i32.const 1 - else - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 1086 - i64.const 958 - i64.sub - i64.ge_u - end - if - local.get $6 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u - if - local.get $6 - i64.const 1 - i64.shl - i64.const 0 - i64.eq - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - if (result i32) - i32.const 1 - else - local.get $6 - i64.const 1 - i64.shl - i64.const -9007199254740992 - i64.gt_u - end - if - local.get $3 - local.get $2 - f64.add - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.eq - if - f64.const nan:0x8000000000000 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 1 - i64.shl - i64.const 9214364837600034816 - i64.lt_u - local.get $6 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.eqz - i32.eq - if - f64.const 0 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $2 - local.get $2 - f64.mul - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - local.set $9 - local.get $9 - i64.const 1 - i64.shl - i64.const 1 - i64.sub - i64.const -9007199254740992 - i64.const 1 - i64.sub - i64.ge_u - if - local.get $3 - local.get $3 - f64.mul - local.set $10 - local.get $5 - i64.const 63 - i64.shr_u - i32.wrap_i64 - if (result i32) - block $~lib/util/math/checkint|inlined.0 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 - end - local.get $11 - i64.const 1023 - i64.const 52 - i64.add - i64.gt_u - if - i32.const 2 - br $~lib/util/math/checkint|inlined.0 - end - i64.const 1 - i64.const 1023 - i64.const 52 - i64.add - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.0 - end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne - if - i32.const 1 - br $~lib/util/math/checkint|inlined.0 - end - i32.const 2 - end - i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $10 - f64.neg - local.set $10 - end - local.get $6 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if (result f64) - f64.const 1 - local.get $10 - f64.div - else - local.get $10 - end - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if - block $~lib/util/math/checkint|inlined.1 (result i32) - local.get $6 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $11 - local.get $11 - i64.const 1023 - i64.lt_u - if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 - end - local.get $11 - i64.const 1023 - i64.const 52 - i64.add - i64.gt_u - if - i32.const 2 - br $~lib/util/math/checkint|inlined.1 - end - i64.const 1 - i64.const 1023 - i64.const 52 - i64.add - local.get $11 - i64.sub - i64.shl - local.set $11 - local.get $9 - local.get $11 - i64.const 1 - i64.sub - i64.and - i64.const 0 - i64.ne - if - i32.const 0 - br $~lib/util/math/checkint|inlined.1 - end - local.get $9 - local.get $11 - i64.and - i64.const 0 - i64.ne - if - i32.const 1 - br $~lib/util/math/checkint|inlined.1 - end - i32.const 2 - end - local.set $12 - local.get $12 - i32.const 0 - i32.eq - if - local.get $3 - local.get $3 - f64.sub - local.get $3 - local.get $3 - f64.sub - f64.div - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $12 - i32.const 1 - i32.eq - if - i32.const 262144 - local.set $4 - end - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $7 - i64.const 2047 - i64.and - local.set $7 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.sub - i64.const 1086 - i64.const 958 - i64.sub - i64.ge_u - if - local.get $5 - i64.const 4607182418800017408 - i64.eq - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $8 - i64.const 2047 - i64.and - i64.const 958 - i64.lt_u - if - f64.const 1 - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $5 - i64.const 4607182418800017408 - i64.gt_u - local.get $8 - i64.const 2048 - i64.lt_u - i32.eq - if (result f64) - f64.const inf - else - f64.const 0 - end - br $~lib/util/math/pow_lut|inlined.0 - end - local.get $7 - i64.const 0 - i64.eq - if - local.get $3 - f64.const 4503599627370496 - f64.mul - i64.reinterpret_f64 - local.set $5 - local.get $5 - i64.const 9223372036854775807 - i64.and - local.set $5 - local.get $5 - i64.const 52 - i64.const 52 - i64.shl - i64.sub - local.set $5 - end - end - local.get $5 - local.set $9 - local.get $9 - i64.const 4604531861337669632 - i64.sub - local.set $11 - local.get $11 - i64.const 52 - i64.const 7 - i64.sub - i64.shr_u - i64.const 127 - i64.and - i32.wrap_i64 - local.set $12 - local.get $11 - i64.const 52 - i64.shr_s - local.set $13 - local.get $9 - local.get $11 - i64.const 4095 - i64.const 52 - i64.shl - i64.and - i64.sub - local.set $14 - local.get $14 - f64.reinterpret_i64 - local.set $10 - local.get $13 - f64.convert_i64_s - local.set $15 - i32.const 8392 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $16 - i32.const 8392 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=16 - local.set $17 - i32.const 8392 - local.get $12 - i32.const 2 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=24 - local.set $18 - local.get $14 - i64.const 2147483648 - i64.add - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $19 - local.get $10 - local.get $19 - f64.sub - local.set $20 - local.get $19 - local.get $16 - f64.mul - f64.const 1 - f64.sub - local.set $21 - local.get $20 - local.get $16 - f64.mul - local.set $22 - local.get $21 - local.get $22 - f64.add - local.set $23 - local.get $15 - f64.const 0.6931471805598903 - f64.mul - local.get $17 - f64.add - local.set $24 - local.get $24 - local.get $23 - f64.add - local.set $25 - local.get $15 - f64.const 5.497923018708371e-14 - f64.mul - local.get $18 - f64.add - local.set $26 - local.get $24 - local.get $25 - f64.sub - local.get $23 - f64.add - local.set $27 - f64.const -0.5 - local.get $23 - f64.mul - local.set $28 - local.get $23 - local.get $28 - f64.mul - local.set $29 - local.get $23 - local.get $29 - f64.mul - local.set $30 - f64.const -0.5 - local.get $21 - f64.mul - local.set $31 - local.get $21 - local.get $31 - f64.mul - local.set $32 - local.get $25 - local.get $32 - f64.add - local.set $33 - local.get $22 - local.get $28 - local.get $31 - f64.add - f64.mul - local.set $34 - local.get $25 - local.get $33 - f64.sub - local.get $32 - f64.add - local.set $35 - local.get $30 - f64.const -0.6666666666666679 - local.get $23 - f64.const 0.5000000000000007 - f64.mul - f64.add - local.get $29 - f64.const 0.7999999995323976 - local.get $23 - f64.const -0.6666666663487739 - f64.mul - f64.add - local.get $29 - f64.const -1.142909628459501 - local.get $23 - f64.const 1.0000415263675542 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $36 - local.get $26 - local.get $27 - f64.add - local.get $34 - f64.add - local.get $35 - f64.add - local.get $36 - f64.add - local.set $37 - local.get $33 - local.get $37 - f64.add - local.set $38 - local.get $33 - local.get $38 - f64.sub - local.get $37 - f64.add - global.set $~lib/util/math/log_tail - local.get $38 - local.set $38 - global.get $~lib/util/math/log_tail - local.set $37 - local.get $6 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $34 - local.get $2 - local.get $34 - f64.sub - local.set $33 - local.get $38 - i64.reinterpret_f64 - i64.const -134217728 - i64.and - f64.reinterpret_i64 - local.set $32 - local.get $38 - local.get $32 - f64.sub - local.get $37 - f64.add - local.set $31 - local.get $34 - local.get $32 - f64.mul - local.set $36 - local.get $33 - local.get $32 - f64.mul - local.get $2 - local.get $31 - f64.mul - f64.add - local.set $35 - block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $36 - local.set $15 - local.get $35 - local.set $10 - local.get $4 - local.set $12 - local.get $15 - i64.reinterpret_f64 - local.set $9 - local.get $9 - i64.const 52 - i64.shr_u - i32.wrap_i64 - i32.const 2047 - i32.and - local.set $39 - local.get $39 - i32.const 969 - i32.sub - i32.const 63 - i32.ge_u - if - local.get $39 - i32.const 969 - i32.sub - i32.const -2147483648 - i32.ge_u - if - f64.const -1 - f64.const 1 - local.get $12 - select - br $~lib/util/math/exp_inline|inlined.0 - end - local.get $39 - i32.const 1033 - i32.ge_u - if - local.get $9 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - if (result f64) - local.get $12 - local.set $41 - local.get $41 - local.set $42 - i64.const 1152921504606846976 - f64.reinterpret_i64 - local.set $16 - local.get $16 - f64.neg - local.get $16 - local.get $42 - select - local.get $16 - f64.mul - else - local.get $12 - local.set $42 - local.get $42 - local.set $41 - i64.const 8070450532247928832 - f64.reinterpret_i64 - local.set $17 - local.get $17 - f64.neg - local.get $17 - local.get $41 - select - local.get $17 - f64.mul - end - br $~lib/util/math/exp_inline|inlined.0 - end - i32.const 0 - local.set $39 - end - f64.const 184.6649652337873 - local.get $15 - f64.mul - local.set $29 - local.get $29 - f64.const 6755399441055744 - f64.add - local.set $30 - local.get $30 - i64.reinterpret_f64 - local.set $14 - local.get $30 - f64.const 6755399441055744 - f64.sub - local.set $30 - local.get $15 - local.get $30 - f64.const -0.005415212348111709 - f64.mul - f64.add - local.get $30 - f64.const -1.2864023111638346e-14 - f64.mul - f64.add - local.set $28 - local.get $28 - local.get $10 - f64.add - local.set $28 - local.get $14 - i64.const 127 - i64.and - i64.const 1 - i64.shl - i32.wrap_i64 - local.set $40 - local.get $14 - local.get $12 - i64.extend_i32_u - i64.add - i64.const 52 - i64.const 7 - i64.sub - i64.shl - local.set $13 - i32.const 4296 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load - f64.reinterpret_i64 - local.set $25 - i32.const 4296 - local.get $40 - i32.const 3 - i32.shl - i32.add - i64.load offset=8 - local.get $13 - i64.add - local.set $11 - local.get $28 - local.get $28 - f64.mul - local.set $27 - local.get $25 - local.get $28 - f64.add - local.get $27 - f64.const 0.49999999999996786 - local.get $28 - f64.const 0.16666666666665886 - f64.mul - f64.add - f64.mul - f64.add - local.get $27 - local.get $27 - f64.mul - f64.const 0.0416666808410674 - local.get $28 - f64.const 0.008333335853059549 - f64.mul - f64.add - f64.mul - f64.add - local.set $24 - local.get $39 - i32.const 0 - i32.eq - if - block $~lib/util/math/specialcase|inlined.1 (result f64) - local.get $24 - local.set $18 - local.get $11 - local.set $44 - local.get $14 - local.set $43 - local.get $43 - i64.const 2147483648 - i64.and - i64.const 0 - i64.ne - i32.eqz - if - local.get $44 - i64.const 1009 - i64.const 52 - i64.shl - i64.sub - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - f64.const 5486124068793688683255936e279 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - f64.mul - br $~lib/util/math/specialcase|inlined.1 - end - local.get $44 - i64.const 1022 - i64.const 52 - i64.shl - i64.add - local.set $44 - local.get $44 - f64.reinterpret_i64 - local.set $17 - local.get $17 - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $16 - local.get $16 - f64.abs - f64.const 1 - f64.lt - if - f64.const 1 - local.get $16 - f64.copysign - local.set $23 - local.get $17 - local.get $16 - f64.sub - local.get $17 - local.get $18 - f64.mul - f64.add - local.set $22 - local.get $23 - local.get $16 - f64.add - local.set $21 - local.get $23 - local.get $21 - f64.sub - local.get $16 - f64.add - local.get $22 - f64.add - local.set $22 - local.get $21 - local.get $22 - f64.add - local.get $23 - f64.sub - local.set $16 - local.get $16 - f64.const 0 - f64.eq - if - local.get $44 - i64.const -9223372036854775808 - i64.and - f64.reinterpret_i64 - local.set $16 - end - end - local.get $16 - f64.const 2.2250738585072014e-308 - f64.mul - end - br $~lib/util/math/exp_inline|inlined.0 - end - local.get $11 - f64.reinterpret_i64 - local.set $26 - local.get $26 - local.get $26 - local.get $24 - f64.mul - f64.add - end - end - return - ) - (func $../../lib/libm/assembly/libm/pow (param $0 f64) (param $1 f64) (result f64) - local.get $0 - local.get $1 - call $~lib/math/NativeMath.pow - ) - (func $../../lib/libm/assembly/libm/round (param $0 f64) (result f64) - (local $1 f64) - local.get $0 - local.set $1 - local.get $1 - f64.const 0.5 - f64.add - f64.floor - local.get $1 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/sign (param $0 f64) (result f64) - (local $1 f64) - block $~lib/math/NativeMath.sign|inlined.0 (result f64) - local.get $0 - local.set $1 - i32.const 0 - i32.const 0 - i32.gt_s - drop - local.get $1 - f64.const 0 - f64.gt - if (result f64) - f64.const 1 - else - local.get $1 - f64.const 0 - f64.lt - if (result f64) - f64.const -1 - else - local.get $1 - end - end - br $~lib/math/NativeMath.sign|inlined.0 - end - ) - (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 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072243195 - i32.le_u - if - local.get $2 - i32.const 1045430272 - i32.lt_u - if - local.get $0 - return - end - block $~lib/math/sin_kern|inlined.1 (result f64) - local.get $0 - local.set $6 - f64.const 0 - local.set $5 - i32.const 0 - local.set $4 - local.get $6 - local.get $6 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $8 - f64.const 0.00833333333332249 - local.get $7 - f64.const -1.984126982985795e-04 - local.get $7 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $8 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $7 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $7 - local.get $6 - f64.mul - local.set $10 - local.get $4 - i32.eqz - if - local.get $6 - local.get $10 - f64.const -0.16666666666666632 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.1 - else - local.get $6 - local.get $7 - f64.const 0.5 - local.get $5 - f64.mul - local.get $10 - local.get $9 - f64.mul - f64.sub - f64.mul - local.get $5 - f64.sub - local.get $10 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.1 - end - unreachable - end - return - end - local.get $2 - i32.const 2146435072 - i32.ge_u - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.1 (result i32) - local.get $0 - local.set $5 - local.get $1 - local.set $11 - local.get $3 - local.set $4 - local.get $11 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $12 - 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_f64_s - br $~lib/math/rempio2|inlined.1 - end - local.get $5 - local.get $11 - call $~lib/math/pio2_large_quot - local.set $15 - i32.const 0 - local.get $15 - i32.sub - local.get $15 - local.get $4 - select - end - local.set $17 - global.get $~lib/math/rempio2_y0 - local.set $18 - global.get $~lib/math/rempio2_y1 - local.set $19 - local.get $17 - i32.const 1 - i32.and - if (result f64) - local.get $18 - local.set $8 - local.get $19 - local.set $16 - local.get $8 - local.get $8 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - local.get $5 - f64.const 0.0416666666666666 - local.get $5 - f64.const -0.001388888888887411 - local.get $5 - f64.const 2.480158728947673e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.get $6 - local.get $6 - f64.mul - f64.const -2.7557314351390663e-07 - local.get $5 - f64.const 2.087572321298175e-09 - local.get $5 - f64.const -1.1359647557788195e-11 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $7 - f64.const 0.5 - local.get $5 - f64.mul - local.set $10 - f64.const 1 - local.get $10 - f64.sub - local.set $6 - local.get $6 - f64.const 1 - local.get $6 - f64.sub - local.get $10 - f64.sub - local.get $5 - local.get $7 - f64.mul - local.get $8 - local.get $16 - f64.mul - f64.sub - f64.add - f64.add - else - block $~lib/math/sin_kern|inlined.2 (result f64) - local.get $18 - local.set $16 - local.get $19 - local.set $9 - i32.const 1 - local.set $13 - local.get $16 - local.get $16 - f64.mul - local.set $10 - local.get $10 - local.get $10 - f64.mul - local.set $7 - f64.const 0.00833333333332249 - local.get $10 - f64.const -1.984126982985795e-04 - local.get $10 - f64.const 2.7557313707070068e-06 - f64.mul - f64.add - f64.mul - f64.add - local.get $10 - local.get $7 - f64.mul - f64.const -2.5050760253406863e-08 - local.get $10 - f64.const 1.58969099521155e-10 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $10 - local.get $16 - f64.mul - local.set $5 - local.get $13 - i32.eqz - if - local.get $16 - local.get $5 - f64.const -0.16666666666666632 - local.get $10 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - br $~lib/math/sin_kern|inlined.2 - else - local.get $16 - local.get $10 - f64.const 0.5 - local.get $9 - f64.mul - local.get $5 - local.get $6 - f64.mul - f64.sub - f64.mul - local.get $9 - f64.sub - local.get $5 - f64.const -0.16666666666666632 - f64.mul - f64.sub - f64.sub - br $~lib/math/sin_kern|inlined.2 - end - unreachable - end - end - local.set $0 - local.get $17 - i32.const 2 - i32.and - if (result f64) - local.get $0 - f64.neg - else - local.get $0 - end - ) - (func $../../lib/libm/assembly/libm/sin (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.sin - ) - (func $~lib/math/NativeMath.sinh (param $0 f64) (result f64) - (local $1 i64) - (local $2 f64) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 9223372036854775807 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $3 - f64.const 0.5 - local.get $0 - f64.copysign - local.set $5 - local.get $3 - i32.const 1082535490 - i32.lt_u - if - local.get $2 - call $~lib/math/NativeMath.expm1 - local.set $4 - local.get $3 - i32.const 1072693248 - i32.lt_u - if - local.get $3 - i32.const 1072693248 - i32.const 26 - i32.const 20 - i32.shl - i32.sub - i32.lt_u - if - local.get $0 - return - end - local.get $5 - f64.const 2 - local.get $4 - f64.mul - local.get $4 - local.get $4 - f64.mul - local.get $4 - f64.const 1 - f64.add - f64.div - f64.sub - f64.mul - return - end - local.get $5 - local.get $4 - local.get $4 - local.get $4 - f64.const 1 - f64.add - f64.div - f64.add - f64.mul - return - end - f64.const 2 - local.get $5 - f64.mul - local.get $2 - local.set $6 - i32.const 1023 - i32.const 2043 - i32.const 2 - i32.div_u - i32.add - i32.const 20 - i32.shl - i64.extend_i32_u - i64.const 32 - i64.shl - f64.reinterpret_i64 - local.set $7 - local.get $6 - f64.const 1416.0996898839683 - f64.sub - call $~lib/math/NativeMath.exp - local.get $7 - f64.mul - local.get $7 - f64.mul - f64.mul - local.set $4 - local.get $4 - ) - (func $../../lib/libm/assembly/libm/sinh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.sinh - ) - (func $../../lib/libm/assembly/libm/sqrt (param $0 f64) (result f64) - (local $1 f64) - local.get $0 - local.set $1 - local.get $1 - f64.sqrt - ) - (func $~lib/math/tan_kern (param $0 f64) (param $1 f64) (param $2 i32) (result f64) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 f64) - local.get $0 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $8 - local.get $8 - i32.const 2147483647 - i32.and - local.set $9 - local.get $9 - i32.const 1072010280 - i32.ge_s - local.set $10 - local.get $10 - if - local.get $8 - i32.const 0 - i32.lt_s - if - local.get $0 - f64.neg - local.set $0 - local.get $1 - f64.neg - local.set $1 - end - f64.const 0.7853981633974483 - local.get $0 - f64.sub - local.set $3 - f64.const 3.061616997868383e-17 - local.get $1 - f64.sub - local.set $6 - local.get $3 - local.get $6 - f64.add - local.set $0 - f64.const 0 - local.set $1 - end - local.get $0 - local.get $0 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $6 - f64.const 0.13333333333320124 - local.get $6 - f64.const 0.021869488294859542 - local.get $6 - f64.const 3.5920791075913124e-03 - local.get $6 - f64.const 5.880412408202641e-04 - local.get $6 - f64.const 7.817944429395571e-05 - local.get $6 - f64.const -1.8558637485527546e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - local.set $4 - local.get $3 - f64.const 0.05396825397622605 - local.get $6 - f64.const 0.0088632398235993 - local.get $6 - f64.const 1.4562094543252903e-03 - local.get $6 - f64.const 2.464631348184699e-04 - local.get $6 - f64.const 7.140724913826082e-05 - local.get $6 - f64.const 2.590730518636337e-05 - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - f64.add - f64.mul - local.set $5 - local.get $3 - local.get $0 - f64.mul - local.set $7 - local.get $1 - local.get $3 - local.get $7 - local.get $4 - local.get $5 - f64.add - f64.mul - local.get $1 - f64.add - f64.mul - f64.add - local.set $4 - local.get $4 - f64.const 0.3333333333333341 - local.get $7 - f64.mul - f64.add - local.set $4 - local.get $0 - local.get $4 - f64.add - local.set $6 - local.get $10 - if - local.get $2 - f64.convert_i32_s - local.set $5 - f64.const 1 - local.get $8 - i32.const 30 - i32.shr_s - i32.const 2 - i32.and - f64.convert_i32_s - f64.sub - local.get $5 - f64.const 2 - local.get $0 - local.get $6 - local.get $6 - f64.mul - local.get $6 - local.get $5 - f64.add - f64.div - local.get $4 - f64.sub - f64.sub - f64.mul - f64.sub - f64.mul - return - end - local.get $2 - i32.const 1 - i32.eq - if - local.get $6 - return - end - local.get $6 - local.set $3 - local.get $3 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $3 - local.get $4 - local.get $3 - local.get $0 - f64.sub - f64.sub - local.set $5 - f64.const 1 - f64.neg - local.get $6 - f64.div - local.tee $11 - local.set $12 - local.get $12 - i64.reinterpret_f64 - i64.const -4294967296 - i64.and - f64.reinterpret_i64 - local.set $12 - f64.const 1 - local.get $12 - local.get $3 - f64.mul - f64.add - local.set $7 - local.get $12 - local.get $11 - local.get $7 - local.get $12 - local.get $5 - f64.mul - f64.add - f64.mul - f64.add - ) - (func $~lib/math/NativeMath.tan (param $0 f64) (result f64) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 f64) - (local $7 i32) - (local $8 i32) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 i32) - (local $14 i32) - (local $15 f64) - (local $16 f64) - (local $17 i32) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1072243195 - i32.le_s - if - local.get $2 - i32.const 1044381696 - i32.lt_s - if - local.get $0 - return - end - local.get $0 - f64.const 0 - i32.const 1 - call $~lib/math/tan_kern - return - end - local.get $2 - i32.const 2146435072 - i32.ge_s - if - local.get $0 - local.get $0 - f64.sub - return - end - block $~lib/math/rempio2|inlined.2 (result i32) - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $3 - local.set $4 - local.get $5 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const 2147483647 - i32.and - local.set $7 - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $7 - i32.const 1073928572 - i32.lt_u - if - i32.const 1 - local.set $8 - local.get $4 - i32.eqz - if - local.get $6 - f64.const 1.5707963267341256 - f64.sub - local.set $9 - local.get $7 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.sub - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 6.077100506506192e-11 - f64.sub - local.set $11 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.sub - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.sub - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 2.0222662487959506e-21 - f64.sub - local.set $11 - end - else - local.get $6 - f64.const 1.5707963267341256 - f64.add - local.set $9 - local.get $7 - i32.const 1073291771 - i32.ne - if - local.get $9 - f64.const 6.077100506506192e-11 - f64.add - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 6.077100506506192e-11 - f64.add - local.set $11 - else - local.get $9 - f64.const 6.077100506303966e-11 - f64.add - local.set $9 - local.get $9 - f64.const 2.0222662487959506e-21 - f64.add - local.set $10 - local.get $9 - local.get $10 - f64.sub - f64.const 2.0222662487959506e-21 - f64.add - local.set $11 - end - i32.const -1 - local.set $8 - end - local.get $10 - global.set $~lib/math/rempio2_y0 - local.get $11 - global.set $~lib/math/rempio2_y1 - local.get $8 - br $~lib/math/rempio2|inlined.2 - end - local.get $7 - i32.const 1094263291 - i32.lt_u - if - local.get $6 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $11 - local.get $6 - local.get $11 - f64.const 1.5707963267341256 - f64.mul - f64.sub - local.set $10 - local.get $11 - f64.const 6.077100506506192e-11 - f64.mul - local.set $9 - local.get $7 - i32.const 20 - i32.shr_u - local.set $8 - local.get $10 - local.get $9 - f64.sub - local.set $12 - local.get $12 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $13 - local.get $8 - local.get $13 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $14 - local.get $14 - i32.const 16 - i32.gt_u - if - local.get $10 - local.set $15 - local.get $11 - f64.const 6.077100506303966e-11 - f64.mul - local.set $9 - local.get $15 - local.get $9 - f64.sub - local.set $10 - local.get $11 - f64.const 2.0222662487959506e-21 - f64.mul - local.get $15 - local.get $10 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $10 - local.get $9 - f64.sub - local.set $12 - local.get $12 - i64.reinterpret_f64 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $13 - local.get $8 - local.get $13 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - i32.sub - local.set $14 - local.get $14 - i32.const 49 - i32.gt_u - if - local.get $10 - local.set $16 - local.get $11 - f64.const 2.0222662487111665e-21 - f64.mul - local.set $9 - local.get $16 - local.get $9 - f64.sub - local.set $10 - local.get $11 - f64.const 8.4784276603689e-32 - f64.mul - local.get $16 - local.get $10 - f64.sub - local.get $9 - f64.sub - f64.sub - local.set $9 - local.get $10 - local.get $9 - f64.sub - local.set $12 - end - end - local.get $10 - local.get $12 - f64.sub - local.get $9 - f64.sub - local.set $15 - local.get $12 - global.set $~lib/math/rempio2_y0 - local.get $15 - global.set $~lib/math/rempio2_y1 - local.get $11 - i32.trunc_f64_s - br $~lib/math/rempio2|inlined.2 - end - local.get $6 - local.get $5 - call $~lib/math/pio2_large_quot - local.set $14 - i32.const 0 - local.get $14 - i32.sub - local.get $14 - local.get $4 - select - end - local.set $17 - global.get $~lib/math/rempio2_y0 - global.get $~lib/math/rempio2_y1 - i32.const 1 - local.get $17 - i32.const 1 - i32.and - i32.const 1 - i32.shl - i32.sub - call $~lib/math/tan_kern - ) - (func $../../lib/libm/assembly/libm/tan (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.tan - ) - (func $~lib/math/NativeMath.tanh (param $0 f64) (result f64) - (local $1 i64) - (local $2 f64) - (local $3 i32) - (local $4 f64) - local.get $0 - i64.reinterpret_f64 - local.set $1 - local.get $1 - i64.const 9223372036854775807 - i64.and - local.set $1 - local.get $1 - f64.reinterpret_i64 - local.set $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $3 - local.get $3 - i32.const 1071748074 - i32.gt_u - if - local.get $3 - i32.const 1077149696 - i32.gt_u - if - f64.const 1 - f64.const 0 - local.get $2 - f64.div - f64.sub - local.set $4 - else - f64.const 2 - local.get $2 - f64.mul - call $~lib/math/NativeMath.expm1 - local.set $4 - f64.const 1 - f64.const 2 - local.get $4 - f64.const 2 - f64.add - f64.div - f64.sub - local.set $4 - end - else - local.get $3 - i32.const 1070618798 - i32.gt_u - if - f64.const 2 - local.get $2 - f64.mul - call $~lib/math/NativeMath.expm1 - local.set $4 - local.get $4 - local.get $4 - f64.const 2 - f64.add - f64.div - local.set $4 - else - local.get $3 - i32.const 1048576 - i32.ge_u - if - f64.const -2 - local.get $2 - f64.mul - call $~lib/math/NativeMath.expm1 - local.set $4 - local.get $4 - f64.neg - local.get $4 - f64.const 2 - f64.add - f64.div - local.set $4 - else - local.get $2 - local.set $4 - end - end - end - local.get $4 - local.get $0 - f64.copysign - ) - (func $../../lib/libm/assembly/libm/tanh (param $0 f64) (result f64) - local.get $0 - call $~lib/math/NativeMath.tanh - ) - (func $../../lib/libm/assembly/libm/trunc (param $0 f64) (result f64) - (local $1 f64) - local.get $0 - local.set $1 - local.get $1 - f64.trunc - ) - (func $../../lib/libm/assembly/libmf/abs (param $0 f32) (result f32) - (local $1 f32) - local.get $0 - local.set $1 - local.get $1 - f32.abs - ) - (func $~lib/math/Rf (param $0 f32) (result f32) - (local $1 f32) - (local $2 f32) - local.get $0 - f32.const 0.16666586697101593 - local.get $0 - f32.const -0.04274342209100723 - local.get $0 - f32.const -0.008656363002955914 - f32.mul - f32.add - f32.mul - f32.add - f32.mul - local.set $1 - f32.const 1 - local.get $0 - f32.const -0.7066296339035034 - f32.mul - f32.add - local.set $2 - local.get $1 - local.get $2 - f32.div - ) - (func $~lib/math/NativeMathf.acos (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 f32) - (local $5 f32) - (local $6 f32) - (local $7 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1065353216 - i32.ge_u - if - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $1 - i32.const 31 - i32.shr_u - if - f32.const 2 - f32.const 1.570796251296997 - f32.mul - f32.const 7.52316384526264e-37 - f32.add - return - end - f32.const 0 - return - end - f32.const 0 - local.get $0 - local.get $0 - f32.sub - f32.div - return - end - local.get $2 - i32.const 1056964608 - i32.lt_u - if - local.get $2 - i32.const 847249408 - i32.le_u - if - f32.const 1.570796251296997 - f32.const 7.52316384526264e-37 - f32.add - return - end - f32.const 1.570796251296997 - local.get $0 - f32.const 7.549789415861596e-08 - local.get $0 - local.get $0 - local.get $0 - f32.mul - call $~lib/math/Rf - f32.mul - f32.sub - f32.sub - f32.sub - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - f32.const 0.5 - local.get $0 - f32.const 0.5 - f32.mul - f32.add - local.set $3 - local.get $3 - f32.sqrt - local.set $5 - local.get $3 - call $~lib/math/Rf - local.get $5 - f32.mul - f32.const 7.549789415861596e-08 - f32.sub - local.set $4 - f32.const 2 - f32.const 1.570796251296997 - local.get $5 - local.get $4 - f32.add - f32.sub - f32.mul - return - end - f32.const 0.5 - local.get $0 - f32.const 0.5 - f32.mul - f32.sub - local.set $3 - local.get $3 - f32.sqrt - local.set $5 - local.get $5 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const -4096 - i32.and - f32.reinterpret_i32 - local.set $6 - local.get $3 - local.get $6 - local.get $6 - f32.mul - f32.sub - local.get $5 - local.get $6 - f32.add - f32.div - local.set $7 - local.get $3 - call $~lib/math/Rf - local.get $5 - f32.mul - local.get $7 - f32.add - local.set $4 - f32.const 2 - local.get $6 - local.get $4 - f32.add - f32.mul - ) - (func $../../lib/libm/assembly/libmf/acos (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.acos - ) - (func $~lib/math/NativeMathf.log1p (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 f32) - (local $8 f32) - (local $9 f32) - (local $10 f32) - (local $11 f32) - (local $12 f32) - (local $13 f32) - (local $14 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - f32.const 0 - local.set $2 - f32.const 0 - local.set $3 - i32.const 1 - local.set $4 - local.get $1 - i32.const 1054086096 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i32.const -1082130432 - i32.ge_u - if - local.get $0 - f32.const -1 - f32.eq - if - local.get $0 - f32.const 0 - f32.div - return - end - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - local.get $1 - i32.const 1 - i32.shl - i32.const 864026624 - i32.const 1 - i32.shl - i32.lt_u - if - local.get $0 - return - end - local.get $1 - i32.const -1097468391 - i32.le_u - if - i32.const 0 - local.set $4 - f32.const 0 - local.set $2 - local.get $0 - local.set $3 - end - else - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - end - end - local.get $4 - if - f32.const 1 - local.get $0 - f32.add - local.set $5 - local.get $5 - i32.reinterpret_f32 - local.set $6 - local.get $6 - i32.const 1065353216 - i32.const 1060439283 - i32.sub - i32.add - local.set $6 - local.get $6 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - local.set $4 - local.get $4 - i32.const 25 - i32.lt_s - if - local.get $4 - i32.const 2 - i32.ge_s - if (result f32) - f32.const 1 - local.get $5 - local.get $0 - f32.sub - f32.sub - else - local.get $0 - local.get $5 - f32.const 1 - f32.sub - f32.sub - end - local.set $2 - local.get $2 - local.get $5 - f32.div - local.set $2 - else - f32.const 0 - local.set $2 - end - local.get $6 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - local.set $6 - local.get $6 - f32.reinterpret_i32 - f32.const 1 - f32.sub - local.set $3 - end - local.get $3 - f32.const 2 - local.get $3 - f32.add - f32.div - local.set $7 - local.get $7 - local.get $7 - f32.mul - local.set $8 - local.get $8 - local.get $8 - f32.mul - local.set $9 - local.get $9 - f32.const 0.40000972151756287 - local.get $9 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - local.set $10 - local.get $8 - f32.const 0.6666666269302368 - local.get $9 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.set $11 - local.get $11 - local.get $10 - f32.add - local.set $12 - f32.const 0.5 - local.get $3 - f32.mul - local.get $3 - f32.mul - local.set $13 - local.get $4 - f32.convert_i32_s - local.set $14 - local.get $7 - local.get $13 - local.get $12 - f32.add - f32.mul - local.get $14 - f32.const 9.05800061445916e-06 - f32.mul - local.get $2 - f32.add - f32.add - local.get $13 - f32.sub - local.get $3 - f32.add - local.get $14 - f32.const 0.6931381225585938 - f32.mul - f32.add - ) - (func $~lib/math/NativeMathf.log (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/logf_lut|inlined.0 (result f32) - local.get $0 - local.set $1 - local.get $1 - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 8388608 - i32.sub - i32.const 2139095040 - i32.const 8388608 - i32.sub - i32.ge_u - if - local.get $2 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if - f32.const inf - f32.neg - br $~lib/util/math/logf_lut|inlined.0 - end - local.get $2 - i32.const 2139095040 - i32.eq - if - local.get $1 - br $~lib/util/math/logf_lut|inlined.0 - end - local.get $2 - i32.const 31 - i32.shr_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 1 - i32.shl - i32.const -16777216 - i32.ge_u - end - if - local.get $1 - local.get $1 - f32.sub - local.get $1 - local.get $1 - f32.sub - f32.div - br $~lib/util/math/logf_lut|inlined.0 - end - local.get $1 - f32.const 8388608 - f32.mul - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 23 - i32.const 23 - i32.shl - i32.sub - local.set $2 - end - local.get $2 - i32.const 1060306944 - i32.sub - local.set $3 - local.get $3 - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $4 - local.get $3 - i32.const 23 - i32.shr_s - local.set $5 - local.get $2 - local.get $3 - i32.const 511 - i32.const 23 - i32.shl - i32.and - i32.sub - local.set $6 - i32.const 12488 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $7 - i32.const 12488 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $8 - local.get $6 - f32.reinterpret_i32 - f64.promote_f32 - local.set $9 - local.get $9 - local.get $7 - f64.mul - f64.const 1 - f64.sub - local.set $10 - local.get $8 - local.get $5 - f64.convert_i32_s - f64.const 0.6931471805599453 - f64.mul - f64.add - local.set $11 - local.get $10 - local.get $10 - f64.mul - local.set $12 - f64.const 0.333456765744066 - local.get $10 - f64.mul - f64.const -0.4999997485802103 - f64.add - local.set $13 - local.get $13 - f64.const -0.25089342214237154 - local.get $12 - f64.mul - f64.add - local.set $13 - local.get $13 - local.get $12 - f64.mul - local.get $11 - local.get $10 - f64.add - f64.add - local.set $13 - local.get $13 - f32.demote_f64 - end - return - ) - (func $~lib/math/NativeMathf.acosh (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1065353216 - i32.const 1 - i32.const 23 - i32.shl - i32.add - i32.lt_u - if - local.get $0 - f32.const 1 - f32.sub - local.set $3 - local.get $3 - local.get $3 - local.get $3 - f32.const 2 - f32.add - f32.mul - f32.sqrt - f32.add - call $~lib/math/NativeMathf.log1p - return - end - local.get $2 - i32.const 1065353216 - i32.const 12 - i32.const 23 - i32.shl - i32.add - i32.lt_u - if - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - local.get $0 - local.get $0 - local.get $0 - f32.mul - f32.const 1 - f32.sub - f32.sqrt - f32.add - f32.div - f32.sub - call $~lib/math/NativeMathf.log - return - end - local.get $0 - call $~lib/math/NativeMathf.log - f32.const 0.6931471824645996 - f32.add - ) - (func $../../lib/libm/assembly/libmf/acosh (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.acosh - ) - (func $~lib/math/NativeMathf.asin (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 f32) - (local $4 f64) - local.get $0 - local.set $1 - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 1065353216 - i32.ge_u - if - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $0 - f32.const 1.5707963705062866 - f32.mul - f32.const 7.52316384526264e-37 - f32.add - return - end - f32.const 0 - local.get $0 - local.get $0 - f32.sub - f32.div - return - end - local.get $2 - i32.const 1056964608 - i32.lt_u - if - local.get $2 - i32.const 964689920 - i32.lt_u - if (result i32) - local.get $2 - i32.const 8388608 - i32.ge_u - else - i32.const 0 - end - if - local.get $0 - return - end - local.get $0 - local.get $0 - local.get $0 - local.get $0 - f32.mul - call $~lib/math/Rf - f32.mul - f32.add - return - end - f32.const 0.5 - local.get $0 - f32.abs - f32.const 0.5 - f32.mul - f32.sub - local.set $3 - local.get $3 - f64.promote_f32 - f64.sqrt - local.set $4 - f32.const 1.5707963705062866 - f64.promote_f32 - f32.const 2 - f64.promote_f32 - local.get $4 - local.get $4 - local.get $3 - call $~lib/math/Rf - f64.promote_f32 - f64.mul - f64.add - f64.mul - f64.sub - f32.demote_f64 - local.set $0 - local.get $0 - local.get $1 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/asin (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.asin - ) - (func $~lib/math/NativeMathf.asinh (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $2 - local.get $1 - i32.const 1065353216 - i32.const 12 - i32.const 23 - i32.shl - i32.add - i32.ge_u - if - local.get $2 - call $~lib/math/NativeMathf.log - f32.const 0.6931471824645996 - f32.add - local.set $2 - else - local.get $1 - i32.const 1065353216 - i32.const 1 - i32.const 23 - i32.shl - i32.add - i32.ge_u - if - f32.const 2 - local.get $2 - f32.mul - f32.const 1 - local.get $2 - local.get $2 - f32.mul - f32.const 1 - f32.add - f32.sqrt - local.get $2 - f32.add - f32.div - f32.add - call $~lib/math/NativeMathf.log - local.set $2 - else - local.get $1 - i32.const 1065353216 - i32.const 12 - i32.const 23 - i32.shl - i32.sub - i32.ge_u - if - local.get $2 - local.get $2 - local.get $2 - f32.mul - local.get $2 - local.get $2 - f32.mul - f32.const 1 - f32.add - f32.sqrt - f32.const 1 - f32.add - f32.div - f32.add - call $~lib/math/NativeMathf.log1p - local.set $2 - end - end - end - local.get $2 - local.get $0 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/asinh (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.asinh - ) - (func $~lib/math/NativeMathf.atan (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 i32) - (local $5 f32) - (local $6 f32) - (local $7 f32) - (local $8 f32) - (local $9 i32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $0 - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1283457024 - i32.ge_u - if - local.get $0 - local.get $0 - f32.ne - if - local.get $0 - return - end - f32.const 1.570796251296997 - f32.const 7.52316384526264e-37 - f32.add - local.set $3 - local.get $3 - local.get $2 - f32.copysign - return - end - local.get $1 - i32.const 1054867456 - i32.lt_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - i32.const -1 - local.set $4 - else - local.get $0 - f32.abs - local.set $0 - local.get $1 - i32.const 1066926080 - i32.lt_u - if - local.get $1 - i32.const 1060110336 - i32.lt_u - if - i32.const 0 - local.set $4 - f32.const 2 - local.get $0 - f32.mul - f32.const 1 - f32.sub - f32.const 2 - local.get $0 - f32.add - f32.div - local.set $0 - else - i32.const 1 - local.set $4 - local.get $0 - f32.const 1 - f32.sub - local.get $0 - f32.const 1 - f32.add - f32.div - local.set $0 - end - else - local.get $1 - i32.const 1075576832 - i32.lt_u - if - i32.const 2 - local.set $4 - local.get $0 - f32.const 1.5 - f32.sub - f32.const 1 - f32.const 1.5 - local.get $0 - f32.mul - f32.add - f32.div - local.set $0 - else - i32.const 3 - local.set $4 - f32.const -1 - local.get $0 - f32.div - local.set $0 - end - end - end - local.get $0 - local.get $0 - f32.mul - local.set $3 - local.get $3 - local.get $3 - f32.mul - local.set $5 - local.get $3 - f32.const 0.333333283662796 - local.get $5 - f32.const 0.14253635704517365 - local.get $5 - f32.const 0.06168760731816292 - f32.mul - f32.add - f32.mul - f32.add - f32.mul - local.set $6 - local.get $5 - f32.const -0.19999158382415771 - local.get $5 - f32.const -0.106480173766613 - f32.mul - f32.add - f32.mul - local.set $7 - local.get $0 - local.get $6 - local.get $7 - f32.add - f32.mul - local.set $8 - local.get $4 - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $8 - f32.sub - return - end - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $4 - local.set $9 - local.get $9 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $9 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $9 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $9 - i32.const 3 - i32.eq - br_if $case3|0 - br $case4|0 - end - f32.const 0.46364760398864746 - local.get $8 - f32.const 5.01215824399992e-09 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - f32.const 0.7853981256484985 - local.get $8 - f32.const 3.774894707930798e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - f32.const 0.9827936887741089 - local.get $8 - f32.const 3.447321716976148e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - f32.const 1.570796251296997 - local.get $8 - f32.const 7.549789415861596e-08 - f32.sub - local.get $0 - f32.sub - f32.sub - local.set $3 - br $break|0 - end - unreachable - end - local.get $3 - local.get $2 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/atan (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.atan - ) - (func $~lib/math/NativeMathf.atanh (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $0 - f32.abs - local.set $2 - local.get $1 - i32.const 1065353216 - i32.const 1 - i32.const 23 - i32.shl - i32.sub - i32.lt_u - if - local.get $1 - i32.const 1065353216 - i32.const 32 - i32.const 23 - i32.shl - i32.sub - i32.ge_u - if - f32.const 0.5 - f32.const 2 - local.get $2 - f32.mul - f32.const 1 - local.get $2 - f32.const 1 - local.get $2 - f32.sub - f32.div - f32.add - f32.mul - call $~lib/math/NativeMathf.log1p - f32.mul - local.set $2 - end - else - f32.const 0.5 - f32.const 2 - local.get $2 - f32.const 1 - local.get $2 - f32.sub - f32.div - f32.mul - call $~lib/math/NativeMathf.log1p - f32.mul - local.set $2 - end - local.get $2 - local.get $0 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/atanh (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.atanh - ) - (func $~lib/math/NativeMathf.atan2 (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f32) - (local $7 f32) - local.get $1 - local.get $1 - f32.ne - if (result i32) - i32.const 1 - else - local.get $0 - local.get $0 - f32.ne - end - if - local.get $1 - local.get $0 - f32.add - return - end - local.get $1 - i32.reinterpret_f32 - local.set $2 - local.get $0 - i32.reinterpret_f32 - local.set $3 - local.get $2 - i32.const 1065353216 - i32.eq - if - local.get $0 - call $~lib/math/NativeMathf.atan - return - end - local.get $3 - i32.const 31 - i32.shr_u - i32.const 1 - i32.and - local.get $2 - i32.const 30 - i32.shr_u - i32.const 2 - i32.and - i32.or - local.set $4 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 - local.get $3 - i32.const 0 - i32.eq - if - block $break|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $4 - local.set $5 - local.get $5 - i32.const 0 - i32.eq - br_if $case0|0 - local.get $5 - i32.const 1 - i32.eq - br_if $case1|0 - local.get $5 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $5 - i32.const 3 - i32.eq - br_if $case3|0 - br $break|0 - end - end - local.get $0 - return - end - f32.const 3.1415927410125732 - return - end - f32.const 3.1415927410125732 - f32.neg - return - end - end - local.get $2 - i32.const 0 - i32.eq - if - local.get $4 - i32.const 1 - i32.and - if (result f32) - f32.const 3.1415927410125732 - f32.neg - f32.const 2 - f32.div - else - f32.const 3.1415927410125732 - f32.const 2 - f32.div - end - return - end - local.get $2 - i32.const 2139095040 - i32.eq - if - local.get $3 - i32.const 2139095040 - i32.eq - if - local.get $4 - i32.const 2 - i32.and - if (result f32) - f32.const 3 - f32.const 3.1415927410125732 - f32.mul - f32.const 4 - f32.div - else - f32.const 3.1415927410125732 - f32.const 4 - f32.div - end - local.set $6 - local.get $4 - i32.const 1 - i32.and - if (result f32) - local.get $6 - f32.neg - else - local.get $6 - end - return - else - local.get $4 - i32.const 2 - i32.and - if (result f32) - f32.const 3.1415927410125732 - else - f32.const 0 - end - local.set $6 - local.get $4 - i32.const 1 - i32.and - if (result f32) - local.get $6 - f32.neg - else - local.get $6 - end - return - end - unreachable - end - local.get $2 - i32.const 26 - i32.const 23 - i32.shl - i32.add - local.get $3 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $3 - i32.const 2139095040 - i32.eq - end - if - local.get $4 - i32.const 1 - i32.and - if (result f32) - f32.const 3.1415927410125732 - f32.neg - f32.const 2 - f32.div - else - f32.const 3.1415927410125732 - f32.const 2 - f32.div - end - return - end - local.get $4 - i32.const 2 - i32.and - if (result i32) - local.get $3 - i32.const 26 - i32.const 23 - i32.shl - i32.add - local.get $2 - i32.lt_u - else - i32.const 0 - end - if - f32.const 0 - local.set $7 - else - local.get $0 - local.get $1 - f32.div - f32.abs - call $~lib/math/NativeMathf.atan - local.set $7 - end - block $break|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $4 - local.set $5 - local.get $5 - i32.const 0 - i32.eq - br_if $case0|1 - local.get $5 - i32.const 1 - i32.eq - br_if $case1|1 - local.get $5 - i32.const 2 - i32.eq - br_if $case2|1 - local.get $5 - i32.const 3 - i32.eq - br_if $case3|1 - br $break|1 - end - local.get $7 - return - end - local.get $7 - f32.neg - return - end - f32.const 3.1415927410125732 - local.get $7 - f32.const -8.742277657347586e-08 - f32.sub - f32.sub - return - end - local.get $7 - f32.const -8.742277657347586e-08 - f32.sub - f32.const 3.1415927410125732 - f32.sub - return - end - unreachable - ) - (func $../../lib/libm/assembly/libmf/atan2 (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.atan2 - ) - (func $~lib/math/NativeMathf.cbrt (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.add - return - end - local.get $2 - i32.const 8388608 - i32.lt_u - if - local.get $2 - i32.const 0 - i32.eq - if - local.get $0 - return - end - local.get $0 - f32.const 16777216 - f32.mul - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $2 - i32.const 3 - i32.div_u - i32.const 642849266 - i32.add - local.set $2 - else - local.get $2 - i32.const 3 - i32.div_u - i32.const 709958130 - i32.add - local.set $2 - end - local.get $1 - i32.const -2147483648 - i32.and - local.set $1 - local.get $1 - local.get $2 - i32.or - local.set $1 - local.get $1 - f32.reinterpret_i32 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.add - local.get $4 - f64.add - f64.mul - local.get $0 - f64.promote_f32 - local.get $4 - f64.add - local.get $4 - f64.add - f64.div - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.add - local.get $4 - f64.add - f64.mul - local.get $0 - f64.promote_f32 - local.get $4 - f64.add - local.get $4 - f64.add - f64.div - local.set $3 - local.get $3 - f32.demote_f64 - ) - (func $../../lib/libm/assembly/libmf/cbrt (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.cbrt - ) - (func $../../lib/libm/assembly/libmf/ceil (param $0 f32) (result f32) - (local $1 f32) - local.get $0 - local.set $1 - local.get $1 - f32.ceil - ) - (func $~lib/math/NativeMathf.clz32 (param $0 f32) (result f32) - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.eq - i32.eqz - if - f32.const 32 - return - end - local.get $0 - f64.promote_f32 - call $~lib/math/dtoi32 - i32.clz - f32.convert_i32_s - ) - (func $../../lib/libm/assembly/libmf/clz32 (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.clz32 - ) - (func $~lib/math/NativeMathf.cos (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 i32) - (local $10 f32) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 i64) - (local $15 i32) - (local $16 i64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 f64) - (local $26 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 31 - i32.shr_u - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1061752794 - i32.le_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - f32.const 1 - return - end - local.get $0 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - 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.gt_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $6 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $4 - f32.const 1 - f64.promote_f32 - local.get $6 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $6 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - f32.neg - return - else - local.get $2 - if (result f32) - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - else - f64.const 1.5707963267948966 - local.get $0 - f64.promote_f32 - f64.sub - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $7 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $7 - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $4 - f64.const -0.16666666641626524 - local.get $7 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $6 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - return - end - unreachable - end - local.get $1 - i32.const 1088565717 - i32.le_u - if - local.get $1 - i32.const 1085271519 - i32.gt_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - else - local.get $2 - if (result f32) - local.get $0 - f32.neg - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $6 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $4 - local.get $6 - local.get $7 - f64.mul - local.set $3 - local.get $7 - local.get $3 - f64.const -0.16666666641626524 - local.get $6 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $5 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - else - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - f64.const -1.9839334836096632e-04 - local.get $3 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $3 - local.get $7 - f64.mul - local.set $6 - local.get $7 - local.get $6 - f64.const -0.16666666641626524 - local.get $3 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $6 - local.get $4 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - return - end - unreachable - end - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.0 (result i32) - local.get $0 - local.set $10 - local.get $1 - local.set $9 - local.get $2 - local.set $8 - local.get $9 - i32.const 1305022427 - i32.lt_u - if - local.get $10 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $6 - local.get $10 - f64.promote_f32 - local.get $6 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $6 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $6 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.0 - end - local.get $10 - local.set $12 - local.get $9 - local.set $11 - local.get $11 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $13 - local.get $13 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $14 - i32.const 12744 - local.get $13 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $15 - local.get $15 - i64.load - local.set $16 - local.get $15 - i64.load offset=8 - local.set $17 - local.get $14 - i64.const 32 - i64.gt_u - if - local.get $15 - i64.load offset=16 - local.set $19 - local.get $19 - i64.const 96 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - local.get $18 - local.get $17 - local.get $14 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $18 - else - local.get $17 - i64.const 32 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - end - local.get $17 - i64.const 64 - local.get $14 - i64.sub - i64.shr_u - local.get $16 - local.get $14 - i64.shl - i64.or - local.set $19 - local.get $11 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $20 - local.get $20 - local.get $19 - i64.mul - local.get $20 - local.get $18 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $21 - local.get $21 - i64.const 2 - i64.shl - local.set $22 - local.get $21 - i64.const 62 - i64.shr_u - local.get $22 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $23 - f64.const 8.515303950216386e-20 - local.get $12 - f64.promote_f32 - f64.copysign - local.get $22 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $23 - local.set $23 - i32.const 0 - local.get $23 - i32.sub - local.get $23 - local.get $8 - select - end - local.set $24 - global.get $~lib/math/rempio2f_y - local.set $25 - local.get $24 - i32.const 1 - i32.and - if (result f32) - local.get $25 - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $6 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $4 - local.get $6 - local.get $7 - f64.mul - local.set $3 - local.get $7 - local.get $3 - f64.const -0.16666666641626524 - local.get $6 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $5 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - else - local.get $25 - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - f64.const -0.001388676377460993 - local.get $3 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $3 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $4 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $4 - local.get $3 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - local.set $26 - local.get $24 - i32.const 1 - i32.add - i32.const 2 - i32.and - if (result f32) - local.get $26 - f32.neg - else - local.get $26 - end - ) - (func $../../lib/libm/assembly/libmf/cos (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.cos - ) - (func $~lib/math/NativeMathf.expm1 (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f32) - (local $6 i32) - (local $7 f32) - (local $8 f32) - (local $9 f32) - (local $10 f32) - (local $11 f32) - (local $12 f32) - (local $13 f32) - (local $14 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $2 - local.get $1 - i32.const 31 - i32.shr_u - local.set $3 - local.get $2 - i32.const 1100331076 - i32.ge_u - if - local.get $2 - i32.const 2139095040 - i32.gt_u - if - local.get $0 - return - end - local.get $3 - if - f32.const -1 - return - end - local.get $0 - f32.const 88.7216796875 - f32.gt - if - local.get $0 - f32.const 1701411834604692317316873e14 - f32.mul - local.set $0 - local.get $0 - return - end - end - f32.const 0 - local.set $4 - local.get $2 - i32.const 1051816472 - i32.gt_u - if - i32.const 1 - local.get $3 - i32.const 1 - i32.shl - i32.sub - f32.const 1.4426950216293335 - local.get $0 - f32.mul - f32.const 0.5 - local.get $0 - f32.copysign - f32.add - i32.trunc_f32_s - local.get $2 - i32.const 1065686418 - i32.lt_u - select - local.set $6 - local.get $6 - f32.convert_i32_s - local.set $5 - local.get $0 - local.get $5 - f32.const 0.6931381225585938 - f32.mul - f32.sub - local.set $7 - local.get $5 - f32.const 9.05800061445916e-06 - f32.mul - local.set $8 - local.get $7 - local.get $8 - f32.sub - local.set $0 - local.get $7 - local.get $0 - f32.sub - local.get $8 - f32.sub - local.set $4 - else - local.get $2 - i32.const 855638016 - i32.lt_u - if - local.get $0 - return - else - i32.const 0 - local.set $6 - end - end - f32.const 0.5 - local.get $0 - f32.mul - local.set $9 - local.get $0 - local.get $9 - f32.mul - local.set $10 - f32.const 1 - local.get $10 - f32.const -0.03333321213722229 - local.get $10 - f32.const 1.5807170420885086e-03 - f32.mul - f32.add - f32.mul - f32.add - local.set $11 - f32.const 3 - local.get $11 - local.get $9 - f32.mul - f32.sub - local.set $5 - local.get $10 - local.get $11 - local.get $5 - f32.sub - f32.const 6 - local.get $0 - local.get $5 - f32.mul - f32.sub - f32.div - f32.mul - local.set $12 - local.get $6 - i32.const 0 - i32.eq - if - local.get $0 - local.get $0 - local.get $12 - f32.mul - local.get $10 - f32.sub - f32.sub - return - end - local.get $0 - local.get $12 - local.get $4 - f32.sub - f32.mul - local.get $4 - f32.sub - local.set $12 - local.get $12 - local.get $10 - f32.sub - local.set $12 - local.get $6 - i32.const -1 - i32.eq - if - f32.const 0.5 - local.get $0 - local.get $12 - f32.sub - f32.mul - f32.const 0.5 - f32.sub - return - end - local.get $6 - i32.const 1 - i32.eq - if - local.get $0 - f32.const -0.25 - f32.lt - if - f32.const -2 - local.get $12 - local.get $0 - f32.const 0.5 - f32.add - f32.sub - f32.mul - return - end - f32.const 1 - f32.const 2 - local.get $0 - local.get $12 - f32.sub - f32.mul - f32.add - return - end - i32.const 127 - local.get $6 - i32.add - i32.const 23 - i32.shl - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $13 - local.get $6 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $6 - i32.const 56 - i32.gt_s - end - if - local.get $0 - local.get $12 - f32.sub - f32.const 1 - f32.add - local.set $14 - local.get $6 - i32.const 128 - i32.eq - if - local.get $14 - f32.const 2 - f32.mul - f32.const 1701411834604692317316873e14 - f32.mul - local.set $14 - else - local.get $14 - local.get $13 - f32.mul - local.set $14 - end - local.get $14 - f32.const 1 - f32.sub - return - end - i32.const 127 - local.get $6 - i32.sub - i32.const 23 - i32.shl - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $14 - local.get $6 - i32.const 20 - i32.lt_s - if - f32.const 1 - local.get $14 - f32.sub - local.get $12 - f32.sub - local.set $14 - else - f32.const 1 - local.get $12 - local.get $14 - f32.add - f32.sub - local.set $14 - end - local.get $0 - local.get $14 - f32.add - local.get $13 - f32.mul - ) - (func $~lib/math/NativeMathf.exp (param $0 f32) (result f32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 i64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 i64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/expf_lut|inlined.0 (result f32) - local.get $0 - local.set $1 - local.get $1 - f64.promote_f32 - local.set $2 - local.get $1 - i32.reinterpret_f32 - local.set $3 - local.get $3 - i32.const 20 - i32.shr_u - i32.const 2047 - i32.and - local.set $4 - local.get $4 - i32.const 1067 - i32.ge_u - if - local.get $3 - i32.const -8388608 - i32.eq - if - f32.const 0 - br $~lib/util/math/expf_lut|inlined.0 - end - local.get $4 - i32.const 2040 - i32.ge_u - if - local.get $1 - local.get $1 - f32.add - br $~lib/util/math/expf_lut|inlined.0 - end - local.get $1 - i32.const 1118925335 - f32.reinterpret_i32 - f32.gt - if - local.get $1 - f32.const 1701411834604692317316873e14 - f32.mul - br $~lib/util/math/expf_lut|inlined.0 - end - local.get $1 - i32.const -1026559564 - f32.reinterpret_i32 - f32.lt - if - f32.const 0 - br $~lib/util/math/expf_lut|inlined.0 - end - end - f64.const 46.16624130844683 - local.get $2 - f64.mul - local.set $5 - local.get $5 - f64.const 6755399441055744 - f64.add - local.set $6 - local.get $6 - i64.reinterpret_f64 - local.set $7 - local.get $5 - local.get $6 - f64.const 6755399441055744 - f64.sub - f64.sub - local.set $8 - i32.const 12776 - local.get $7 - i32.wrap_i64 - i32.const 31 - i32.and - i32.const 3 - i32.shl - i32.add - i64.load - local.set $11 - local.get $11 - local.get $7 - i64.const 52 - i64.const 5 - i64.sub - i64.shl - i64.add - local.set $11 - local.get $11 - f64.reinterpret_i64 - local.set $9 - f64.const 1.6938359250920212e-06 - local.get $8 - f64.mul - f64.const 2.3459809789509004e-04 - f64.add - local.set $5 - f64.const 0.021660849396613134 - local.get $8 - f64.mul - f64.const 1 - f64.add - local.set $10 - local.get $10 - local.get $5 - local.get $8 - local.get $8 - f64.mul - f64.mul - f64.add - local.set $10 - local.get $10 - local.get $9 - f64.mul - local.set $10 - local.get $10 - f32.demote_f64 - end - return - ) - (func $~lib/math/NativeMathf.cosh (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $0 - local.get $1 - i32.const 1060205079 - i32.lt_u - if - local.get $1 - i32.const 1065353216 - i32.const 12 - i32.const 23 - i32.shl - i32.sub - i32.lt_u - if - f32.const 1 - return - end - local.get $0 - call $~lib/math/NativeMathf.expm1 - local.set $2 - f32.const 1 - local.get $2 - local.get $2 - f32.mul - f32.const 2 - f32.const 2 - local.get $2 - f32.mul - f32.add - f32.div - f32.add - return - end - local.get $1 - i32.const 1118925335 - i32.lt_u - if - local.get $0 - call $~lib/math/NativeMathf.exp - local.set $2 - f32.const 0.5 - local.get $2 - f32.mul - f32.const 0.5 - local.get $2 - f32.div - f32.add - return - end - local.get $0 - local.set $2 - i32.const 127 - i32.const 235 - i32.const 1 - i32.shr_u - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.set $3 - local.get $2 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - local.get $3 - f32.mul - local.get $3 - f32.mul - ) - (func $../../lib/libm/assembly/libmf/cosh (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.cosh - ) - (func $../../lib/libm/assembly/libmf/exp (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.exp - ) - (func $../../lib/libm/assembly/libmf/expm1 (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.expm1 - ) - (func $../../lib/libm/assembly/libmf/floor (param $0 f32) (result f32) - (local $1 f32) - local.get $0 - local.set $1 - local.get $1 - f32.floor - ) - (func $../../lib/libm/assembly/libmf/fround (param $0 f32) (result f32) - (local $1 f32) - local.get $0 - local.set $1 - local.get $1 - ) - (func $~lib/math/NativeMathf.hypot (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - local.get $0 - i32.reinterpret_f32 - local.set $2 - local.get $1 - i32.reinterpret_f32 - local.set $3 - local.get $2 - i32.const 2147483647 - i32.and - local.set $2 - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 - local.get $2 - local.get $3 - i32.lt_u - if - local.get $2 - local.set $4 - local.get $3 - local.set $2 - local.get $4 - local.set $3 - end - local.get $2 - f32.reinterpret_i32 - local.set $0 - local.get $3 - f32.reinterpret_i32 - local.set $1 - local.get $3 - i32.const 255 - i32.const 23 - i32.shl - i32.eq - if - local.get $1 - return - end - local.get $2 - i32.const 255 - i32.const 23 - i32.shl - i32.ge_u - if (result i32) - i32.const 1 - else - local.get $3 - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $2 - local.get $3 - i32.sub - i32.const 25 - i32.const 23 - i32.shl - i32.ge_u - end - if - local.get $0 - local.get $1 - f32.add - return - end - f32.const 1 - local.set $5 - local.get $2 - i32.const 127 - i32.const 60 - i32.add - i32.const 23 - i32.shl - i32.ge_u - if - f32.const 1237940039285380274899124e3 - local.set $5 - local.get $0 - f32.const 8.077935669463161e-28 - f32.mul - local.set $0 - local.get $1 - f32.const 8.077935669463161e-28 - f32.mul - local.set $1 - else - local.get $3 - i32.const 127 - i32.const 60 - i32.sub - i32.const 23 - i32.shl - i32.lt_u - if - f32.const 8.077935669463161e-28 - local.set $5 - local.get $0 - f32.const 1237940039285380274899124e3 - f32.mul - local.set $0 - local.get $1 - f32.const 1237940039285380274899124e3 - f32.mul - local.set $1 - end - end - local.get $5 - local.get $0 - f64.promote_f32 - local.get $0 - f64.promote_f32 - f64.mul - local.get $1 - f64.promote_f32 - local.get $1 - f64.promote_f32 - f64.mul - f64.add - f32.demote_f64 - f32.sqrt - f32.mul - ) - (func $../../lib/libm/assembly/libmf/hypot (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.hypot - ) - (func $../../lib/libm/assembly/libmf/imul (param $0 f32) (param $1 f32) (result f32) - (local $2 f32) - (local $3 f32) - (local $4 f32) - block $~lib/math/NativeMathf.imul|inlined.0 (result f32) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - local.get $3 - local.get $2 - f32.add - local.tee $4 - local.get $4 - f32.sub - f32.const 0 - f32.eq - i32.eqz - if - f32.const 0 - br $~lib/math/NativeMathf.imul|inlined.0 - end - local.get $3 - f64.promote_f32 - call $~lib/math/dtoi32 - local.get $2 - f64.promote_f32 - call $~lib/math/dtoi32 - i32.mul - f32.convert_i32_s - end - ) - (func $../../lib/libm/assembly/libmf/log (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log - ) - (func $~lib/math/NativeMathf.log10 (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 f32) - (local $5 f32) - (local $6 f32) - (local $7 f32) - (local $8 f32) - (local $9 f32) - (local $10 f32) - (local $11 f32) - (local $12 f32) - (local $13 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - i32.const 0 - local.set $2 - local.get $1 - i32.const 8388608 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 31 - i32.shr_u - end - if - local.get $1 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if - f32.const -1 - local.get $0 - local.get $0 - f32.mul - f32.div - return - end - local.get $1 - i32.const 31 - i32.shr_u - if - local.get $0 - local.get $0 - f32.sub - f32.const 0 - f32.div - return - end - local.get $2 - i32.const 25 - i32.sub - local.set $2 - local.get $0 - f32.const 33554432 - f32.mul - local.set $0 - local.get $0 - i32.reinterpret_f32 - local.set $1 - else - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - return - else - local.get $1 - i32.const 1065353216 - i32.eq - if - f32.const 0 - return - end - end - end - local.get $1 - i32.const 1065353216 - i32.const 1060439283 - i32.sub - i32.add - local.set $1 - local.get $2 - local.get $1 - i32.const 23 - i32.shr_u - i32.const 127 - i32.sub - i32.add - local.set $2 - local.get $1 - i32.const 8388607 - i32.and - i32.const 1060439283 - i32.add - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $0 - local.get $0 - f32.const 1 - f32.sub - local.set $3 - local.get $3 - f32.const 2 - local.get $3 - f32.add - f32.div - local.set $4 - local.get $4 - local.get $4 - f32.mul - local.set $5 - local.get $5 - local.get $5 - f32.mul - local.set $6 - local.get $6 - f32.const 0.40000972151756287 - local.get $6 - f32.const 0.24279078841209412 - f32.mul - f32.add - f32.mul - local.set $7 - local.get $5 - f32.const 0.6666666269302368 - local.get $6 - f32.const 0.2849878668785095 - f32.mul - f32.add - f32.mul - local.set $8 - local.get $8 - local.get $7 - f32.add - local.set $9 - f32.const 0.5 - local.get $3 - f32.mul - local.get $3 - f32.mul - local.set $10 - local.get $3 - local.get $10 - f32.sub - local.set $11 - local.get $11 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const -4096 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $11 - local.get $3 - local.get $11 - f32.sub - local.get $10 - f32.sub - local.get $4 - local.get $10 - local.get $9 - f32.add - f32.mul - f32.add - local.set $12 - local.get $2 - f32.convert_i32_s - local.set $13 - local.get $13 - f32.const 7.903415166765626e-07 - f32.mul - local.get $12 - local.get $11 - f32.add - f32.const -3.168997136526741e-05 - f32.mul - f32.add - local.get $12 - f32.const 0.434326171875 - f32.mul - f32.add - local.get $11 - f32.const 0.434326171875 - f32.mul - f32.add - local.get $13 - f32.const 0.3010292053222656 - f32.mul - f32.add - ) - (func $../../lib/libm/assembly/libmf/log10 (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log10 - ) - (func $../../lib/libm/assembly/libmf/log1p (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log1p - ) - (func $~lib/math/NativeMathf.log2 (param $0 f32) (result f32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 f64) - (local $12 f64) - (local $13 f64) - (local $14 f64) - (local $15 f64) - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/log2f_lut|inlined.0 (result f32) - local.get $0 - local.set $1 - local.get $1 - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 8388608 - i32.sub - i32.const 2139095040 - i32.const 8388608 - i32.sub - i32.ge_u - if - local.get $2 - i32.const 2 - i32.mul - i32.const 0 - i32.eq - if - f32.const inf - f32.neg - br $~lib/util/math/log2f_lut|inlined.0 - end - local.get $2 - i32.const 2139095040 - i32.eq - if - local.get $1 - br $~lib/util/math/log2f_lut|inlined.0 - end - local.get $2 - i32.const 31 - i32.shr_u - if (result i32) - i32.const 1 - else - local.get $2 - i32.const 2 - i32.mul - i32.const -16777216 - i32.ge_u - end - if - local.get $1 - local.get $1 - f32.sub - local.get $1 - local.get $1 - f32.sub - f32.div - br $~lib/util/math/log2f_lut|inlined.0 - end - local.get $1 - f32.const 8388608 - f32.mul - i32.reinterpret_f32 - local.set $2 - local.get $2 - i32.const 23 - i32.const 23 - i32.shl - i32.sub - local.set $2 - end - local.get $2 - i32.const 1060306944 - i32.sub - local.set $3 - local.get $3 - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $4 - local.get $3 - i32.const -8388608 - i32.and - local.set $5 - local.get $2 - local.get $5 - i32.sub - local.set $6 - local.get $3 - i32.const 23 - i32.shr_s - local.set $7 - i32.const 13032 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $8 - i32.const 13032 - local.get $4 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $9 - local.get $6 - f32.reinterpret_i32 - f64.promote_f32 - local.set $10 - local.get $10 - local.get $8 - f64.mul - f64.const 1 - f64.sub - local.set $11 - local.get $9 - local.get $7 - f64.convert_i32_s - f64.add - local.set $12 - f64.const 0.4811247078767291 - local.get $11 - f64.mul - f64.const -0.7213476299867769 - f64.add - local.set $13 - f64.const 1.4426950186867042 - local.get $11 - f64.mul - local.get $12 - f64.add - local.set $14 - local.get $11 - local.get $11 - f64.mul - local.set $15 - local.get $13 - f64.const -0.36051725506874704 - local.get $15 - f64.mul - f64.add - local.set $13 - local.get $13 - local.get $15 - f64.mul - local.get $14 - f64.add - local.set $13 - local.get $13 - f32.demote_f64 - end - return - ) - (func $../../lib/libm/assembly/libmf/log2 (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.log2 - ) - (func $../../lib/libm/assembly/libmf/max (param $0 f32) (param $1 f32) (result f32) - (local $2 f32) - (local $3 f32) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - local.get $3 - local.get $2 - f32.max - ) - (func $../../lib/libm/assembly/libmf/min (param $0 f32) (param $1 f32) (result f32) - (local $2 f32) - (local $3 f32) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - local.get $3 - local.get $2 - f32.min - ) - (func $~lib/math/NativeMathf.pow (param $0 f32) (param $1 f32) (result f32) - (local $2 f32) - (local $3 f32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 f64) - (local $16 f64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f64) - (local $21 f64) - (local $22 f64) - (local $23 i64) - (local $24 i64) - local.get $1 - f32.abs - f32.const 2 - f32.le - if - local.get $1 - f32.const 2 - f32.eq - if - local.get $0 - local.get $0 - f32.mul - return - end - local.get $1 - f32.const 0.5 - f32.eq - if - local.get $0 - f32.sqrt - f32.abs - f32.const inf - local.get $0 - f32.const inf - f32.neg - f32.ne - select - return - end - local.get $1 - f32.const -1 - f32.eq - if - f32.const 1 - local.get $0 - f32.div - return - end - local.get $1 - f32.const 1 - f32.eq - if - local.get $0 - return - end - local.get $1 - f32.const 0 - f32.eq - if - f32.const 1 - return - end - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $~lib/util/math/powf_lut|inlined.0 (result f32) - local.get $0 - local.set $3 - local.get $1 - local.set $2 - i32.const 0 - local.set $4 - local.get $3 - i32.reinterpret_f32 - local.set $5 - local.get $2 - i32.reinterpret_f32 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - i32.const 8388608 - i32.sub - i32.const 2139095040 - i32.const 8388608 - i32.sub - i32.ge_u - local.get $6 - local.set $8 - local.get $8 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const 2139095040 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.ge_u - i32.const 0 - i32.ne - local.tee $7 - i32.or - if - local.get $7 - if - local.get $6 - i32.const 1 - i32.shl - i32.const 0 - i32.eq - if - f32.const 1 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1065353216 - i32.eq - if - f32.const nan:0x400000 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1 - i32.shl - i32.const 2139095040 - i32.const 1 - i32.shl - i32.gt_u - if (result i32) - i32.const 1 - else - local.get $6 - i32.const 1 - i32.shl - i32.const 2139095040 - i32.const 1 - i32.shl - i32.gt_u - end - if - local.get $3 - local.get $2 - f32.add - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1 - i32.shl - i32.const 1065353216 - i32.const 1 - i32.shl - i32.eq - if - f32.const nan:0x400000 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 1 - i32.shl - i32.const 1065353216 - i32.const 1 - i32.shl - i32.lt_u - local.get $6 - i32.const 31 - i32.shr_u - i32.eqz - i32.eq - if - f32.const 0 - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $2 - local.get $2 - f32.mul - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - local.set $8 - local.get $8 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.const 2139095040 - i32.const 1 - i32.shl - i32.const 1 - i32.sub - i32.ge_u - if - local.get $3 - local.get $3 - f32.mul - local.set $9 - local.get $5 - i32.const 31 - i32.shr_u - if (result i32) - block $~lib/util/math/checkintf|inlined.0 (result i32) - local.get $6 - local.set $8 - local.get $8 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $10 - local.get $10 - i32.const 127 - i32.lt_u - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.0 - end - local.get $10 - i32.const 127 - i32.const 23 - i32.add - i32.gt_u - if - i32.const 2 - br $~lib/util/math/checkintf|inlined.0 - end - i32.const 1 - i32.const 127 - i32.const 23 - i32.add - local.get $10 - i32.sub - i32.shl - local.set $10 - local.get $8 - local.get $10 - i32.const 1 - i32.sub - i32.and - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.0 - end - local.get $8 - local.get $10 - i32.and - if - i32.const 1 - br $~lib/util/math/checkintf|inlined.0 - end - i32.const 2 - end - i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $9 - f32.neg - local.set $9 - end - local.get $6 - i32.const 31 - i32.shr_u - if (result f32) - f32.const 1 - local.get $9 - f32.div - else - local.get $9 - end - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $5 - i32.const 31 - i32.shr_u - if - block $~lib/util/math/checkintf|inlined.1 (result i32) - local.get $6 - local.set $8 - local.get $8 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $10 - local.get $10 - i32.const 127 - i32.lt_u - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.1 - end - local.get $10 - i32.const 127 - i32.const 23 - i32.add - i32.gt_u - if - i32.const 2 - br $~lib/util/math/checkintf|inlined.1 - end - i32.const 1 - i32.const 127 - i32.const 23 - i32.add - local.get $10 - i32.sub - i32.shl - local.set $10 - local.get $8 - local.get $10 - i32.const 1 - i32.sub - i32.and - if - i32.const 0 - br $~lib/util/math/checkintf|inlined.1 - end - local.get $8 - local.get $10 - i32.and - if - i32.const 1 - br $~lib/util/math/checkintf|inlined.1 - end - i32.const 2 - end - local.set $10 - local.get $10 - i32.const 0 - i32.eq - if - local.get $3 - local.get $3 - f32.sub - local.get $3 - local.get $3 - f32.sub - f32.div - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $10 - i32.const 1 - i32.eq - if - i32.const 65536 - local.set $4 - end - local.get $5 - i32.const 2147483647 - i32.and - local.set $5 - end - local.get $5 - i32.const 8388608 - i32.lt_u - if - local.get $3 - f32.const 8388608 - f32.mul - i32.reinterpret_f32 - local.set $5 - local.get $5 - i32.const 2147483647 - i32.and - local.set $5 - local.get $5 - i32.const 23 - i32.const 23 - i32.shl - i32.sub - local.set $5 - end - end - local.get $5 - local.set $8 - local.get $8 - i32.const 1060306944 - i32.sub - local.set $10 - local.get $10 - i32.const 23 - i32.const 4 - i32.sub - i32.shr_u - i32.const 15 - i32.and - local.set $11 - local.get $10 - i32.const -8388608 - i32.and - local.set $12 - local.get $8 - local.get $12 - i32.sub - local.set $13 - local.get $12 - i32.const 23 - i32.shr_s - local.set $14 - i32.const 13032 - local.get $11 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load - local.set $15 - i32.const 13032 - local.get $11 - i32.const 1 - i32.const 3 - i32.add - i32.shl - i32.add - f64.load offset=8 - local.set $16 - local.get $13 - f32.reinterpret_i32 - f64.promote_f32 - local.set $17 - local.get $17 - local.get $15 - f64.mul - f64.const 1 - f64.sub - local.set $18 - local.get $16 - local.get $14 - f64.convert_i32_s - f64.add - local.set $19 - f64.const 0.288457581109214 - local.get $18 - f64.mul - f64.const -0.36092606229713164 - f64.add - local.set $20 - f64.const 0.480898481472577 - local.get $18 - f64.mul - f64.const -0.7213474675006291 - f64.add - local.set $21 - f64.const 1.4426950408774342 - local.get $18 - f64.mul - local.get $19 - f64.add - local.set $22 - local.get $18 - local.get $18 - f64.mul - local.set $18 - local.get $22 - local.get $21 - local.get $18 - f64.mul - f64.add - local.set $22 - local.get $20 - local.get $18 - local.get $18 - f64.mul - f64.mul - local.get $22 - f64.add - local.set $20 - local.get $20 - local.set $22 - local.get $2 - f64.promote_f32 - local.get $22 - f64.mul - local.set $21 - local.get $21 - i64.reinterpret_f64 - i64.const 47 - i64.shr_u - i64.const 65535 - i64.and - i64.const 32959 - i64.ge_u - if - local.get $21 - f64.const 127.99999995700433 - f64.gt - if - local.get $4 - local.set $8 - local.get $8 - local.set $10 - i32.const 1879048192 - f32.reinterpret_i32 - local.set $9 - local.get $9 - f32.neg - local.get $9 - local.get $10 - select - local.get $9 - f32.mul - br $~lib/util/math/powf_lut|inlined.0 - end - local.get $21 - f64.const -150 - f64.le - if - local.get $4 - local.set $11 - local.get $11 - local.set $12 - i32.const 268435456 - f32.reinterpret_i32 - local.set $9 - local.get $9 - f32.neg - local.get $9 - local.get $12 - select - local.get $9 - f32.mul - br $~lib/util/math/powf_lut|inlined.0 - end - end - local.get $21 - local.set $15 - local.get $4 - local.set $13 - local.get $15 - f64.const 211106232532992 - f64.add - local.set $20 - local.get $20 - i64.reinterpret_f64 - local.set $23 - local.get $15 - local.get $20 - f64.const 211106232532992 - f64.sub - f64.sub - local.set $19 - i32.const 12776 - local.get $23 - i32.wrap_i64 - i32.const 31 - i32.and - i32.const 3 - i32.shl - i32.add - i64.load - local.set $24 - local.get $24 - local.get $23 - local.get $13 - i64.extend_i32_u - i64.add - i64.const 52 - i64.const 5 - i64.sub - i64.shl - i64.add - local.set $24 - local.get $24 - f64.reinterpret_i64 - local.set $16 - f64.const 0.05550361559341535 - local.get $19 - f64.mul - f64.const 0.2402284522445722 - f64.add - local.set $18 - f64.const 0.6931471806916203 - local.get $19 - f64.mul - f64.const 1 - f64.add - local.set $17 - local.get $17 - local.get $18 - local.get $19 - local.get $19 - f64.mul - f64.mul - f64.add - local.set $17 - local.get $17 - local.get $16 - f64.mul - local.set $17 - local.get $17 - f32.demote_f64 - end - return - ) - (func $../../lib/libm/assembly/libmf/pow (param $0 f32) (param $1 f32) (result f32) - local.get $0 - local.get $1 - call $~lib/math/NativeMathf.pow - ) - (func $../../lib/libm/assembly/libmf/round (param $0 f32) (result f32) - (local $1 f32) - local.get $0 - local.set $1 - local.get $1 - f32.const 0.5 - f32.add - f32.floor - local.get $1 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/sign (param $0 f32) (result f32) - (local $1 f32) - block $~lib/math/NativeMathf.sign|inlined.0 (result f32) - local.get $0 - local.set $1 - i32.const 0 - i32.const 0 - i32.gt_s - drop - local.get $1 - f32.const 0 - f32.gt - if (result f32) - f32.const 1 - else - local.get $1 - f32.const 0 - f32.lt - if (result f32) - f32.const -1 - else - local.get $1 - end - end - br $~lib/math/NativeMathf.sign|inlined.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 - local.get $0 - return - end - local.get $0 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - 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 - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.1 (result i32) - local.get $0 - local.set $10 - local.get $1 - local.set $9 - local.get $2 - local.set $8 - local.get $9 - i32.const 1305022427 - i32.lt_u - if - local.get $10 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $7 - local.get $10 - f64.promote_f32 - local.get $7 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $7 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $7 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.1 - end - local.get $10 - local.set $12 - local.get $9 - local.set $11 - local.get $11 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $13 - local.get $13 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $14 - i32.const 12744 - local.get $13 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $15 - local.get $15 - i64.load - local.set $16 - local.get $15 - i64.load offset=8 - local.set $17 - local.get $14 - i64.const 32 - i64.gt_u - if - local.get $15 - i64.load offset=16 - local.set $19 - local.get $19 - i64.const 96 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - local.get $18 - local.get $17 - local.get $14 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $18 - else - local.get $17 - i64.const 32 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - end - local.get $17 - i64.const 64 - local.get $14 - i64.sub - i64.shr_u - local.get $16 - local.get $14 - i64.shl - i64.or - local.set $19 - local.get $11 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $20 - local.get $20 - local.get $19 - i64.mul - local.get $20 - local.get $18 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $21 - local.get $21 - i64.const 2 - i64.shl - local.set $22 - local.get $21 - i64.const 62 - i64.shr_u - local.get $22 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $23 - f64.const 8.515303950216386e-20 - local.get $12 - f64.promote_f32 - f64.copysign - local.get $22 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $23 - local.set $23 - i32.const 0 - local.get $23 - i32.sub - local.get $23 - local.get $8 - select - end - local.set $24 - global.get $~lib/math/rempio2f_y - local.set $25 - local.get $24 - i32.const 1 - i32.and - if (result f32) - local.get $25 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -0.001388676377460993 - local.get $7 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $7 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $6 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - else - local.get $25 - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $5 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $4 - f64.mul - local.set $3 - local.get $4 - local.get $3 - f64.const -0.16666666641626524 - local.get $5 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $6 - f64.mul - local.get $7 - f64.mul - f64.add - f32.demote_f64 - end - local.set $26 - local.get $24 - i32.const 2 - i32.and - if (result f32) - local.get $26 - f32.neg - else - local.get $26 - end - ) - (func $../../lib/libm/assembly/libmf/sin (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.sin - ) - (func $~lib/math/NativeMathf.sinh (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - (local $4 f32) - (local $5 f32) - (local $6 f32) - local.get $0 - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $2 - f32.const 0.5 - local.get $0 - f32.copysign - local.set $4 - local.get $1 - i32.const 1118925335 - i32.lt_u - if - local.get $2 - call $~lib/math/NativeMathf.expm1 - local.set $3 - local.get $1 - i32.const 1065353216 - i32.lt_u - if - local.get $1 - i32.const 1065353216 - i32.const 12 - i32.const 23 - i32.shl - i32.sub - i32.lt_u - if - local.get $0 - return - end - local.get $4 - f32.const 2 - local.get $3 - f32.mul - local.get $3 - local.get $3 - f32.mul - local.get $3 - f32.const 1 - f32.add - f32.div - f32.sub - f32.mul - return - end - local.get $4 - local.get $3 - local.get $3 - local.get $3 - f32.const 1 - f32.add - f32.div - f32.add - f32.mul - return - end - f32.const 2 - local.get $4 - f32.mul - local.get $2 - local.set $5 - i32.const 127 - i32.const 235 - i32.const 1 - i32.shr_u - i32.add - i32.const 23 - i32.shl - f32.reinterpret_i32 - local.set $6 - local.get $5 - f32.const 162.88958740234375 - f32.sub - call $~lib/math/NativeMathf.exp - local.get $6 - f32.mul - local.get $6 - f32.mul - f32.mul - local.set $3 - local.get $3 - ) - (func $../../lib/libm/assembly/libmf/sinh (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.sinh - ) - (func $../../lib/libm/assembly/libmf/sqrt (param $0 f32) (result f32) - (local $1 f32) - local.get $0 - local.set $1 - local.get $1 - f32.sqrt - ) - (func $~lib/math/NativeMathf.tan (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 f64) - (local $9 f64) - (local $10 f64) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 f32) - (local $15 i32) - (local $16 i64) - (local $17 i32) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i32) - (local $26 i32) - (local $27 f64) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 31 - i32.shr_u - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1061752794 - i32.le_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $0 - f64.promote_f32 - local.set $4 - i32.const 0 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.002974357433599673 - local.get $5 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $6 - f64.const 0.05338123784456704 - local.get $5 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $5 - f64.mul - local.set $8 - local.get $5 - local.get $4 - f64.mul - local.set $9 - f64.const 0.3333313950307914 - local.get $5 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $10 - local.get $4 - local.get $9 - local.get $10 - f64.mul - f64.add - local.get $9 - local.get $8 - f64.mul - local.get $7 - local.get $8 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $6 - f64.div - else - local.get $6 - end - f32.demote_f64 - return - end - 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 f64) - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.sub - end - local.set $4 - i32.const 1 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $10 - f64.const 0.002974357433599673 - local.get $10 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $9 - f64.const 0.05338123784456704 - local.get $10 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $8 - local.get $10 - local.get $10 - f64.mul - local.set $7 - local.get $10 - local.get $4 - f64.mul - local.set $6 - f64.const 0.3333313950307914 - local.get $10 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $5 - local.get $4 - local.get $6 - local.get $5 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $8 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $9 - f64.div - else - local.get $9 - end - f32.demote_f64 - return - else - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - local.set $4 - i32.const 0 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.002974357433599673 - local.get $5 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $6 - f64.const 0.05338123784456704 - local.get $5 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $5 - f64.mul - local.set $8 - local.get $5 - local.get $4 - f64.mul - local.set $9 - f64.const 0.3333313950307914 - local.get $5 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $10 - local.get $4 - local.get $9 - local.get $10 - f64.mul - f64.add - local.get $9 - local.get $8 - f64.mul - local.get $7 - local.get $8 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $6 - f64.div - else - local.get $6 - end - f32.demote_f64 - return - end - unreachable - end - local.get $1 - i32.const 1088565717 - i32.le_u - if - local.get $1 - i32.const 1085271519 - i32.le_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - end - local.set $4 - i32.const 1 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $10 - f64.const 0.002974357433599673 - local.get $10 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $9 - f64.const 0.05338123784456704 - local.get $10 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $8 - local.get $10 - local.get $10 - f64.mul - local.set $7 - local.get $10 - local.get $4 - f64.mul - local.set $6 - f64.const 0.3333313950307914 - local.get $10 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $5 - local.get $4 - local.get $6 - local.get $5 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $8 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $9 - f64.div - else - local.get $9 - end - f32.demote_f64 - return - else - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $4 - i32.const 0 - local.set $3 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const 0.002974357433599673 - local.get $5 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $6 - f64.const 0.05338123784456704 - local.get $5 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $5 - f64.mul - local.set $8 - local.get $5 - local.get $4 - f64.mul - local.set $9 - f64.const 0.3333313950307914 - local.get $5 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $10 - local.get $4 - local.get $9 - local.get $10 - f64.mul - f64.add - local.get $9 - local.get $8 - f64.mul - local.get $7 - local.get $8 - local.get $6 - f64.mul - f64.add - f64.mul - f64.add - local.set $6 - local.get $3 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $6 - f64.div - else - local.get $6 - end - f32.demote_f64 - return - end - unreachable - end - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.2 (result i32) - local.get $0 - local.set $12 - local.get $1 - local.set $11 - local.get $2 - local.set $3 - local.get $11 - i32.const 1305022427 - i32.lt_u - if - local.get $12 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $10 - local.get $12 - f64.promote_f32 - local.get $10 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $10 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $10 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.2 - end - local.get $12 - local.set $14 - local.get $11 - local.set $13 - local.get $13 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $15 - local.get $15 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $16 - i32.const 12744 - local.get $15 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $17 - local.get $17 - i64.load - local.set $18 - local.get $17 - i64.load offset=8 - local.set $19 - local.get $16 - i64.const 32 - i64.gt_u - if - local.get $17 - i64.load offset=16 - local.set $21 - local.get $21 - i64.const 96 - local.get $16 - i64.sub - i64.shr_u - local.set $20 - local.get $20 - local.get $19 - local.get $16 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $20 - else - local.get $19 - i64.const 32 - local.get $16 - i64.sub - i64.shr_u - local.set $20 - end - local.get $19 - i64.const 64 - local.get $16 - i64.sub - i64.shr_u - local.get $18 - local.get $16 - i64.shl - i64.or - local.set $21 - local.get $13 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $22 - local.get $22 - local.get $21 - i64.mul - local.get $22 - local.get $20 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $23 - i64.const 2 - i64.shl - local.set $24 - local.get $23 - i64.const 62 - i64.shr_u - local.get $24 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $25 - f64.const 8.515303950216386e-20 - local.get $14 - f64.promote_f32 - f64.copysign - local.get $24 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $25 - local.set $25 - i32.const 0 - local.get $25 - i32.sub - local.get $25 - local.get $3 - select - end - local.set $26 - global.get $~lib/math/rempio2f_y - local.set $27 - local.get $27 - local.set $4 - local.get $26 - i32.const 1 - i32.and - local.set $13 - local.get $4 - local.get $4 - f64.mul - local.set $10 - f64.const 0.002974357433599673 - local.get $10 - f64.const 0.009465647849436732 - f64.mul - f64.add - local.set $9 - f64.const 0.05338123784456704 - local.get $10 - f64.const 0.024528318116654728 - f64.mul - f64.add - local.set $8 - local.get $10 - local.get $10 - f64.mul - local.set $7 - local.get $10 - local.get $4 - f64.mul - local.set $6 - f64.const 0.3333313950307914 - local.get $10 - f64.const 0.13339200271297674 - f64.mul - f64.add - local.set $5 - local.get $4 - local.get $6 - local.get $5 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $8 - local.get $7 - local.get $9 - f64.mul - f64.add - f64.mul - f64.add - local.set $9 - local.get $13 - if (result f64) - f32.const -1 - f64.promote_f32 - local.get $9 - f64.div - else - local.get $9 - end - f32.demote_f64 - ) - (func $../../lib/libm/assembly/libmf/tan (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.tan - ) - (func $~lib/math/NativeMathf.tanh (param $0 f32) (result f32) - (local $1 i32) - (local $2 f32) - (local $3 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - f32.reinterpret_i32 - local.set $2 - local.get $1 - i32.const 1057791828 - i32.gt_u - if - local.get $1 - i32.const 1092616192 - i32.gt_u - if - f32.const 1 - f32.const 0 - local.get $2 - f32.div - f32.add - local.set $3 - else - f32.const 2 - local.get $2 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.set $3 - f32.const 1 - f32.const 2 - local.get $3 - f32.const 2 - f32.add - f32.div - f32.sub - local.set $3 - end - else - local.get $1 - i32.const 1048757624 - i32.gt_u - if - f32.const 2 - local.get $2 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.set $3 - local.get $3 - local.get $3 - f32.const 2 - f32.add - f32.div - local.set $3 - else - local.get $1 - i32.const 8388608 - i32.ge_u - if - f32.const -2 - local.get $2 - f32.mul - call $~lib/math/NativeMathf.expm1 - local.set $3 - local.get $3 - f32.neg - local.get $3 - f32.const 2 - f32.add - f32.div - local.set $3 - else - local.get $2 - local.set $3 - end - end - end - local.get $3 - local.get $0 - f32.copysign - ) - (func $../../lib/libm/assembly/libmf/tanh (param $0 f32) (result f32) - local.get $0 - call $~lib/math/NativeMathf.tanh - ) - (func $../../lib/libm/assembly/libmf/trunc (param $0 f32) (result f32) - (local $1 f32) - local.get $0 - local.set $1 - local.get $1 - f32.trunc - ) -)