From aaa3cbc5645e1421e4052dba7d3447445ad5d085 Mon Sep 17 00:00:00 2001 From: PurHur Date: Wed, 9 Sep 2026 21:19:57 +0000 Subject: [PATCH] =?UTF-8?q?Split-TU:=20extract=20JitPowIntegerEmitExponent?= =?UTF-8?q?s100to103=20for=20exponents=20100=E2=80=93103=20(#36386)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move hundredth…hundredthird chained-smul emit out of High so gen-0 spine gains another TU (High 21.9k→7.7k keeps hundredfourth/hundredfifth). Hub dispatches 100–103 before High. Spine 8596→8597. php-src: Zend/zend_operators.c pow_function/zend_pow; ext/standard/math.c PHP_FUNCTION(pow). Co-authored-by: Cursor --- README.md | 8 +- docs/bootstrap-inventory.md | 12 +- docs/bootstrap-profile.json | 6 +- docs/bootstrap-selfhost.md | 2 +- docs/configuration.md | 1 + docs/index.md | 2 +- docs/pages/development-status.md | 8 +- docs/pages/index.html | 8 +- docs/pages/status.html | 6 +- docs/roadmap-wave3.md | 2 +- docs/self-host-target.md | 6 +- docs/status-snapshot.json | 8 +- ext/standard/JitPowIntegerEmit.php | 12 +- .../JitPowIntegerEmitExponents100to103.php | 14239 ++++++++++++++++ .../JitPowIntegerEmitExponents96to99.php | 2 +- ext/standard/JitPowIntegerEmitHigh.php | 14198 +-------------- .../.m3_compiler_lib_sidecar.sha | 2 +- script/size-budgets.json | 19 +- .../compiler_lib_spine_smoke/main.php | 1 + test/unit/BootstrapSelfhostBundleTest.php | 2 +- 20 files changed, 14308 insertions(+), 14236 deletions(-) create mode 100644 ext/standard/JitPowIntegerEmitExponents100to103.php diff --git a/README.md b/README.md index 1e3147479a3..d0391ff21c7 100755 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ -**Snapshot (2026-09-09, from [`docs/status-snapshot.json`](docs/status-snapshot.json)):** self-host spine **8596** / **8596** · capability matrix **4054** rows (VM yes **4021**, JIT **1472**, AOT **1326**) · differential cases **463** · apps corpus **2**/**12** ready · VM driver probe target ~**20**ms · local CI streak **6**d ([#36401](https://github.com/PurHur/php-compiler/issues/36401)) +**Snapshot (2026-09-09, from [`docs/status-snapshot.json`](docs/status-snapshot.json)):** self-host spine **8597** / **8597** · capability matrix **4054** rows (VM yes **4021**, JIT **1472**, AOT **1326**) · differential cases **464** · apps corpus **2**/**12** ready · VM driver probe target ~**20**ms · local CI streak **6**d ([#36401](https://github.com/PurHur/php-compiler/issues/36401)) ## Current implementation status @@ -22,7 +22,7 @@ | **VM (`phpc run`)** | ✅ Production-shaped for dev/CI | Broadest language coverage; reference executor and JIT/AOT fallback | | **AOT (`phpc build`)** | ✅ For curated subset | Standalone binaries for examples **000–009** and small CGI apps; Composer stacks tracked in [#36382](https://github.com/PurHur/php-compiler/issues/36382) / [#36380](https://github.com/PurHur/php-compiler/issues/36380) | | **JIT (`bin/jit.php`)** | 🚧 Partial | LLVM IR for many constructs; **MCJIT execute** still flaky ([#98](https://github.com/PurHur/php-compiler/issues/98)) | -| **Self-host north star** | 🚧 | Spine **8596** / **8596** ✅ · M3 HelloWorld `emit_path=native` via gen-0 argv helper ([#22178](https://github.com/PurHur/php-compiler/issues/22178)) · `BOOTSTRAP_M4_REQUIRE_NATIVE_EMIT=1` refuses sidecar COPY ([#36146](https://github.com/PurHur/php-compiler/issues/36146)) · daily `make north-star5-verify-fast` · `--strict` only before bootstrap merges | +| **Self-host north star** | 🚧 | Spine **8597** / **8597** ✅ · M3 HelloWorld `emit_path=native` via gen-0 argv helper ([#22178](https://github.com/PurHur/php-compiler/issues/22178)) · `BOOTSTRAP_M4_REQUIRE_NATIVE_EMIT=1` refuses sidecar COPY ([#36146](https://github.com/PurHur/php-compiler/issues/36146)) · daily `make north-star5-verify-fast` · `--strict` only before bootstrap merges | ### What you can rely on today @@ -38,7 +38,7 @@ Counts from `php script/bootstrap-spine-count.php` / `docs/status-snapshot.json` | Milestone | Status | What it means | |-----------|--------|----------------| | **M0–M1** | ✅ | `compiler_minimal` + compile-smoke bundles link and run natively | -| **M2** | ✅ **8596** / **8596** | Full Phase A inventory in spine smoke | +| **M2** | ✅ **8597** / **8597** | Full Phase A inventory in spine smoke | | **M3** | ✅ / 🚧 | HelloWorld `emit_path=native` via gen-0 argv helper ([#22178](https://github.com/PurHur/php-compiler/issues/22178)); `BOOTSTRAP_M3_REQUIRE_NATIVE_EMIT=1` refuses sidecar COPY ([#21860](https://github.com/PurHur/php-compiler/issues/21860), [#36146](https://github.com/PurHur/php-compiler/issues/36146)) | | **M4** | 🚧 | `BOOTSTRAP_M4_REQUIRE_NATIVE_EMIT=1` refuses sidecar COPY ([#36146](https://github.com/PurHur/php-compiler/issues/36146)); default `bootstrap-loop-probe` may exit **2** when the ladder is degraded — not a false OK | | **M5** | 🚧 | Daily: `make north-star5-verify-fast` · before bootstrap merges: `make north-star5-verify ARGS=--strict` | @@ -255,7 +255,7 @@ Full matrices (auto-generated): [`docs/capabilities.md`](docs/capabilities.md) ( **Self-host (experimental, not “stable app” scope)** -See [Current implementation status](#current-implementation-status-july-2026) for the full M0–M5 ladder. Summary: M0–M5 bootstrap gates ✅; spine **8596** / **8596**; M3 strict native + inventory argv ✅; M4 full `bootstrap-loop-probe` ✅; M5 **`north-star5-verify-fast`** (daily) ✅ — **`--strict` red at step 4a2** ([#21417](https://github.com/PurHur/php-compiler/issues/21417)) ([#1492](https://github.com/PurHur/php-compiler/issues/1492), [#8559](https://github.com/PurHur/php-compiler/issues/8559)). Recent: native spine bundle probe, fast VM execute smoke ([#2201](https://github.com/PurHur/php-compiler/issues/2201)), `GeneratorYieldSourceMarker` spine unit ([#10356](https://github.com/PurHur/php-compiler/pull/10356)). +See [Current implementation status](#current-implementation-status-july-2026) for the full M0–M5 ladder. Summary: M0–M5 bootstrap gates ✅; spine **8597** / **8597**; M3 strict native + inventory argv ✅; M4 full `bootstrap-loop-probe` ✅; M5 **`north-star5-verify-fast`** (daily) ✅ — **`--strict` red at step 4a2** ([#21417](https://github.com/PurHur/php-compiler/issues/21417)) ([#1492](https://github.com/PurHur/php-compiler/issues/1492), [#8559](https://github.com/PurHur/php-compiler/issues/8559)). Recent: native spine bundle probe, fast VM execute smoke ([#2201](https://github.com/PurHur/php-compiler/issues/2201)), `GeneratorYieldSourceMarker` spine unit ([#10356](https://github.com/PurHur/php-compiler/pull/10356)). **What we do not target in v1.x** - Running arbitrary Composer packages unmodified diff --git a/docs/bootstrap-inventory.md b/docs/bootstrap-inventory.md index 8708fbb4ed4..c3254556282 100644 --- a/docs/bootstrap-inventory.md +++ b/docs/bootstrap-inventory.md @@ -8,11 +8,11 @@ Regenerate: `php script/bootstrap-inventory.php` | Metric | Count | |--------|------:| -| PHP files on vm.php path | 8596 | -| Phase A inventory files (M2 ratio SSOT) | 8596 | +| PHP files on vm.php path | 8597 | +| Phase A inventory files (M2 ratio SSOT) | 8597 | | Phase A ratio-deferred paths | 0 | | Source constructs flagged (blockers) | 0 | -| Source constructs flagged (warnings) | 26778 | +| Source constructs flagged (warnings) | 26779 | ## Compiler CFG gaps (`lib/Compiler.php`) @@ -3264,6 +3264,7 @@ Rank live CFG gaps across inventory files: `php script/bootstrap-inventory-triag | `ext/standard/JitPopen.php` | 0 | 1 | | `ext/standard/JitPow.php` | 0 | 1 | | `ext/standard/JitPowIntegerEmit.php` | 0 | 1 | +| `ext/standard/JitPowIntegerEmitExponents100to103.php` | 0 | 1 | | `ext/standard/JitPowIntegerEmitExponents50to69.php` | 0 | 1 | | `ext/standard/JitPowIntegerEmitExponents70to79.php` | 0 | 1 | | `ext/standard/JitPowIntegerEmitExponents80to85.php` | 0 | 1 | @@ -33764,6 +33765,11 @@ Rank live CFG gaps across inventory files: `php script/bootstrap-inventory-triag **Warnings** (review for bootstrap subset): - 1 class method(s) +### `ext/standard/JitPowIntegerEmitExponents100to103.php` + +**Warnings** (review for bootstrap subset): +- 1 class method(s) + ### `ext/standard/JitPowIntegerEmitExponents50to69.php` **Warnings** (review for bootstrap subset): diff --git a/docs/bootstrap-profile.json b/docs/bootstrap-profile.json index 01639dc847d..0363df064d8 100644 --- a/docs/bootstrap-profile.json +++ b/docs/bootstrap-profile.json @@ -3322,12 +3322,14 @@ "ext/standard/JitPopen.php", "ext/standard/JitPow.php", "ext/standard/JitPowIntegerEmit.php", + "ext/standard/JitPowIntegerEmitExponents100to103.php", "ext/standard/JitPowIntegerEmitExponents50to69.php", "ext/standard/JitPowIntegerEmitExponents70to79.php", "ext/standard/JitPowIntegerEmitExponents80to85.php", "ext/standard/JitPowIntegerEmitExponents80to91.php", "ext/standard/JitPowIntegerEmitExponents86to88.php", "ext/standard/JitPowIntegerEmitExponents92to95.php", + "ext/standard/JitPowIntegerEmitExponents96to99.php", "ext/standard/JitPowIntegerEmitHigh.php", "ext/standard/JitPowIntegerEmitLow.php", "ext/standard/JitPowIntegerEmitMid.php", @@ -8829,9 +8831,9 @@ "test/bootstrap-aot/lib_opcode/main.php" ], "totals": { - "inventory_files": 8596, + "inventory_files": 8597, "excluded": 0, - "eligible": 8596, + "eligible": 8597, "aot_lint_targets": 113, "aot_link_targets": 100, "aot_link_lib_targets": 1 diff --git a/docs/bootstrap-selfhost.md b/docs/bootstrap-selfhost.md index 12c9b1ab7e9..18a870cfefd 100644 --- a/docs/bootstrap-selfhost.md +++ b/docs/bootstrap-selfhost.md @@ -2,7 +2,7 @@ **Gen-0 without Zend:** `BOOTSTRAP_M5_NO_ZEND=1 make bootstrap-selfhost-link` installs `prelinked/bootstrap-gen0/bin-compile-aot` and links `compiler_minimal` without `php bin/compile.php` ([#3053](https://github.com/PurHur/php-compiler/issues/3053)). **M5 lib spine compile:** `BOOTSTRAP_NO_ZEND_FALLBACK=1 make bootstrap-selfhost-lib-spine-smoke` (default in link script) refuses host `php bin/compile.php` on the spine emit path ([#8716](https://github.com/PurHur/php-compiler/issues/8716)). **Contributor workflow:** [bootstrap-dev-workflow.md](bootstrap-dev-workflow.md) (tiered gen-1+ path, spine checklist, CI). -**Project north star:** The **compiler fully compiles itself** — native AOT from `lib/` (no `vendor/` at cold boot), then compiles PHP and rebuilds the next compiler revision without Zend. **M2 spine:** **8596** / **8596** Phase A inventory (`php script/bootstrap-spine-count.php`; `check-selfhost-spine-coverage-sync.php`). **M5 daily gate:** `make north-star5-verify-fast` (~1–2 min) ✅; **`--strict`** (~1h) pre-merge only. Committed `prelinked/bootstrap-gen0/` sidecars + vendor **7410/7412** cold boot. **Hot loop:** VM driver execute probe ~**20ms**; full spine relink only with `BOOTSTRAP_VM_DRIVER_EXECUTE_PROBE_FULL_LINK=1` ([#2201](https://github.com/PurHur/php-compiler/issues/2201)). **Living tracker:** [#1492](https://github.com/PurHur/php-compiler/issues/1492) (was [#1056](https://github.com/PurHur/php-compiler/issues/1056)) · **re-root doc:** [self-host-target.md](self-host-target.md) · **generation ladder:** [bootstrap-generations.md](bootstrap-generations.md) · **M5 fast path:** [bootstrap-m5-fast-path.md](bootstrap-m5-fast-path.md) · public status: [development-status § North star](https://purhur.github.io/php-compiler/development-status.html#north-star-self-host). Parent tracking: [#78](https://github.com/PurHur/php-compiler/issues/78) (roadmap), [#212](https://github.com/PurHur/php-compiler/issues/212) (closed umbrella). +**Project north star:** The **compiler fully compiles itself** — native AOT from `lib/` (no `vendor/` at cold boot), then compiles PHP and rebuilds the next compiler revision without Zend. **M2 spine:** **8597** / **8597** Phase A inventory (`php script/bootstrap-spine-count.php`; `check-selfhost-spine-coverage-sync.php`). **M5 daily gate:** `make north-star5-verify-fast` (~1–2 min) ✅; **`--strict`** (~1h) pre-merge only. Committed `prelinked/bootstrap-gen0/` sidecars + vendor **7410/7412** cold boot. **Hot loop:** VM driver execute probe ~**20ms**; full spine relink only with `BOOTSTRAP_VM_DRIVER_EXECUTE_PROBE_FULL_LINK=1` ([#2201](https://github.com/PurHur/php-compiler/issues/2201)). **Living tracker:** [#1492](https://github.com/PurHur/php-compiler/issues/1492) (was [#1056](https://github.com/PurHur/php-compiler/issues/1056)) · **re-root doc:** [self-host-target.md](self-host-target.md) · **generation ladder:** [bootstrap-generations.md](bootstrap-generations.md) · **M5 fast path:** [bootstrap-m5-fast-path.md](bootstrap-m5-fast-path.md) · public status: [development-status § North star](https://purhur.github.io/php-compiler/development-status.html#north-star-self-host). Parent tracking: [#78](https://github.com/PurHur/php-compiler/issues/78) (roadmap), [#212](https://github.com/PurHur/php-compiler/issues/212) (closed umbrella). ## Current gates diff --git a/docs/configuration.md b/docs/configuration.md index 07c90da850d..5d8e45b8b40 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -41,6 +41,7 @@ defaults — `doctor --env` exits non-zero when they drift. | `PHP_COMPILER_EMIT_BITCODE` | string | debug | — | Emit LLVM bitcode path | — | | `PHP_COMPILER_EMIT_HELPER_LINK` | bool | compile | — | Link helper runtime into emit | — | | `PHP_COMPILER_EMIT_JOBS` | int | compile | — | Parallel helper-unit emit jobs | — | +| `PHP_COMPILER_EXTENSIONS` | string | runtime | — | Extension load filter: only:a,b / a,b / +a,-b (ext/ directory names; pulls depends[]) (#36204) | #36204 | | `PHP_COMPILER_EXTERNAL_METHOD_MANIFEST_EXPORT` | string | debug | — | Export external method manifest | — | | `PHP_COMPILER_EXTERNAL_STUBS_JSON` | string | debug | — | Write external stubs JSON report | — | | `PHP_COMPILER_EXT_DIR` | string | runtime | `/usr/lib/php/20220829` | Directory of PHP extension .so files | — | diff --git a/docs/index.md b/docs/index.md index 8862a98d9ba..50b71421666 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,7 +26,7 @@ Bench history page: [`pages/bench.html`](pages/bench.html). Do not quote a ratio ## Internals -[`architecture-review-2026-07.md`](architecture-review-2026-07.md) · [`self-host-target.md`](self-host-target.md) · [`bootstrap-m5-fast-path.md`](bootstrap-m5-fast-path.md) · ADRs under [`adr/`](adr/). Spine coverage **8596** / **8596**. +[`architecture-review-2026-07.md`](architecture-review-2026-07.md) · [`self-host-target.md`](self-host-target.md) · [`bootstrap-m5-fast-path.md`](bootstrap-m5-fast-path.md) · ADRs under [`adr/`](adr/). Spine coverage **8597** / **8597**. ## Contributing for agents diff --git a/docs/pages/development-status.md b/docs/pages/development-status.md index eb59ca2cf43..b06723aaa7a 100644 --- a/docs/pages/development-status.md +++ b/docs/pages/development-status.md @@ -15,7 +15,7 @@ permalink: /development-status.html | **North star** | Compiler compiles itself without Zend ([#1492](https://github.com/PurHur/php-compiler/issues/1492)) | | **v1.1.0 theme** | M5 fast-path stability; enum/property hooks; `preg_match` JIT; `spl_autoload*`; php-in-PHP JIT helpers ([#78](https://github.com/PurHur/php-compiler/issues/78)) | | **Wave 3** | Language **7410/7412** · Stdlib **7410/7412** on master ([#1380](https://github.com/PurHur/php-compiler/issues/1380)) | -| **Spine SSOT** | `php script/bootstrap-spine-count.php` → **8596** / **8596** | +| **Spine SSOT** | `php script/bootstrap-spine-count.php` → **8597** / **8597** | | **Builtin matrix** | **1555** functions ([`docs/capabilities.md`](https://github.com/PurHur/php-compiler/blob/master/docs/capabilities.md)) | | **Try it** | [`docs/GETTING-STARTED.md`](https://github.com/PurHur/php-compiler/blob/master/docs/GETTING-STARTED.md) | @@ -50,7 +50,7 @@ permalink: /development-status.html ### Still open (high signal) - **MCJIT execute** — `bin/jit.php -r` SIGSEGV ([#98](https://github.com/PurHur/php-compiler/issues/98)) -- **Literal spine ratio** — **8596/8596** ✅ (Jul 2026) +- **Literal spine ratio** — **8597/8597** ✅ (Jul 2026) - **Compile-spine stub retirement** — shrink `PHP_COMPILER_SELFHOST_AOT` on M3 allowlist ([#1402](https://github.com/PurHur/php-compiler/issues/1402)) - **007-ThrowsWeb AOT execute** — invalid POST segfault at runtime (link OK; slice `EXAMPLES_AOT_SMOKE_ONLY=007`) - **LLVM 14+ upgrade** — experimental `script/install-llvm14.sh` ([#174](https://github.com/PurHur/php-compiler/issues/174)) @@ -62,7 +62,7 @@ permalink: /development-status.html - **`phpc` CLI** — `run`, `serve`, `build`, `deploy`, `lint`, `test`, `init`, `doctor` - **Examples 000–009** — VM and AOT link/execute for the curated web subset - **Self-host M0** — `compiler_minimal bundle OK` ✅ -- **Self-host M2** — spine **8596/8596** ✅; native link + lint ✅ +- **Self-host M2** — spine **8597/8597** ✅; native link + lint ✅ - **Self-host M3** — HelloWorld strict `emit_path=native` ✅ ([#1493](https://github.com/PurHur/php-compiler/issues/1493)); inventory argv `bin/compile.php` ✅ ([#3024](https://github.com/PurHur/php-compiler/issues/3024) closed); compile-smoke strict native ✅ ([#1937](https://github.com/PurHur/php-compiler/issues/1937)) - **Self-host M4** — `make bootstrap-loop-probe` full ladder ✅; gen-2→gen-3 full-spine recompile ✅ - **Self-host M3–M5** — vendor prelink **7410/7412** ✅; **`make north-star5-verify-fast`** daily ✅; VM probe ~**20ms**. **`--strict` red** ([#21417](https://github.com/PurHur/php-compiler/issues/21417)) and **M3/M4 emit paths are prelinked blob COPIES, not native compiles** ([#21860](https://github.com/PurHur/php-compiler/issues/21860)) — the byte-identical gen-0/gen-2/gen-3 result follows from copying and is not fixpoint evidence @@ -92,7 +92,7 @@ See [`docs/bootstrap-selfhost.md`](https://github.com/PurHur/php-compiler/blob/m |-----------|--------| | **M0** — Small `lib/` bundle runs | ✅ | | **M1** — Compiler-shaped bundle + compile-smoke | ✅ | -| **M2** — Spine toward full inventory | ✅ **8596** / **8596** | +| **M2** — Spine toward full inventory | ✅ **8597** / **8597** | | **M3** — Native compiles PHP (no Zend emit) | ✅ Smoke + inventory argv driver strict native | | **M4** — Bootstrap loop (next revision) | ✅ `bootstrap-loop-probe` full ladder | | **M5** — Full self-host, no `vendor/` cold boot | ✅ Presenter strict + compiled-only empty `build/` cold boot ([#3053](https://github.com/PurHur/php-compiler/issues/3053)) | diff --git a/docs/pages/index.html b/docs/pages/index.html index 3bdd4553b47..234f3cd43c0 100644 --- a/docs/pages/index.html +++ b/docs/pages/index.html @@ -70,7 +70,7 @@

A compiler for PHP in PHP that compiles itself

VM + JIT + AOT Closures · try/catch 321 builtins - Spine **8596** / **8596** (1 deferred) + Spine **8597** / **8597** (1 deferred) M5 strict ✅ M3 strict emit MCJIT execute @@ -391,7 +391,7 @@

Self-host progress

fix/spine-aot-jit-blockers @ a8cffaa0e (15 Jun 2026, LLVM 9). - M2 spine SSOT: php script/bootstrap-spine-count.php → **8596** / **8596** Phase A inventory (literal coverage ✅). + M2 spine SSOT: php script/bootstrap-spine-count.php → **8597** / **8597** Phase A inventory (literal coverage ✅). M4: make bootstrap-loop-probe full ladder ✅. M5: make north-star5-verify-fast ✅ daily; --strict pre-merge; VM driver probe ~20ms in CI loops. Remaining: MCJIT execute ([#98](https://github.com/PurHur/php-compiler/issues/98)); honest PHP main() in full spine AOT (native bundle-OK probe is bootstrap smoke). @@ -437,7 +437,7 @@

M4

M5

Vendor prelink 7410/7410 ✅; committed .o cold boot ✅; - north-star5-verify-fast ✅ daily; --strict pre-merge; spine **8596** / **8596**; prelinked gen-0 refreshed; + north-star5-verify-fast ✅ daily; --strict pre-merge; spine **8597** / **8597**; prelinked gen-0 refreshed; fast VM execute probe (~20ms); compiled-only cold boot via BOOTSTRAP_M5_NO_ZEND=1 ✅ (#3053, #8559, @@ -494,7 +494,7 @@

Get involved

PHP compare · Getting started

- + diff --git a/docs/pages/status.html b/docs/pages/status.html index 1c32dde2706..f983943a3aa 100644 --- a/docs/pages/status.html +++ b/docs/pages/status.html @@ -11,13 +11,13 @@

← Overview

Status snapshot

-

Generated by script/status/snapshot.php from docs/status-snapshot.json (#36395) at .

+

Generated by script/status/snapshot.php from docs/status-snapshot.json (#36395) at .

- + - + diff --git a/docs/roadmap-wave3.md b/docs/roadmap-wave3.md index 33ae1de4498..ada73fa8ef6 100644 --- a/docs/roadmap-wave3.md +++ b/docs/roadmap-wave3.md @@ -19,7 +19,7 @@ Regenerate capability truth: `php script/capability-matrix.php`, `php script/cap Related merges outside this wave: `goto` ([#1228](https://github.com/PurHur/php-compiler/issues/1228) / [#1333](https://github.com/PurHur/php-compiler/pull/1333)), anonymous classes ([#1233](https://github.com/PurHur/php-compiler/issues/1233) / [#1386](https://github.com/PurHur/php-compiler/pull/1386)). -**M2 spine:** **8596** / **8596** (`php script/bootstrap-spine-count.php`) — full Phase A inventory in `compiler_lib_spine_smoke`; coverage sync ✅ (`check-selfhost-spine-coverage-sync.php`). Native spine **link** + **lint** ✅ ([#2134](https://github.com/PurHur/php-compiler/issues/2134), [#8559](https://github.com/PurHur/php-compiler/issues/8559)). **M5 daily gate:** `make north-star5-verify-fast` + VM probe ~20ms ([#2201](https://github.com/PurHur/php-compiler/issues/2201)); `--strict` pre-merge only. M4 gen-2→gen-3 recompile ✅. Target doc: [self-host-target.md](self-host-target.md) +**M2 spine:** **8597** / **8597** (`php script/bootstrap-spine-count.php`) — full Phase A inventory in `compiler_lib_spine_smoke`; coverage sync ✅ (`check-selfhost-spine-coverage-sync.php`). Native spine **link** + **lint** ✅ ([#2134](https://github.com/PurHur/php-compiler/issues/2134), [#8559](https://github.com/PurHur/php-compiler/issues/8559)). **M5 daily gate:** `make north-star5-verify-fast` + VM probe ~20ms ([#2201](https://github.com/PurHur/php-compiler/issues/2201)); `--strict` pre-merge only. M4 gen-2→gen-3 recompile ✅. Target doc: [self-host-target.md](self-host-target.md) ## Language (#1354–#1366) diff --git a/docs/self-host-target.md b/docs/self-host-target.md index 435c874e4e9..12cb7a68f9e 100644 --- a/docs/self-host-target.md +++ b/docs/self-host-target.md @@ -45,7 +45,7 @@ Research stretch (not a release gate): that same binary can compile the next rev |-------|-------|--------| | **Bootstrap driver** | Prelinked gen-0 refreshed via honest inventory argv emit; native `build/bin-compile-aot-inventory` for M4/M5 | Compiled `bin/compile.php` only | | **Bundle size** | **7410/7412** literal Phase A inventory in spine smoke | Full vm.php closure | -| **Inventory coverage** | **8596** / **8596** ✅ | Full closure | +| **Inventory coverage** | **8597** / **8597** ✅ | Full closure | | **HelloWorld** | ✅ `emit_path=native` via gen-0 argv emit helper (`DRIVER -o OUT SOURCE`; [#22178](https://github.com/PurHur/php-compiler/issues/22178)) | Native compile for arbitrary PHP | | **Bootstrap loop (M4)** | `make bootstrap-loop-probe` full ladder ✅ — gen-1→gen-2, gen-2→gen-3 full spine, full-revision argv | Native full revision rebuild | | **Vendor** | **7410/7412** vendor `object_ok`; committed `.o` cold boot without `vendor/` ✅; `make north-star5-verify-fast` daily ✅; `--strict` ❌ **red at step 4a2** ([#21417](https://github.com/PurHur/php-compiler/issues/21417)) | No Zend `vendor/autoload.php` at bootstrap | @@ -79,7 +79,7 @@ Research stretch (not a release gate): that same binary can compile the next rev |-----------|----------------|--------|-----| | **M0** | AOT can link a **small** honest `lib/` subset | ✅ | 100% | | **M1** | Bundle is **compiler-shaped** (lint + compile-smoke) | ✅ | 100% | -| **M2** | Spine grows toward full `bin/vm.php` inventory | ✅ **8596** / **8596** | **100%** | +| **M2** | Spine grows toward full `bin/vm.php` inventory | ✅ **8597** / **8597** | **100%** | | **M3** | Self-host binary **compiles external PHP** (HelloWorld) without Zend emit | ✅ `emit_path=native` via gen-0 argv helper ([#22178](https://github.com/PurHur/php-compiler/issues/22178)) | **~90%** | | **M4** | Self-host binary **rebuilds** the next compiler tree | 🚧 ladder runs but gen-1→gen-2 is a COPY ([#21860](https://github.com/PurHur/php-compiler/issues/21860)) | **~60%** | | **M5 (release)** | Static `phpc` builds user/Composer projects | 🚧 fast gate ✅; corpus app smoke open ([#36380](https://github.com/PurHur/php-compiler/issues/36380)); see [ADR #36393](adr/36393-selfhost-user-payoff.md) | **payoff** | @@ -91,7 +91,7 @@ Research stretch (not a release gate): that same binary can compile the next rev | Indicator | Formula | Jul 2026 | |-----------|---------|----------| -| **M2 spine progress** | `require_once` units in `compiler_lib_spine_smoke` ÷ Phase A inventory file count | **8596** / **8596** (`php script/bootstrap-spine-count.php`) | +| **M2 spine progress** | `require_once` units in `compiler_lib_spine_smoke` ÷ Phase A inventory file count | **8597** / **8597** (`php script/bootstrap-spine-count.php`) | | **Public “Self-host” row** | Same M2 ratio until M3–M5 gates add weight ([`development-status.md`](pages/development-status.md)) | **~97%** | | **M5 vendor prelink** | `object_ok` packages ÷ 3 | **3 / 3** (cfg, types, llvm) | | **Composite (internal)** | Milestone weights in table above (M0–M1 = 100%, M2 = spine %, M3–M5 = gate %) | **~65%** | diff --git a/docs/status-snapshot.json b/docs/status-snapshot.json index da6fbf40ddc..de4b36d9eff 100644 --- a/docs/status-snapshot.json +++ b/docs/status-snapshot.json @@ -1,14 +1,14 @@ { "generated_by": "script/status/snapshot.php", "issue": 36395, - "generated_at": "2026-09-09T20:48:46Z", - "spine": 8596, - "inventory": 8596, + "generated_at": "2026-09-09T21:13:08Z", + "spine": 8597, + "inventory": 8597, "builtins_matrix_rows": 4054, "builtins_vm_yes": 4021, "builtins_jit_yes": 1472, "builtins_aot_yes": 1326, - "differential_cases": 463, + "differential_cases": 464, "apps_packages": 12, "apps_ready": 2, "vm_driver_probe_ms_target": 20, diff --git a/ext/standard/JitPowIntegerEmit.php b/ext/standard/JitPowIntegerEmit.php index 20ce038b7dc..4a38815ddb4 100644 --- a/ext/standard/JitPowIntegerEmit.php +++ b/ext/standard/JitPowIntegerEmit.php @@ -15,7 +15,7 @@ * Integer {@code pow}/{@code **} chained-smul emit for compile-time exponents * (#36387 / #36386). Extracted from {@see JitPow} so gen-0 spine gets a * separate TU for the exponent table; Low/Mid/Exponents50to69/Exponents70to79/ - * Exponents80to85/Exponents86to88/Exponents80to91/Exponents92to95/Exponents96to99/High are sibling TUs (#36387). + * Exponents80to85/Exponents86to88/Exponents80to91/Exponents92to95/Exponents96to99/Exponents100to103/High are sibling TUs (#36387). * * No new C ABI. php-src: Zend/zend_operators.c {@code pow_function} / * {@code zend_pow} / {@code mul_function}; ext/standard/math.c @@ -30,6 +30,7 @@ require_once __DIR__.'/JitPowIntegerEmitExponents80to91.php'; require_once __DIR__.'/JitPowIntegerEmitExponents92to95.php'; require_once __DIR__.'/JitPowIntegerEmitExponents96to99.php'; +require_once __DIR__.'/JitPowIntegerEmitExponents100to103.php'; require_once __DIR__.'/JitPowIntegerEmitHigh.php'; final class JitPowIntegerEmit @@ -141,6 +142,15 @@ public static function emitIntegerPowViaMathFpow( )) { return; } + if (JitPowIntegerEmitExponents100to103::tryEmitIntegerPowViaMathFpow( + $context, + $slotPtr, + $base, + $exp, + $expFold + )) { + return; + } if (JitPowIntegerEmitHigh::tryEmitIntegerPowViaMathFpow( $context, $slotPtr, diff --git a/ext/standard/JitPowIntegerEmitExponents100to103.php b/ext/standard/JitPowIntegerEmitExponents100to103.php new file mode 100644 index 00000000000..e889a5df3be --- /dev/null +++ b/ext/standard/JitPowIntegerEmitExponents100to103.php @@ -0,0 +1,14239 @@ + true, + 'hundredfirst' => true, + 'hundredsecond' => true, + 'hundredthird' => true, + ]; + if (!isset($exponents[$expFold])) { + return false; + } + + if ('hundredth' === $expFold) { + // n^91 = ninetieth*n; overflow arms +1 ×nF vs **90. + // tenth=fifth*fifth, twentieth=tenth*tenth, + // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, + // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). + // Overflow arms finish in float with one extra ×nF vs **91. + $baseL = JitLongArg::lower($context, $base, 'pow() base'); + $i64 = $context->getTypeFromString('int64'); + $f64 = $context->getTypeFromString('double'); + $n = $context->builder->intCast($baseL, $i64); + $sqVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $n, + $n + ); + $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); + if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sq)'); + } + $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind + ? $context->builder->load($sqVar->value) + : $sqVar->value; + $ov1Block = BasicBlockHelper::append($context, 'pow_hundredth_sq_ov'); + $ok1Block = BasicBlockHelper::append($context, 'pow_hundredth_sq_ok'); + $doneBlock = BasicBlockHelper::append($context, 'pow_hundredth_done'); + $context->builder->branchIf($ov1, $ov1Block, $ok1Block); + + $context->builder->positionAtEnd($ov1Block); + $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); + $sq2F = $context->builder->fmul($sqF, $sqF); + $sq4F = $context->builder->fmul($sq2F, $sq2F); + $sq8F = $context->builder->fmul($sq4F, $sq4F); + $twentiethF = $context->builder->fmul($sq8F, $sq2F); + $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); + $fortysecondF = $context->builder->fmul($fortiethF, $sqF); + $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); + $hundredthFSq = $context->builder->fmul($fortyfourthF, $sqF); + $hundredthFEighth = $context->builder->fmul($hundredthFSq, $sqF); + $hundredthF = $context->builder->fmul($hundredthFEighth, $sqF); + $nF = $context->builder->siToFp($n, $f64); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $hundredthF = $context->builder->fmul($hundredthF, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok1Block); + $cuVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sqLong, + $n + ); + $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); + if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (cu)'); + } + $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind + ? $context->builder->load($cuVar->value) + : $cuVar->value; + $ov2Block = BasicBlockHelper::append($context, 'pow_hundredth_cu_ov'); + $ok2Block = BasicBlockHelper::append($context, 'pow_hundredth_cu_ok'); + $context->builder->branchIf($ov2, $ov2Block, $ok2Block); + + $context->builder->positionAtEnd($ov2Block); + $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); + $sqF2 = $context->builder->siToFp($sqLong, $f64); + $fifthF = $context->builder->fmul($cuF, $sqF2); + $tenthF2 = $context->builder->fmul($fifthF, $fifthF); + $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); + $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); + $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); + $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); + $hundredthF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); + $hundredthF2Eighth = $context->builder->fmul($hundredthF2Sq, $sqF2); + $hundredthF2 = $context->builder->fmul($hundredthF2Eighth, $sqF2); + $nF2 = $context->builder->siToFp($n, $f64); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF2 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok2Block); + $fifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $cuLong, + $sqLong + ); + $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); + if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fifth)'); + } + $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind + ? $context->builder->load($fifthVar->value) + : $fifthVar->value; + $ov3Block = BasicBlockHelper::append($context, 'pow_hundredth_fifth_ov'); + $ok3Block = BasicBlockHelper::append($context, 'pow_hundredth_fifth_ok'); + $context->builder->branchIf($ov3, $ov3Block, $ok3Block); + + $context->builder->positionAtEnd($ov3Block); + $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); + $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); + $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); + $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); + $sqF3 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); + $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); + $hundredthF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); + $hundredthF3Eighth = $context->builder->fmul($hundredthF3Sq, $sqF3); + $hundredthF3 = $context->builder->fmul($hundredthF3Eighth, $sqF3); + $nF3 = $context->builder->siToFp($n, $f64); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF3 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok3Block); + $tenthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fifthLong, + $fifthLong + ); + $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); + if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (tenth)'); + } + $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind + ? $context->builder->load($tenthVar->value) + : $tenthVar->value; + $ov4Block = BasicBlockHelper::append($context, 'pow_hundredth_tenth_ov'); + $ok4Block = BasicBlockHelper::append($context, 'pow_hundredth_tenth_ok'); + $context->builder->branchIf($ov4, $ov4Block, $ok4Block); + + $context->builder->positionAtEnd($ov4Block); + $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); + $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); + $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); + $sqF4 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); + $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); + $hundredthF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); + $hundredthF4Eighth = $context->builder->fmul($hundredthF4Sq, $sqF4); + $hundredthF4 = $context->builder->fmul($hundredthF4Eighth, $sqF4); + $nF4 = $context->builder->siToFp($n, $f64); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF4 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok4Block); + $twentiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $tenthLong, + $tenthLong + ); + $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); + if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (twentieth)'); + } + $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind + ? $context->builder->load($twentiethVar->value) + : $twentiethVar->value; + $ov5Block = BasicBlockHelper::append($context, 'pow_hundredth_twentieth_ov'); + $ok5Block = BasicBlockHelper::append($context, 'pow_hundredth_twentieth_ok'); + $context->builder->branchIf($ov5, $ov5Block, $ok5Block); + + $context->builder->positionAtEnd($ov5Block); + $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); + $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); + $sqF5 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); + $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); + $hundredthF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); + $hundredthF5Eighth = $context->builder->fmul($hundredthF5Sq, $sqF5); + $hundredthF5 = $context->builder->fmul($hundredthF5Eighth, $sqF5); + $nF5 = $context->builder->siToFp($n, $f64); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF5 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok5Block); + $fortiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $twentiethLong, + $twentiethLong + ); + $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); + if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fortieth)'); + } + $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind + ? $context->builder->load($fortiethVar->value) + : $fortiethVar->value; + $ov6Block = BasicBlockHelper::append($context, 'pow_hundredth_fortieth_ov'); + $ok6Block = BasicBlockHelper::append($context, 'pow_hundredth_fortieth_ok'); + $context->builder->branchIf($ov6, $ov6Block, $ok6Block); + + $context->builder->positionAtEnd($ov6Block); + $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); + $sqF6 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); + $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); + $hundredthF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); + $hundredthF6Eighth = $context->builder->fmul($hundredthF6Sq, $sqF6); + $hundredthF6 = $context->builder->fmul($hundredthF6Eighth, $sqF6); + $nF6 = $context->builder->siToFp($n, $f64); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF6 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok6Block); + $fortysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortiethLong, + $sqLong + ); + $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); + if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fortysecond)'); + } + $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind + ? $context->builder->load($fortysecondVar->value) + : $fortysecondVar->value; + $ov7Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysecond_ov'); + $ok7Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysecond_ok'); + $context->builder->branchIf($ov7, $ov7Block, $ok7Block); + + $context->builder->positionAtEnd($ov7Block); + $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); + $sqF7 = $context->builder->siToFp($sqLong, $f64); + $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); + $hundredthF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); + $hundredthF7Eighth = $context->builder->fmul($hundredthF7Sq, $sqF7); + $hundredthF7 = $context->builder->fmul($hundredthF7Eighth, $sqF7); + $nF7 = $context->builder->siToFp($n, $f64); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF7 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok7Block); + $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysecondLong, + $sqLong + ); + $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); + if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fortyfourth)'); + } + $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind + ? $context->builder->load($fortyfourthVar->value) + : $fortyfourthVar->value; + $ov8Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyfourth_ov'); + $ok8Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyfourth_ok'); + $context->builder->branchIf($ov8, $ov8Block, $ok8Block); + + $context->builder->positionAtEnd($ov8Block); + $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); + $sqF8 = $context->builder->siToFp($sqLong, $f64); + $hundredthF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); + $hundredthF8Eighth = $context->builder->fmul($hundredthF8Sq, $sqF8); + $hundredthF8 = $context->builder->fmul($hundredthF8Eighth, $sqF8); + $nF8 = $context->builder->siToFp($n, $f64); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF8 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok8Block); + $fortysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyfourthLong, + $sqLong + ); + $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); + if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fortysixth)'); + } + $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind + ? $context->builder->load($fortysixthVar->value) + : $fortysixthVar->value; + $ov9Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysixth_ov'); + $ok9Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysixth_ok'); + $context->builder->branchIf($ov9, $ov9Block, $ok9Block); + + $context->builder->positionAtEnd($ov9Block); + $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); + $sqF9 = $context->builder->siToFp($sqLong, $f64); + $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); + $hundredthF9 = $context->builder->fmul($fortyeighthF9, $sqF9); + $nF9 = $context->builder->siToFp($n, $f64); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF9 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok9Block); + $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysixthLong, + $sqLong + ); + $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); + if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fortyeighth)'); + } + $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind + ? $context->builder->load($fortyeighthVar->value) + : $fortyeighthVar->value; + $ov10Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyeighth_ov'); + $ok10Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyeighth_ok'); + $context->builder->branchIf($ov10, $ov10Block, $ok10Block); + + $context->builder->positionAtEnd($ov10Block); + $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); + $sqF10 = $context->builder->siToFp($sqLong, $f64); + $hundredthF10 = $context->builder->fmul($fortyeighthF10, $sqF10); + $nF10 = $context->builder->siToFp($n, $f64); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF10 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok10Block); + $fiftiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyeighthLong, + $sqLong + ); + $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); + if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftieth)'); + } + $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind + ? $context->builder->load($fiftiethVar->value) + : $fiftiethVar->value; + $ov11Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftieth_ov'); + $ok11Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftieth_ok'); + $context->builder->branchIf($ov11, $ov11Block, $ok11Block); + + $context->builder->positionAtEnd($ov11Block); + $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); + $nF11 = $context->builder->siToFp($n, $f64); + $hundredthF11 = $context->builder->fmul($fiftiethF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF11 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok11Block); + $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftiethLong, + $n + ); + $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); + if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyfirst)'); + } + $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind + ? $context->builder->load($fiftyfirstVar->value) + : $fiftyfirstVar->value; + $ov12Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfirst_ov'); + $ok12Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfirst_ok'); + $context->builder->branchIf($ov12, $ov12Block, $ok12Block); + + $context->builder->positionAtEnd($ov12Block); + $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); + $nF12 = $context->builder->siToFp($n, $f64); + $hundredthF12 = $context->builder->fmul($fiftyfirstF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF12 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok12Block); + $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfirstLong, + $n + ); + $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); + if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftysecond)'); + } + $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind + ? $context->builder->load($fiftysecondVar->value) + : $fiftysecondVar->value; + $ov13Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysecond_ov'); + $ok13Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysecond_ok'); + $context->builder->branchIf($ov13, $ov13Block, $ok13Block); + + $context->builder->positionAtEnd($ov13Block); + $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); + $nF13 = $context->builder->siToFp($n, $f64); + $hundredthF13 = $context->builder->fmul($fiftysecondF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF13 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok13Block); + $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysecondLong, + $n + ); + $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); + if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftythird)'); + } + $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind + ? $context->builder->load($fiftythirdVar->value) + : $fiftythirdVar->value; + $ov14Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftythird_ov'); + $ok14Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftythird_ok'); + $context->builder->branchIf($ov14, $ov14Block, $ok14Block); + + $context->builder->positionAtEnd($ov14Block); + $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); + $nF14 = $context->builder->siToFp($n, $f64); + $hundredthF14 = $context->builder->fmul($fiftythirdF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF14 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok14Block); + $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftythirdLong, + $n + ); + $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); + if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyfourth)'); + } + $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind + ? $context->builder->load($fiftyfourthVar->value) + : $fiftyfourthVar->value; + $ov15Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfourth_ov'); + $ok15Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfourth_ok'); + $context->builder->branchIf($ov15, $ov15Block, $ok15Block); + + $context->builder->positionAtEnd($ov15Block); + $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); + $nF15 = $context->builder->siToFp($n, $f64); + $hundredthF15 = $context->builder->fmul($fiftyfourthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF15 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok15Block); + $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfourthLong, + $n + ); + $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); + if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyfifth)'); + } + $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind + ? $context->builder->load($fiftyfifthVar->value) + : $fiftyfifthVar->value; + $ov16Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfifth_ov'); + $ok16Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfifth_ok'); + $context->builder->branchIf($ov16, $ov16Block, $ok16Block); + + $context->builder->positionAtEnd($ov16Block); + $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); + $nF16 = $context->builder->siToFp($n, $f64); + $hundredthF16 = $context->builder->fmul($fiftyfifthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF16 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok16Block); + $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfifthLong, + $n + ); + $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); + if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftysixth)'); + } + $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind + ? $context->builder->load($fiftysixthVar->value) + : $fiftysixthVar->value; + $ov17Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysixth_ov'); + $ok17Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysixth_ok'); + $context->builder->branchIf($ov17, $ov17Block, $ok17Block); + + $context->builder->positionAtEnd($ov17Block); + $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); + $nF17 = $context->builder->siToFp($n, $f64); + $hundredthF17 = $context->builder->fmul($fiftysixthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF17 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok17Block); + $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysixthLong, + $n + ); + $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); + if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyseventh)'); + } + $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind + ? $context->builder->load($fiftyseventhVar->value) + : $fiftyseventhVar->value; + $ov18Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyseventh_ov'); + $ok18Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyseventh_ok'); + $context->builder->branchIf($ov18, $ov18Block, $ok18Block); + + $context->builder->positionAtEnd($ov18Block); + $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); + $nF18 = $context->builder->siToFp($n, $f64); + $hundredthF18 = $context->builder->fmul($fiftyseventhF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF18 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok18Block); + $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyseventhLong, + $n + ); + $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); + if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyeighth)'); + } + $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind + ? $context->builder->load($fiftyeighthVar->value) + : $fiftyeighthVar->value; + $ov19Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyeighth_ov'); + $ok19Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyeighth_ok'); + $context->builder->branchIf($ov19, $ov19Block, $ok19Block); + + $context->builder->positionAtEnd($ov19Block); + $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); + $nF19 = $context->builder->siToFp($n, $f64); + $hundredthF19 = $context->builder->fmul($fiftyeighthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF19 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok19Block); + $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyeighthLong, + $n + ); + $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); + if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyninth)'); + } + $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind + ? $context->builder->load($fiftyninthVar->value) + : $fiftyninthVar->value; + $ov20Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyninth_ov'); + $ok20Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyninth_ok'); + $context->builder->branchIf($ov20, $ov20Block, $ok20Block); + + $context->builder->positionAtEnd($ov20Block); + $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); + $nF20 = $context->builder->siToFp($n, $f64); + $hundredthF20 = $context->builder->fmul($fiftyninthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF20 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok20Block); + $sixtiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyninthLong, + $n + ); + $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); + if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtieth)'); + } + $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind + ? $context->builder->load($sixtiethVar->value) + : $sixtiethVar->value; + $ov21Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtieth_ov'); + $ok21Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtieth_ok'); + $context->builder->branchIf($ov21, $ov21Block, $ok21Block); + + $context->builder->positionAtEnd($ov21Block); + $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); + $nF21 = $context->builder->siToFp($n, $f64); + $hundredthF21 = $context->builder->fmul($sixtiethF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF21 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok21Block); + $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtiethLong, + $n + ); + $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); + if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyfirst)'); + } + $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind + ? $context->builder->load($sixtyfirstVar->value) + : $sixtyfirstVar->value; + $ov22Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfirst_ov'); + $ok22Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfirst_ok'); + $context->builder->branchIf($ov22, $ov22Block, $ok22Block); + + $context->builder->positionAtEnd($ov22Block); + $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); + $nF22 = $context->builder->siToFp($n, $f64); + $hundredthF22 = $context->builder->fmul($sixtyfirstF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF22 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok22Block); + $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfirstLong, + $n + ); + $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); + if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtysecond)'); + } + $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind + ? $context->builder->load($sixtysecondVar->value) + : $sixtysecondVar->value; + $ov23Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysecond_ov'); + $ok23Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysecond_ok'); + $context->builder->branchIf($ov23, $ov23Block, $ok23Block); + + $context->builder->positionAtEnd($ov23Block); + $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); + $nF23 = $context->builder->siToFp($n, $f64); + $hundredthF23 = $context->builder->fmul($sixtysecondF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF23 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok23Block); + $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysecondLong, + $n + ); + $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); + if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtythird)'); + } + $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind + ? $context->builder->load($sixtythirdVar->value) + : $sixtythirdVar->value; + $ov24Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtythird_ov'); + $ok24Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtythird_ok'); + $context->builder->branchIf($ov24, $ov24Block, $ok24Block); + + $context->builder->positionAtEnd($ov24Block); + $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); + $nF24 = $context->builder->siToFp($n, $f64); + $hundredthF24 = $context->builder->fmul($sixtythirdF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF24 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok24Block); + $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtythirdLong, + $n + ); + $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); + if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyfourth)'); + } + $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind + ? $context->builder->load($sixtyfourthVar->value) + : $sixtyfourthVar->value; + $ov25Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfourth_ov'); + $ok25Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfourth_ok'); + $context->builder->branchIf($ov25, $ov25Block, $ok25Block); + + $context->builder->positionAtEnd($ov25Block); + $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); + $nF25 = $context->builder->siToFp($n, $f64); + $hundredthF25 = $context->builder->fmul($sixtyfourthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF25 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok25Block); + $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfourthLong, + $n + ); + $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); + if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyfifth)'); + } + $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind + ? $context->builder->load($sixtyfifthVar->value) + : $sixtyfifthVar->value; + $ov26Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfifth_ov'); + $ok26Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfifth_ok'); + $context->builder->branchIf($ov26, $ov26Block, $ok26Block); + + $context->builder->positionAtEnd($ov26Block); + $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); + $nF26 = $context->builder->siToFp($n, $f64); + $hundredthF26 = $context->builder->fmul($sixtyfifthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF26 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok26Block); + $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfifthLong, + $n + ); + $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); + if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtysixth)'); + } + $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind + ? $context->builder->load($sixtysixthVar->value) + : $sixtysixthVar->value; + $ov27Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysixth_ov'); + $ok27Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysixth_ok'); + $context->builder->branchIf($ov27, $ov27Block, $ok27Block); + + $context->builder->positionAtEnd($ov27Block); + $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); + $nF27 = $context->builder->siToFp($n, $f64); + $hundredthF27 = $context->builder->fmul($sixtysixthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF27 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok27Block); + $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysixthLong, + $n + ); + $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); + if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyseventh)'); + } + $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind + ? $context->builder->load($sixtyseventhVar->value) + : $sixtyseventhVar->value; + $ov28Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyseventh_ov'); + $ok28Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyseventh_ok'); + $context->builder->branchIf($ov28, $ov28Block, $ok28Block); + + $context->builder->positionAtEnd($ov28Block); + $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); + $nF28 = $context->builder->siToFp($n, $f64); + $hundredthF28 = $context->builder->fmul($sixtyseventhF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF28 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok28Block); + $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyseventhLong, + $n + ); + $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); + if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyeighth)'); + } + $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind + ? $context->builder->load($sixtyeighthVar->value) + : $sixtyeighthVar->value; + $ov29Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyeighth_ov'); + $ok29Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyeighth_ok'); + $context->builder->branchIf($ov29, $ov29Block, $ok29Block); + + $context->builder->positionAtEnd($ov29Block); + $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); + $nF29 = $context->builder->siToFp($n, $f64); + $hundredthF29 = $context->builder->fmul($sixtyeighthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF29 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok29Block); + $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyeighthLong, + $n + ); + $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); + if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyninth)'); + } + $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind + ? $context->builder->load($sixtyninthVar->value) + : $sixtyninthVar->value; + $ov30Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyninth_ov'); + $ok30Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyninth_ok'); + $context->builder->branchIf($ov30, $ov30Block, $ok30Block); + + $context->builder->positionAtEnd($ov30Block); + $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); + $nF30 = $context->builder->siToFp($n, $f64); + $hundredthF30 = $context->builder->fmul($sixtyninthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF30 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok30Block); + $seventiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyninthLong, + $n + ); + $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); + if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventieth)'); + } + $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind + ? $context->builder->load($seventiethVar->value) + : $seventiethVar->value; + $ov31Block = BasicBlockHelper::append($context, 'pow_hundredth_seventieth_ov'); + $ok31Block = BasicBlockHelper::append($context, 'pow_hundredth_seventieth_ok'); + $context->builder->branchIf($ov31, $ov31Block, $ok31Block); + + $context->builder->positionAtEnd($ov31Block); + $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); + $nF31 = $context->builder->siToFp($n, $f64); + $hundredthF31 = $context->builder->fmul($seventiethF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF31 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok31Block); + $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventiethLong, + $n + ); + $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); + if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventyfirst)'); + } + $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind + ? $context->builder->load($seventyfirstVar->value) + : $seventyfirstVar->value; + $ov32Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfirst_ov'); + $ok32Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfirst_ok'); + $context->builder->branchIf($ov32, $ov32Block, $ok32Block); + + $context->builder->positionAtEnd($ov32Block); + $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); + $nF32 = $context->builder->siToFp($n, $f64); + $hundredthF32 = $context->builder->fmul($seventyfirstF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF32 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok32Block); + $seventysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfirstLong, + $n + ); + $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); + if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventysecond)'); + } + $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind + ? $context->builder->load($seventysecondVar->value) + : $seventysecondVar->value; + $ov33Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysecond_ov'); + $ok33Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysecond_ok'); + $context->builder->branchIf($ov33, $ov33Block, $ok33Block); + + $context->builder->positionAtEnd($ov33Block); + $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); + $nF33 = $context->builder->siToFp($n, $f64); + $hundredthF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredthF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF33 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok33Block); + $seventythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysecondLong, + $n + ); + $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); + if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventythird)'); + } + $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind + ? $context->builder->load($seventythirdVar->value) + : $seventythirdVar->value; + $ov34Block = BasicBlockHelper::append($context, 'pow_hundredth_seventythird_ov'); + $ok34Block = BasicBlockHelper::append($context, 'pow_hundredth_seventythird_ok'); + $context->builder->branchIf($ov34, $ov34Block, $ok34Block); + + $context->builder->positionAtEnd($ov34Block); + $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); + $nF34 = $context->builder->siToFp($n, $f64); + $hundredthF34 = $context->builder->fmul($seventythirdF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF34 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok34Block); + $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventythirdLong, + $n + ); + $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); + if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventyfourth)'); + } + $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind + ? $context->builder->load($seventyfourthVar->value) + : $seventyfourthVar->value; + $ov35Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfourth_ov'); + $ok35Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfourth_ok'); + $context->builder->branchIf($ov35, $ov35Block, $ok35Block); + + $context->builder->positionAtEnd($ov35Block); + $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); + $nF35 = $context->builder->siToFp($n, $f64); + $hundredthF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredthF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF35 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok35Block); + $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfourthLong, + $n + ); + $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); + if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventyfifth)'); + } + $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind + ? $context->builder->load($seventyfifthVar->value) + : $seventyfifthVar->value; + $ov36Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfifth_ov'); + $ok36Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfifth_ok'); + $context->builder->branchIf($ov36, $ov36Block, $ok36Block); + + $context->builder->positionAtEnd($ov36Block); + $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); + $nF36 = $context->builder->siToFp($n, $f64); + $hundredthF36 = $context->builder->fmul($seventyfifthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF36 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok36Block); + $seventysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfifthLong, + $n + ); + $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); + if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventysixth)'); + } + $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind + ? $context->builder->load($seventysixthVar->value) + : $seventysixthVar->value; + $ov37Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysixth_ov'); + $ok37Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysixth_ok'); + $context->builder->branchIf($ov37, $ov37Block, $ok37Block); + + $context->builder->positionAtEnd($ov37Block); + $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); + $nF37 = $context->builder->siToFp($n, $f64); + $hundredthF37 = $context->builder->fmul($seventysixthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF37 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok37Block); + $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysixthLong, + $n + ); + $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); + if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventyseventh)'); + } + $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind + ? $context->builder->load($seventyseventhVar->value) + : $seventyseventhVar->value; + $ov38Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyseventh_ov'); + $ok38Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyseventh_ok'); + $context->builder->branchIf($ov38, $ov38Block, $ok38Block); + + $context->builder->positionAtEnd($ov38Block); + $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); + $nF38 = $context->builder->siToFp($n, $f64); + $hundredthF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredthF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF38 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok38Block); + $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyseventhLong, + $n + ); + $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); + if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventyeighth)'); + } + $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind + ? $context->builder->load($seventyeighthVar->value) + : $seventyeighthVar->value; + $ov39Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyeighth_ov'); + $ok39Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyeighth_ok'); + $context->builder->branchIf($ov39, $ov39Block, $ok39Block); + + $context->builder->positionAtEnd($ov39Block); + $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); + $nF39 = $context->builder->siToFp($n, $f64); + $hundredthF39 = $context->builder->fmul($seventyeighthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF39 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok39Block); + $seventyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyeighthLong, + $n + ); + $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); + if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (seventyninth)'); + } + $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind + ? $context->builder->load($seventyninthVar->value) + : $seventyninthVar->value; + $ov40Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyninth_ov'); + $ok40Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyninth_ok'); + $context->builder->branchIf($ov40, $ov40Block, $ok40Block); + + $context->builder->positionAtEnd($ov40Block); + $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); + $nF40 = $context->builder->siToFp($n, $f64); + $hundredthF40 = $context->builder->fmul($seventyninthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF40 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok40Block); + $eightiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyninthLong, + $n + ); + $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); + if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightieth)'); + } + $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind + ? $context->builder->load($eightiethVar->value) + : $eightiethVar->value; + $ov41Block = BasicBlockHelper::append($context, 'pow_hundredth_eightieth_ov'); + $ok41Block = BasicBlockHelper::append($context, 'pow_hundredth_eightieth_ok'); + $context->builder->branchIf($ov41, $ov41Block, $ok41Block); + + $context->builder->positionAtEnd($ov41Block); + $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); + $nF41 = $context->builder->siToFp($n, $f64); + $hundredthF41 = $context->builder->fmul($eightiethF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF41 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok41Block); + $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightiethLong, + $n + ); + $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); + if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightyfirst)'); + } + $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind + ? $context->builder->load($eightyfirstVar->value) + : $eightyfirstVar->value; + $ov42Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfirst_ov'); + $ok42Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfirst_ok'); + $context->builder->branchIf($ov42, $ov42Block, $ok42Block); + + $context->builder->positionAtEnd($ov42Block); + $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); + $nF42 = $context->builder->siToFp($n, $f64); + $hundredthF42 = $context->builder->fmul($eightyfirstF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF42 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok42Block); + $eightysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfirstLong, + $n + ); + $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); + if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightysecond)'); + } + $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind + ? $context->builder->load($eightysecondVar->value) + : $eightysecondVar->value; + $ov43Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysecond_ov'); + $ok43Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysecond_ok'); + $context->builder->branchIf($ov43, $ov43Block, $ok43Block); + + $context->builder->positionAtEnd($ov43Block); + $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); + $nF43 = $context->builder->siToFp($n, $f64); + $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF43 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok43Block); + $eightythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysecondLong, + $n + ); + $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); + if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightythird)'); + } + $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind + ? $context->builder->load($eightythirdVar->value) + : $eightythirdVar->value; + $ov44Block = BasicBlockHelper::append($context, 'pow_hundredth_eightythird_ov'); + $ok44Block = BasicBlockHelper::append($context, 'pow_hundredth_eightythird_ok'); + $context->builder->branchIf($ov44, $ov44Block, $ok44Block); + + $context->builder->positionAtEnd($ov44Block); + $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); + $nF44 = $context->builder->siToFp($n, $f64); + $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF44 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok44Block); + $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightythirdLong, + $n + ); + $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); + if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightyfourth)'); + } + $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind + ? $context->builder->load($eightyfourthVar->value) + : $eightyfourthVar->value; + $ov45Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfourth_ov'); + $ok45Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfourth_ok'); + $context->builder->branchIf($ov45, $ov45Block, $ok45Block); + + $context->builder->positionAtEnd($ov45Block); + $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); + $nF45 = $context->builder->siToFp($n, $f64); + $hundredthF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredthF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredthF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF45 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok45Block); + $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfourthLong, + $n + ); + $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); + if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightyfifth)'); + } + $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind + ? $context->builder->load($eightyfifthVar->value) + : $eightyfifthVar->value; + $ov46Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfifth_ov'); + $ok46Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfifth_ok'); + $context->builder->branchIf($ov46, $ov46Block, $ok46Block); + + $context->builder->positionAtEnd($ov46Block); + $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); + $nF46 = $context->builder->siToFp($n, $f64); + $hundredthF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredthF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF46 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok46Block); + $eightysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfifthLong, + $n + ); + $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); + if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightysixth)'); + } + $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind + ? $context->builder->load($eightysixthVar->value) + : $eightysixthVar->value; + $ov47Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysixth_ov'); + $ok47Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysixth_ok'); + $context->builder->branchIf($ov47, $ov47Block, $ok47Block); + + $context->builder->positionAtEnd($ov47Block); + $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); + $nF47 = $context->builder->siToFp($n, $f64); + $hundredthF47 = $context->builder->fmul($eightysixthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF47 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok47Block); + + $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysixthLong, + $n + ); + $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); + if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightyseventh)'); + } + $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind + ? $context->builder->load($eightyseventhVar->value) + : $eightyseventhVar->value; + $ov48Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyseventh_ov'); + $ok48Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyseventh_ok'); + $context->builder->branchIf($ov48, $ov48Block, $ok48Block); + + $context->builder->positionAtEnd($ov48Block); + $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); + $nF48 = $context->builder->siToFp($n, $f64); + $hundredthF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredthF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); + $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); + $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); + $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); + $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); + $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF48 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok48Block); + $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyseventhLong, + $n + ); + $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); + if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightyeighth)'); + } + $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind + ? $context->builder->load($eightyeighthVar->value) + : $eightyeighthVar->value; + $ov49Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyeighth_ov'); + $ok49Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyeighth_ok'); + $context->builder->branchIf($ov49, $ov49Block, $ok49Block); + + $context->builder->positionAtEnd($ov49Block); + $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); + $nF49 = $context->builder->siToFp($n, $f64); + $hundredthF49 = $context->builder->fmul($eightyeighthF49, $nF49); + $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); + $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); + $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); + $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); + $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); + $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF49 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok49Block); + $eightyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyeighthLong, + $n + ); + $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); + if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (eightyninth)'); + } + $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind + ? $context->builder->load($eightyninthVar->value) + : $eightyninthVar->value; + $ov50Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyninth_ov'); + $ok50Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyninth_ok'); + $context->builder->branchIf($ov50, $ov50Block, $ok50Block); + + $context->builder->positionAtEnd($ov50Block); + $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); + $nF50 = $context->builder->siToFp($n, $f64); + $hundredthF50 = $context->builder->fmul($eightyninthF50, $nF50); + $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); + $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); + $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); + $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); + $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF50 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok50Block); + $ninetiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyninthLong, + $n + ); + $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); + if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetieth)'); + } + $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind + ? $context->builder->load($ninetiethVar->value) + : $ninetiethVar->value; + $ov51Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetieth_ov'); + $ok51Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetieth_ok'); + $context->builder->branchIf($ov51, $ov51Block, $ok51Block); + + $context->builder->positionAtEnd($ov51Block); + $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); + $nF51 = $context->builder->siToFp($n, $f64); + $hundredthF51 = $context->builder->fmul($ninetiethF51, $nF51); + $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); + $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); + $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); + $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF51 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok51Block); + $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetiethLong, + $n + ); + $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); + if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyfirst)'); + } + $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind + ? $context->builder->load($ninetyfirstVar->value) + : $ninetyfirstVar->value; + $ov52Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfirst_ov'); + $ok52Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfirst_ok'); + $context->builder->branchIf($ov52, $ov52Block, $ok52Block); + + $context->builder->positionAtEnd($ov52Block); + $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); + $nF52 = $context->builder->siToFp($n, $f64); + $hundredthF52 = $context->builder->fmul($ninetyfirstF52, $nF52); + $hundredthF52 = $context->builder->fmul($hundredthF52, $nF52); + $hundredthF52 = $context->builder->fmul($hundredthF52, $nF52); + $hundredthF52 = $context->builder->fmul($hundredthF52, $nF52); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF52 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok52Block); + $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfirstLong, + $n + ); + $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); + if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetysecond)'); + } + $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind + ? $context->builder->load($ninetysecondVar->value) + : $ninetysecondVar->value; + $ov53Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysecond_ov'); + $ok53Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysecond_ok'); + $context->builder->branchIf($ov53, $ov53Block, $ok53Block); + + $context->builder->positionAtEnd($ov53Block); + $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); + $nF53 = $context->builder->siToFp($n, $f64); + $hundredthF53 = $context->builder->fmul($ninetysecondF53, $nF53); + $hundredthF53 = $context->builder->fmul($hundredthF53, $nF53); + $hundredthF53 = $context->builder->fmul($hundredthF53, $nF53); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF53 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok53Block); + $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysecondLong, + $n + ); + $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); + if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetythird)'); + } + $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind + ? $context->builder->load($ninetythirdVar->value) + : $ninetythirdVar->value; + $ov54Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetythird_ov'); + $ok54Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetythird_ok'); + $context->builder->branchIf($ov54, $ov54Block, $ok54Block); + + $context->builder->positionAtEnd($ov54Block); + $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); + $nF54 = $context->builder->siToFp($n, $f64); + $hundredthF54 = $context->builder->fmul($ninetythirdF54, $nF54); + $hundredthF54 = $context->builder->fmul($hundredthF54, $nF54); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF54 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok54Block); + $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetythirdLong, + $n + ); + $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); + if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyfourth)'); + } + $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind + ? $context->builder->load($ninetyfourthVar->value) + : $ninetyfourthVar->value; + $ov55Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfourth_ov'); + $ok55Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfourth_ok'); + $context->builder->branchIf($ov55, $ov55Block, $ok55Block); + + $context->builder->positionAtEnd($ov55Block); + $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); + $nF55 = $context->builder->siToFp($n, $f64); + $hundredthF55 = $context->builder->fmul($ninetyfourthF55, $nF55); + $hundredthF55 = $context->builder->fmul($hundredthF55, $nF55); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF55 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok55Block); + + $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfourthLong, + $n + ); + $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); + if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyfifth)'); + } + $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind + ? $context->builder->load($ninetyfifthVar->value) + : $ninetyfifthVar->value; + $ov56Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfifth_ov'); + $ok56Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfifth_ok'); + $context->builder->branchIf($ov56, $ov56Block, $ok56Block); + + $context->builder->positionAtEnd($ov56Block); + $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); + $nF56 = $context->builder->siToFp($n, $f64); + $hundredthF56 = $context->builder->fmul($ninetyfifthF56, $nF56); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF56 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok56Block); + $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfifthLong, + $n + ); + $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); + if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetysixth)'); + } + $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind + ? $context->builder->load($ninetysixthVar->value) + : $ninetysixthVar->value; + $ov57Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysixth_ov'); + $ok57Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysixth_ok'); + $context->builder->branchIf($ov57, $ov57Block, $ok57Block); + + $context->builder->positionAtEnd($ov57Block); + $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); + $nF57 = $context->builder->siToFp($n, $f64); + $hundredthF57 = $context->builder->fmul($ninetysixthF57, $nF57); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF57 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok57Block); + $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysixthLong, + $n + ); + $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); + if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyseventh)'); + } + $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind + ? $context->builder->load($ninetyseventhVar->value) + : $ninetyseventhVar->value; + $ov58Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyseventh_ov'); + $ok58Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyseventh_ok'); + $context->builder->branchIf($ov58, $ov58Block, $ok58Block); + + $context->builder->positionAtEnd($ov58Block); + $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); + $nF58 = $context->builder->siToFp($n, $f64); + $hundredthF58 = $context->builder->fmul($ninetyseventhF58, $nF58); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF58 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok58Block); + $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyseventhLong, + $n + ); + $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); + if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyeighth)'); + } + $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind + ? $context->builder->load($ninetyeighthVar->value) + : $ninetyeighthVar->value; + $ov59Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyeighth_ov'); + $ok59Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyeighth_ok'); + $context->builder->branchIf($ov59, $ov59Block, $ok59Block); + + $context->builder->positionAtEnd($ov59Block); + $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); + $nF59 = $context->builder->siToFp($n, $f64); + $hundredthF59 = $context->builder->fmul($ninetyeighthF59, $nF59); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF59 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok59Block); + $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyeighthLong, + $n + ); + $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); + if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyninth)'); + } + $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind + ? $context->builder->load($ninetyninthVar->value) + : $ninetyninthVar->value; + $ov60Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyninth_ov'); + $ok60Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyninth_ok'); + $context->builder->branchIf($ov60, $ov60Block, $ok60Block); + + $context->builder->positionAtEnd($ov60Block); + $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); + $nF60 = $context->builder->siToFp($n, $f64); + $hundredthF60 = $context->builder->fmul($ninetyninthF60, $nF60); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthF60 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok60Block); + JitLongArithOverflow::writeBoxedBinary( + $context, + OpCode::TYPE_MUL, + $ninetyninthLong, + $n, + $slotPtr + ); + $context->builder->branch($doneBlock); + + + $context->builder->positionAtEnd($doneBlock); + + return true; + } + + if ('hundredfirst' === $expFold) { + // n^101 = hundredth*n; overflow arms +1 ×nF vs **100. + // tenth=fifth*fifth, twentieth=tenth*tenth, + // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, + // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). + // Overflow arms finish in float with one extra ×nF vs **101. + $baseL = JitLongArg::lower($context, $base, 'pow() base'); + $i64 = $context->getTypeFromString('int64'); + $f64 = $context->getTypeFromString('double'); + $n = $context->builder->intCast($baseL, $i64); + $sqVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $n, + $n + ); + $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); + if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sq)'); + } + $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind + ? $context->builder->load($sqVar->value) + : $sqVar->value; + $ov1Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sq_ov'); + $ok1Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sq_ok'); + $doneBlock = BasicBlockHelper::append($context, 'pow_hundredfirst_done'); + $context->builder->branchIf($ov1, $ov1Block, $ok1Block); + + $context->builder->positionAtEnd($ov1Block); + $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); + $sq2F = $context->builder->fmul($sqF, $sqF); + $sq4F = $context->builder->fmul($sq2F, $sq2F); + $sq8F = $context->builder->fmul($sq4F, $sq4F); + $twentiethF = $context->builder->fmul($sq8F, $sq2F); + $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); + $fortysecondF = $context->builder->fmul($fortiethF, $sqF); + $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); + $hundredfirstFSq = $context->builder->fmul($fortyfourthF, $sqF); + $hundredfirstFEighth = $context->builder->fmul($hundredfirstFSq, $sqF); + $hundredfirstF = $context->builder->fmul($hundredfirstFEighth, $sqF); + $nF = $context->builder->siToFp($n, $f64); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok1Block); + $cuVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sqLong, + $n + ); + $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); + if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (cu)'); + } + $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind + ? $context->builder->load($cuVar->value) + : $cuVar->value; + $ov2Block = BasicBlockHelper::append($context, 'pow_hundredfirst_cu_ov'); + $ok2Block = BasicBlockHelper::append($context, 'pow_hundredfirst_cu_ok'); + $context->builder->branchIf($ov2, $ov2Block, $ok2Block); + + $context->builder->positionAtEnd($ov2Block); + $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); + $sqF2 = $context->builder->siToFp($sqLong, $f64); + $fifthF = $context->builder->fmul($cuF, $sqF2); + $tenthF2 = $context->builder->fmul($fifthF, $fifthF); + $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); + $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); + $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); + $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); + $hundredfirstF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); + $hundredfirstF2Eighth = $context->builder->fmul($hundredfirstF2Sq, $sqF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2Eighth, $sqF2); + $nF2 = $context->builder->siToFp($n, $f64); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF2 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok2Block); + $fifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $cuLong, + $sqLong + ); + $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); + if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fifth)'); + } + $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind + ? $context->builder->load($fifthVar->value) + : $fifthVar->value; + $ov3Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fifth_ov'); + $ok3Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fifth_ok'); + $context->builder->branchIf($ov3, $ov3Block, $ok3Block); + + $context->builder->positionAtEnd($ov3Block); + $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); + $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); + $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); + $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); + $sqF3 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); + $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); + $hundredfirstF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); + $hundredfirstF3Eighth = $context->builder->fmul($hundredfirstF3Sq, $sqF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3Eighth, $sqF3); + $nF3 = $context->builder->siToFp($n, $f64); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF3 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok3Block); + $tenthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fifthLong, + $fifthLong + ); + $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); + if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (tenth)'); + } + $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind + ? $context->builder->load($tenthVar->value) + : $tenthVar->value; + $ov4Block = BasicBlockHelper::append($context, 'pow_hundredfirst_tenth_ov'); + $ok4Block = BasicBlockHelper::append($context, 'pow_hundredfirst_tenth_ok'); + $context->builder->branchIf($ov4, $ov4Block, $ok4Block); + + $context->builder->positionAtEnd($ov4Block); + $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); + $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); + $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); + $sqF4 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); + $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); + $hundredfirstF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); + $hundredfirstF4Eighth = $context->builder->fmul($hundredfirstF4Sq, $sqF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4Eighth, $sqF4); + $nF4 = $context->builder->siToFp($n, $f64); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF4 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok4Block); + $twentiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $tenthLong, + $tenthLong + ); + $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); + if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (twentieth)'); + } + $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind + ? $context->builder->load($twentiethVar->value) + : $twentiethVar->value; + $ov5Block = BasicBlockHelper::append($context, 'pow_hundredfirst_twentieth_ov'); + $ok5Block = BasicBlockHelper::append($context, 'pow_hundredfirst_twentieth_ok'); + $context->builder->branchIf($ov5, $ov5Block, $ok5Block); + + $context->builder->positionAtEnd($ov5Block); + $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); + $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); + $sqF5 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); + $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); + $hundredfirstF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); + $hundredfirstF5Eighth = $context->builder->fmul($hundredfirstF5Sq, $sqF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5Eighth, $sqF5); + $nF5 = $context->builder->siToFp($n, $f64); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF5 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok5Block); + $fortiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $twentiethLong, + $twentiethLong + ); + $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); + if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fortieth)'); + } + $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind + ? $context->builder->load($fortiethVar->value) + : $fortiethVar->value; + $ov6Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortieth_ov'); + $ok6Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortieth_ok'); + $context->builder->branchIf($ov6, $ov6Block, $ok6Block); + + $context->builder->positionAtEnd($ov6Block); + $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); + $sqF6 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); + $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); + $hundredfirstF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); + $hundredfirstF6Eighth = $context->builder->fmul($hundredfirstF6Sq, $sqF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6Eighth, $sqF6); + $nF6 = $context->builder->siToFp($n, $f64); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF6 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok6Block); + $fortysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortiethLong, + $sqLong + ); + $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); + if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fortysecond)'); + } + $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind + ? $context->builder->load($fortysecondVar->value) + : $fortysecondVar->value; + $ov7Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysecond_ov'); + $ok7Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysecond_ok'); + $context->builder->branchIf($ov7, $ov7Block, $ok7Block); + + $context->builder->positionAtEnd($ov7Block); + $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); + $sqF7 = $context->builder->siToFp($sqLong, $f64); + $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); + $hundredfirstF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); + $hundredfirstF7Eighth = $context->builder->fmul($hundredfirstF7Sq, $sqF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7Eighth, $sqF7); + $nF7 = $context->builder->siToFp($n, $f64); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF7 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok7Block); + $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysecondLong, + $sqLong + ); + $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); + if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fortyfourth)'); + } + $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind + ? $context->builder->load($fortyfourthVar->value) + : $fortyfourthVar->value; + $ov8Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyfourth_ov'); + $ok8Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyfourth_ok'); + $context->builder->branchIf($ov8, $ov8Block, $ok8Block); + + $context->builder->positionAtEnd($ov8Block); + $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); + $sqF8 = $context->builder->siToFp($sqLong, $f64); + $hundredfirstF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); + $hundredfirstF8Eighth = $context->builder->fmul($hundredfirstF8Sq, $sqF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8Eighth, $sqF8); + $nF8 = $context->builder->siToFp($n, $f64); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF8 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok8Block); + $fortysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyfourthLong, + $sqLong + ); + $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); + if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fortysixth)'); + } + $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind + ? $context->builder->load($fortysixthVar->value) + : $fortysixthVar->value; + $ov9Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysixth_ov'); + $ok9Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysixth_ok'); + $context->builder->branchIf($ov9, $ov9Block, $ok9Block); + + $context->builder->positionAtEnd($ov9Block); + $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); + $sqF9 = $context->builder->siToFp($sqLong, $f64); + $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); + $hundredfirstF9 = $context->builder->fmul($fortyeighthF9, $sqF9); + $nF9 = $context->builder->siToFp($n, $f64); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF9 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok9Block); + $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysixthLong, + $sqLong + ); + $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); + if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fortyeighth)'); + } + $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind + ? $context->builder->load($fortyeighthVar->value) + : $fortyeighthVar->value; + $ov10Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyeighth_ov'); + $ok10Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyeighth_ok'); + $context->builder->branchIf($ov10, $ov10Block, $ok10Block); + + $context->builder->positionAtEnd($ov10Block); + $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); + $sqF10 = $context->builder->siToFp($sqLong, $f64); + $hundredfirstF10 = $context->builder->fmul($fortyeighthF10, $sqF10); + $nF10 = $context->builder->siToFp($n, $f64); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF10 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok10Block); + $fiftiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyeighthLong, + $sqLong + ); + $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); + if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftieth)'); + } + $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind + ? $context->builder->load($fiftiethVar->value) + : $fiftiethVar->value; + $ov11Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftieth_ov'); + $ok11Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftieth_ok'); + $context->builder->branchIf($ov11, $ov11Block, $ok11Block); + + $context->builder->positionAtEnd($ov11Block); + $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); + $nF11 = $context->builder->siToFp($n, $f64); + $hundredfirstF11 = $context->builder->fmul($fiftiethF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF11 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok11Block); + $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftiethLong, + $n + ); + $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); + if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyfirst)'); + } + $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind + ? $context->builder->load($fiftyfirstVar->value) + : $fiftyfirstVar->value; + $ov12Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfirst_ov'); + $ok12Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfirst_ok'); + $context->builder->branchIf($ov12, $ov12Block, $ok12Block); + + $context->builder->positionAtEnd($ov12Block); + $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); + $nF12 = $context->builder->siToFp($n, $f64); + $hundredfirstF12 = $context->builder->fmul($fiftyfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF12 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok12Block); + $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfirstLong, + $n + ); + $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); + if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftysecond)'); + } + $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind + ? $context->builder->load($fiftysecondVar->value) + : $fiftysecondVar->value; + $ov13Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysecond_ov'); + $ok13Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysecond_ok'); + $context->builder->branchIf($ov13, $ov13Block, $ok13Block); + + $context->builder->positionAtEnd($ov13Block); + $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); + $nF13 = $context->builder->siToFp($n, $f64); + $hundredfirstF13 = $context->builder->fmul($fiftysecondF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF13 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok13Block); + $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysecondLong, + $n + ); + $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); + if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftythird)'); + } + $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind + ? $context->builder->load($fiftythirdVar->value) + : $fiftythirdVar->value; + $ov14Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftythird_ov'); + $ok14Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftythird_ok'); + $context->builder->branchIf($ov14, $ov14Block, $ok14Block); + + $context->builder->positionAtEnd($ov14Block); + $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); + $nF14 = $context->builder->siToFp($n, $f64); + $hundredfirstF14 = $context->builder->fmul($fiftythirdF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF14 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok14Block); + $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftythirdLong, + $n + ); + $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); + if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyfourth)'); + } + $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind + ? $context->builder->load($fiftyfourthVar->value) + : $fiftyfourthVar->value; + $ov15Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfourth_ov'); + $ok15Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfourth_ok'); + $context->builder->branchIf($ov15, $ov15Block, $ok15Block); + + $context->builder->positionAtEnd($ov15Block); + $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); + $nF15 = $context->builder->siToFp($n, $f64); + $hundredfirstF15 = $context->builder->fmul($fiftyfourthF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF15 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok15Block); + $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfourthLong, + $n + ); + $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); + if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyfifth)'); + } + $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind + ? $context->builder->load($fiftyfifthVar->value) + : $fiftyfifthVar->value; + $ov16Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfifth_ov'); + $ok16Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfifth_ok'); + $context->builder->branchIf($ov16, $ov16Block, $ok16Block); + + $context->builder->positionAtEnd($ov16Block); + $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); + $nF16 = $context->builder->siToFp($n, $f64); + $hundredfirstF16 = $context->builder->fmul($fiftyfifthF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF16 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok16Block); + $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfifthLong, + $n + ); + $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); + if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftysixth)'); + } + $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind + ? $context->builder->load($fiftysixthVar->value) + : $fiftysixthVar->value; + $ov17Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysixth_ov'); + $ok17Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysixth_ok'); + $context->builder->branchIf($ov17, $ov17Block, $ok17Block); + + $context->builder->positionAtEnd($ov17Block); + $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); + $nF17 = $context->builder->siToFp($n, $f64); + $hundredfirstF17 = $context->builder->fmul($fiftysixthF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF17 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok17Block); + $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysixthLong, + $n + ); + $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); + if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyseventh)'); + } + $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind + ? $context->builder->load($fiftyseventhVar->value) + : $fiftyseventhVar->value; + $ov18Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyseventh_ov'); + $ok18Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyseventh_ok'); + $context->builder->branchIf($ov18, $ov18Block, $ok18Block); + + $context->builder->positionAtEnd($ov18Block); + $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); + $nF18 = $context->builder->siToFp($n, $f64); + $hundredfirstF18 = $context->builder->fmul($fiftyseventhF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF18 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok18Block); + $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyseventhLong, + $n + ); + $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); + if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyeighth)'); + } + $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind + ? $context->builder->load($fiftyeighthVar->value) + : $fiftyeighthVar->value; + $ov19Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyeighth_ov'); + $ok19Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyeighth_ok'); + $context->builder->branchIf($ov19, $ov19Block, $ok19Block); + + $context->builder->positionAtEnd($ov19Block); + $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); + $nF19 = $context->builder->siToFp($n, $f64); + $hundredfirstF19 = $context->builder->fmul($fiftyeighthF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF19 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok19Block); + $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyeighthLong, + $n + ); + $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); + if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyninth)'); + } + $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind + ? $context->builder->load($fiftyninthVar->value) + : $fiftyninthVar->value; + $ov20Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyninth_ov'); + $ok20Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyninth_ok'); + $context->builder->branchIf($ov20, $ov20Block, $ok20Block); + + $context->builder->positionAtEnd($ov20Block); + $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); + $nF20 = $context->builder->siToFp($n, $f64); + $hundredfirstF20 = $context->builder->fmul($fiftyninthF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF20 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok20Block); + $sixtiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyninthLong, + $n + ); + $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); + if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtieth)'); + } + $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind + ? $context->builder->load($sixtiethVar->value) + : $sixtiethVar->value; + $ov21Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtieth_ov'); + $ok21Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtieth_ok'); + $context->builder->branchIf($ov21, $ov21Block, $ok21Block); + + $context->builder->positionAtEnd($ov21Block); + $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); + $nF21 = $context->builder->siToFp($n, $f64); + $hundredfirstF21 = $context->builder->fmul($sixtiethF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF21 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok21Block); + $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtiethLong, + $n + ); + $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); + if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyfirst)'); + } + $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind + ? $context->builder->load($sixtyfirstVar->value) + : $sixtyfirstVar->value; + $ov22Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfirst_ov'); + $ok22Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfirst_ok'); + $context->builder->branchIf($ov22, $ov22Block, $ok22Block); + + $context->builder->positionAtEnd($ov22Block); + $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); + $nF22 = $context->builder->siToFp($n, $f64); + $hundredfirstF22 = $context->builder->fmul($sixtyfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF22 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok22Block); + $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfirstLong, + $n + ); + $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); + if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtysecond)'); + } + $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind + ? $context->builder->load($sixtysecondVar->value) + : $sixtysecondVar->value; + $ov23Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysecond_ov'); + $ok23Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysecond_ok'); + $context->builder->branchIf($ov23, $ov23Block, $ok23Block); + + $context->builder->positionAtEnd($ov23Block); + $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); + $nF23 = $context->builder->siToFp($n, $f64); + $hundredfirstF23 = $context->builder->fmul($sixtysecondF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF23 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok23Block); + $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysecondLong, + $n + ); + $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); + if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtythird)'); + } + $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind + ? $context->builder->load($sixtythirdVar->value) + : $sixtythirdVar->value; + $ov24Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtythird_ov'); + $ok24Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtythird_ok'); + $context->builder->branchIf($ov24, $ov24Block, $ok24Block); + + $context->builder->positionAtEnd($ov24Block); + $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); + $nF24 = $context->builder->siToFp($n, $f64); + $hundredfirstF24 = $context->builder->fmul($sixtythirdF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF24 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok24Block); + $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtythirdLong, + $n + ); + $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); + if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyfourth)'); + } + $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind + ? $context->builder->load($sixtyfourthVar->value) + : $sixtyfourthVar->value; + $ov25Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfourth_ov'); + $ok25Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfourth_ok'); + $context->builder->branchIf($ov25, $ov25Block, $ok25Block); + + $context->builder->positionAtEnd($ov25Block); + $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); + $nF25 = $context->builder->siToFp($n, $f64); + $hundredfirstF25 = $context->builder->fmul($sixtyfourthF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF25 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok25Block); + $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfourthLong, + $n + ); + $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); + if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyfifth)'); + } + $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind + ? $context->builder->load($sixtyfifthVar->value) + : $sixtyfifthVar->value; + $ov26Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfifth_ov'); + $ok26Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfifth_ok'); + $context->builder->branchIf($ov26, $ov26Block, $ok26Block); + + $context->builder->positionAtEnd($ov26Block); + $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); + $nF26 = $context->builder->siToFp($n, $f64); + $hundredfirstF26 = $context->builder->fmul($sixtyfifthF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF26 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok26Block); + $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfifthLong, + $n + ); + $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); + if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtysixth)'); + } + $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind + ? $context->builder->load($sixtysixthVar->value) + : $sixtysixthVar->value; + $ov27Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysixth_ov'); + $ok27Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysixth_ok'); + $context->builder->branchIf($ov27, $ov27Block, $ok27Block); + + $context->builder->positionAtEnd($ov27Block); + $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); + $nF27 = $context->builder->siToFp($n, $f64); + $hundredfirstF27 = $context->builder->fmul($sixtysixthF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF27 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok27Block); + $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysixthLong, + $n + ); + $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); + if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyseventh)'); + } + $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind + ? $context->builder->load($sixtyseventhVar->value) + : $sixtyseventhVar->value; + $ov28Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyseventh_ov'); + $ok28Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyseventh_ok'); + $context->builder->branchIf($ov28, $ov28Block, $ok28Block); + + $context->builder->positionAtEnd($ov28Block); + $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); + $nF28 = $context->builder->siToFp($n, $f64); + $hundredfirstF28 = $context->builder->fmul($sixtyseventhF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF28 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok28Block); + $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyseventhLong, + $n + ); + $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); + if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyeighth)'); + } + $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind + ? $context->builder->load($sixtyeighthVar->value) + : $sixtyeighthVar->value; + $ov29Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyeighth_ov'); + $ok29Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyeighth_ok'); + $context->builder->branchIf($ov29, $ov29Block, $ok29Block); + + $context->builder->positionAtEnd($ov29Block); + $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); + $nF29 = $context->builder->siToFp($n, $f64); + $hundredfirstF29 = $context->builder->fmul($sixtyeighthF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF29 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok29Block); + $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyeighthLong, + $n + ); + $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); + if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyninth)'); + } + $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind + ? $context->builder->load($sixtyninthVar->value) + : $sixtyninthVar->value; + $ov30Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyninth_ov'); + $ok30Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyninth_ok'); + $context->builder->branchIf($ov30, $ov30Block, $ok30Block); + + $context->builder->positionAtEnd($ov30Block); + $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); + $nF30 = $context->builder->siToFp($n, $f64); + $hundredfirstF30 = $context->builder->fmul($sixtyninthF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF30 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok30Block); + $seventiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyninthLong, + $n + ); + $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); + if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventieth)'); + } + $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind + ? $context->builder->load($seventiethVar->value) + : $seventiethVar->value; + $ov31Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventieth_ov'); + $ok31Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventieth_ok'); + $context->builder->branchIf($ov31, $ov31Block, $ok31Block); + + $context->builder->positionAtEnd($ov31Block); + $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); + $nF31 = $context->builder->siToFp($n, $f64); + $hundredfirstF31 = $context->builder->fmul($seventiethF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF31 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok31Block); + $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventiethLong, + $n + ); + $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); + if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventyfirst)'); + } + $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind + ? $context->builder->load($seventyfirstVar->value) + : $seventyfirstVar->value; + $ov32Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfirst_ov'); + $ok32Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfirst_ok'); + $context->builder->branchIf($ov32, $ov32Block, $ok32Block); + + $context->builder->positionAtEnd($ov32Block); + $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); + $nF32 = $context->builder->siToFp($n, $f64); + $hundredfirstF32 = $context->builder->fmul($seventyfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF32 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok32Block); + $seventysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfirstLong, + $n + ); + $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); + if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventysecond)'); + } + $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind + ? $context->builder->load($seventysecondVar->value) + : $seventysecondVar->value; + $ov33Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysecond_ov'); + $ok33Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysecond_ok'); + $context->builder->branchIf($ov33, $ov33Block, $ok33Block); + + $context->builder->positionAtEnd($ov33Block); + $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); + $nF33 = $context->builder->siToFp($n, $f64); + $hundredfirstF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF33 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok33Block); + $seventythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysecondLong, + $n + ); + $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); + if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventythird)'); + } + $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind + ? $context->builder->load($seventythirdVar->value) + : $seventythirdVar->value; + $ov34Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventythird_ov'); + $ok34Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventythird_ok'); + $context->builder->branchIf($ov34, $ov34Block, $ok34Block); + + $context->builder->positionAtEnd($ov34Block); + $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); + $nF34 = $context->builder->siToFp($n, $f64); + $hundredfirstF34 = $context->builder->fmul($seventythirdF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF34 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok34Block); + $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventythirdLong, + $n + ); + $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); + if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventyfourth)'); + } + $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind + ? $context->builder->load($seventyfourthVar->value) + : $seventyfourthVar->value; + $ov35Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfourth_ov'); + $ok35Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfourth_ok'); + $context->builder->branchIf($ov35, $ov35Block, $ok35Block); + + $context->builder->positionAtEnd($ov35Block); + $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); + $nF35 = $context->builder->siToFp($n, $f64); + $hundredfirstF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF35 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok35Block); + $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfourthLong, + $n + ); + $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); + if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventyfifth)'); + } + $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind + ? $context->builder->load($seventyfifthVar->value) + : $seventyfifthVar->value; + $ov36Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfifth_ov'); + $ok36Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfifth_ok'); + $context->builder->branchIf($ov36, $ov36Block, $ok36Block); + + $context->builder->positionAtEnd($ov36Block); + $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); + $nF36 = $context->builder->siToFp($n, $f64); + $hundredfirstF36 = $context->builder->fmul($seventyfifthF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF36 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok36Block); + $seventysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfifthLong, + $n + ); + $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); + if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventysixth)'); + } + $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind + ? $context->builder->load($seventysixthVar->value) + : $seventysixthVar->value; + $ov37Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysixth_ov'); + $ok37Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysixth_ok'); + $context->builder->branchIf($ov37, $ov37Block, $ok37Block); + + $context->builder->positionAtEnd($ov37Block); + $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); + $nF37 = $context->builder->siToFp($n, $f64); + $hundredfirstF37 = $context->builder->fmul($seventysixthF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF37 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok37Block); + $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysixthLong, + $n + ); + $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); + if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventyseventh)'); + } + $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind + ? $context->builder->load($seventyseventhVar->value) + : $seventyseventhVar->value; + $ov38Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyseventh_ov'); + $ok38Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyseventh_ok'); + $context->builder->branchIf($ov38, $ov38Block, $ok38Block); + + $context->builder->positionAtEnd($ov38Block); + $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); + $nF38 = $context->builder->siToFp($n, $f64); + $hundredfirstF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF38 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok38Block); + $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyseventhLong, + $n + ); + $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); + if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventyeighth)'); + } + $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind + ? $context->builder->load($seventyeighthVar->value) + : $seventyeighthVar->value; + $ov39Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyeighth_ov'); + $ok39Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyeighth_ok'); + $context->builder->branchIf($ov39, $ov39Block, $ok39Block); + + $context->builder->positionAtEnd($ov39Block); + $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); + $nF39 = $context->builder->siToFp($n, $f64); + $hundredfirstF39 = $context->builder->fmul($seventyeighthF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF39 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok39Block); + $seventyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyeighthLong, + $n + ); + $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); + if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (seventyninth)'); + } + $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind + ? $context->builder->load($seventyninthVar->value) + : $seventyninthVar->value; + $ov40Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyninth_ov'); + $ok40Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyninth_ok'); + $context->builder->branchIf($ov40, $ov40Block, $ok40Block); + + $context->builder->positionAtEnd($ov40Block); + $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); + $nF40 = $context->builder->siToFp($n, $f64); + $hundredfirstF40 = $context->builder->fmul($seventyninthF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF40 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok40Block); + $eightiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyninthLong, + $n + ); + $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); + if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightieth)'); + } + $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind + ? $context->builder->load($eightiethVar->value) + : $eightiethVar->value; + $ov41Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightieth_ov'); + $ok41Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightieth_ok'); + $context->builder->branchIf($ov41, $ov41Block, $ok41Block); + + $context->builder->positionAtEnd($ov41Block); + $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); + $nF41 = $context->builder->siToFp($n, $f64); + $hundredfirstF41 = $context->builder->fmul($eightiethF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF41 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok41Block); + $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightiethLong, + $n + ); + $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); + if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightyfirst)'); + } + $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind + ? $context->builder->load($eightyfirstVar->value) + : $eightyfirstVar->value; + $ov42Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfirst_ov'); + $ok42Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfirst_ok'); + $context->builder->branchIf($ov42, $ov42Block, $ok42Block); + + $context->builder->positionAtEnd($ov42Block); + $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); + $nF42 = $context->builder->siToFp($n, $f64); + $hundredfirstF42 = $context->builder->fmul($eightyfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF42 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok42Block); + $eightysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfirstLong, + $n + ); + $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); + if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightysecond)'); + } + $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind + ? $context->builder->load($eightysecondVar->value) + : $eightysecondVar->value; + $ov43Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysecond_ov'); + $ok43Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysecond_ok'); + $context->builder->branchIf($ov43, $ov43Block, $ok43Block); + + $context->builder->positionAtEnd($ov43Block); + $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); + $nF43 = $context->builder->siToFp($n, $f64); + $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF43 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok43Block); + $eightythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysecondLong, + $n + ); + $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); + if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightythird)'); + } + $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind + ? $context->builder->load($eightythirdVar->value) + : $eightythirdVar->value; + $ov44Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightythird_ov'); + $ok44Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightythird_ok'); + $context->builder->branchIf($ov44, $ov44Block, $ok44Block); + + $context->builder->positionAtEnd($ov44Block); + $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); + $nF44 = $context->builder->siToFp($n, $f64); + $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF44 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok44Block); + $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightythirdLong, + $n + ); + $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); + if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightyfourth)'); + } + $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind + ? $context->builder->load($eightyfourthVar->value) + : $eightyfourthVar->value; + $ov45Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfourth_ov'); + $ok45Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfourth_ok'); + $context->builder->branchIf($ov45, $ov45Block, $ok45Block); + + $context->builder->positionAtEnd($ov45Block); + $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); + $nF45 = $context->builder->siToFp($n, $f64); + $hundredfirstF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF45 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok45Block); + $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfourthLong, + $n + ); + $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); + if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightyfifth)'); + } + $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind + ? $context->builder->load($eightyfifthVar->value) + : $eightyfifthVar->value; + $ov46Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfifth_ov'); + $ok46Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfifth_ok'); + $context->builder->branchIf($ov46, $ov46Block, $ok46Block); + + $context->builder->positionAtEnd($ov46Block); + $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); + $nF46 = $context->builder->siToFp($n, $f64); + $hundredfirstF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF46 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok46Block); + $eightysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfifthLong, + $n + ); + $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); + if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightysixth)'); + } + $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind + ? $context->builder->load($eightysixthVar->value) + : $eightysixthVar->value; + $ov47Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysixth_ov'); + $ok47Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysixth_ok'); + $context->builder->branchIf($ov47, $ov47Block, $ok47Block); + + $context->builder->positionAtEnd($ov47Block); + $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); + $nF47 = $context->builder->siToFp($n, $f64); + $hundredfirstF47 = $context->builder->fmul($eightysixthF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF47 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok47Block); + + $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysixthLong, + $n + ); + $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); + if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightyseventh)'); + } + $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind + ? $context->builder->load($eightyseventhVar->value) + : $eightyseventhVar->value; + $ov48Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyseventh_ov'); + $ok48Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyseventh_ok'); + $context->builder->branchIf($ov48, $ov48Block, $ok48Block); + + $context->builder->positionAtEnd($ov48Block); + $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); + $nF48 = $context->builder->siToFp($n, $f64); + $hundredfirstF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); + $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF48 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok48Block); + $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyseventhLong, + $n + ); + $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); + if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightyeighth)'); + } + $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind + ? $context->builder->load($eightyeighthVar->value) + : $eightyeighthVar->value; + $ov49Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyeighth_ov'); + $ok49Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyeighth_ok'); + $context->builder->branchIf($ov49, $ov49Block, $ok49Block); + + $context->builder->positionAtEnd($ov49Block); + $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); + $nF49 = $context->builder->siToFp($n, $f64); + $hundredfirstF49 = $context->builder->fmul($eightyeighthF49, $nF49); + $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); + $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); + $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); + $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); + $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); + $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); + $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF49 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok49Block); + $eightyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyeighthLong, + $n + ); + $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); + if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (eightyninth)'); + } + $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind + ? $context->builder->load($eightyninthVar->value) + : $eightyninthVar->value; + $ov50Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyninth_ov'); + $ok50Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyninth_ok'); + $context->builder->branchIf($ov50, $ov50Block, $ok50Block); + + $context->builder->positionAtEnd($ov50Block); + $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); + $nF50 = $context->builder->siToFp($n, $f64); + $hundredfirstF50 = $context->builder->fmul($eightyninthF50, $nF50); + $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); + $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); + $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); + $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); + $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); + $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF50 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok50Block); + $ninetiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyninthLong, + $n + ); + $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); + if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetieth)'); + } + $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind + ? $context->builder->load($ninetiethVar->value) + : $ninetiethVar->value; + $ov51Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetieth_ov'); + $ok51Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetieth_ok'); + $context->builder->branchIf($ov51, $ov51Block, $ok51Block); + + $context->builder->positionAtEnd($ov51Block); + $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); + $nF51 = $context->builder->siToFp($n, $f64); + $hundredfirstF51 = $context->builder->fmul($ninetiethF51, $nF51); + $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); + $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); + $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); + $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); + $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF51 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok51Block); + $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetiethLong, + $n + ); + $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); + if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyfirst)'); + } + $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind + ? $context->builder->load($ninetyfirstVar->value) + : $ninetyfirstVar->value; + $ov52Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfirst_ov'); + $ok52Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfirst_ok'); + $context->builder->branchIf($ov52, $ov52Block, $ok52Block); + + $context->builder->positionAtEnd($ov52Block); + $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); + $nF52 = $context->builder->siToFp($n, $f64); + $hundredfirstF52 = $context->builder->fmul($ninetyfirstF52, $nF52); + $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); + $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); + $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); + $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF52 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok52Block); + $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfirstLong, + $n + ); + $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); + if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetysecond)'); + } + $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind + ? $context->builder->load($ninetysecondVar->value) + : $ninetysecondVar->value; + $ov53Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysecond_ov'); + $ok53Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysecond_ok'); + $context->builder->branchIf($ov53, $ov53Block, $ok53Block); + + $context->builder->positionAtEnd($ov53Block); + $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); + $nF53 = $context->builder->siToFp($n, $f64); + $hundredfirstF53 = $context->builder->fmul($ninetysecondF53, $nF53); + $hundredfirstF53 = $context->builder->fmul($hundredfirstF53, $nF53); + $hundredfirstF53 = $context->builder->fmul($hundredfirstF53, $nF53); + $hundredfirstF53 = $context->builder->fmul($hundredfirstF53, $nF53); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF53 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok53Block); + $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysecondLong, + $n + ); + $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); + if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetythird)'); + } + $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind + ? $context->builder->load($ninetythirdVar->value) + : $ninetythirdVar->value; + $ov54Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetythird_ov'); + $ok54Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetythird_ok'); + $context->builder->branchIf($ov54, $ov54Block, $ok54Block); + + $context->builder->positionAtEnd($ov54Block); + $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); + $nF54 = $context->builder->siToFp($n, $f64); + $hundredfirstF54 = $context->builder->fmul($ninetythirdF54, $nF54); + $hundredfirstF54 = $context->builder->fmul($hundredfirstF54, $nF54); + $hundredfirstF54 = $context->builder->fmul($hundredfirstF54, $nF54); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF54 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok54Block); + $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetythirdLong, + $n + ); + $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); + if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyfourth)'); + } + $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind + ? $context->builder->load($ninetyfourthVar->value) + : $ninetyfourthVar->value; + $ov55Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfourth_ov'); + $ok55Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfourth_ok'); + $context->builder->branchIf($ov55, $ov55Block, $ok55Block); + + $context->builder->positionAtEnd($ov55Block); + $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); + $nF55 = $context->builder->siToFp($n, $f64); + $hundredfirstF55 = $context->builder->fmul($ninetyfourthF55, $nF55); + $hundredfirstF55 = $context->builder->fmul($hundredfirstF55, $nF55); + $hundredfirstF55 = $context->builder->fmul($hundredfirstF55, $nF55); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF55 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok55Block); + + $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfourthLong, + $n + ); + $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); + if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyfifth)'); + } + $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind + ? $context->builder->load($ninetyfifthVar->value) + : $ninetyfifthVar->value; + $ov56Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfifth_ov'); + $ok56Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfifth_ok'); + $context->builder->branchIf($ov56, $ov56Block, $ok56Block); + + $context->builder->positionAtEnd($ov56Block); + $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); + $nF56 = $context->builder->siToFp($n, $f64); + $hundredfirstF56 = $context->builder->fmul($ninetyfifthF56, $nF56); + $hundredfirstF56 = $context->builder->fmul($hundredfirstF56, $nF56); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF56 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok56Block); + $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfifthLong, + $n + ); + $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); + if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetysixth)'); + } + $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind + ? $context->builder->load($ninetysixthVar->value) + : $ninetysixthVar->value; + $ov57Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysixth_ov'); + $ok57Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysixth_ok'); + $context->builder->branchIf($ov57, $ov57Block, $ok57Block); + + $context->builder->positionAtEnd($ov57Block); + $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); + $nF57 = $context->builder->siToFp($n, $f64); + $hundredfirstF57 = $context->builder->fmul($ninetysixthF57, $nF57); + $hundredfirstF57 = $context->builder->fmul($hundredfirstF57, $nF57); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF57 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok57Block); + $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysixthLong, + $n + ); + $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); + if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyseventh)'); + } + $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind + ? $context->builder->load($ninetyseventhVar->value) + : $ninetyseventhVar->value; + $ov58Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyseventh_ov'); + $ok58Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyseventh_ok'); + $context->builder->branchIf($ov58, $ov58Block, $ok58Block); + + $context->builder->positionAtEnd($ov58Block); + $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); + $nF58 = $context->builder->siToFp($n, $f64); + $hundredfirstF58 = $context->builder->fmul($ninetyseventhF58, $nF58); + $hundredfirstF58 = $context->builder->fmul($hundredfirstF58, $nF58); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF58 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok58Block); + $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyseventhLong, + $n + ); + $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); + if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyeighth)'); + } + $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind + ? $context->builder->load($ninetyeighthVar->value) + : $ninetyeighthVar->value; + $ov59Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyeighth_ov'); + $ok59Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyeighth_ok'); + $context->builder->branchIf($ov59, $ov59Block, $ok59Block); + + $context->builder->positionAtEnd($ov59Block); + $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); + $nF59 = $context->builder->siToFp($n, $f64); + $hundredfirstF59 = $context->builder->fmul($ninetyeighthF59, $nF59); + $hundredfirstF59 = $context->builder->fmul($hundredfirstF59, $nF59); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF59 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok59Block); + $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyeighthLong, + $n + ); + $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); + if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyninth)'); + } + $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind + ? $context->builder->load($ninetyninthVar->value) + : $ninetyninthVar->value; + $ov60Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyninth_ov'); + $ok60Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyninth_ok'); + $context->builder->branchIf($ov60, $ov60Block, $ok60Block); + + $context->builder->positionAtEnd($ov60Block); + $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); + $nF60 = $context->builder->siToFp($n, $f64); + $hundredfirstF60 = $context->builder->fmul($ninetyninthF60, $nF60); + $hundredfirstF60 = $context->builder->fmul($hundredfirstF60, $nF60); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF60 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok60Block); + $hundredthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyninthLong, + $n + ); + $ov61 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredthVar->longArithOverflowFlag); + if (null === $ov61 || null === $hundredthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **101 expected smul overflow metadata (hundredth)'); + } + $hundredthLong = JITVariable::KIND_VARIABLE === $hundredthVar->kind + ? $context->builder->load($hundredthVar->value) + : $hundredthVar->value; + $ov61Block = BasicBlockHelper::append($context, 'pow_hundredfirst_hundredth_ov'); + $ok61Block = BasicBlockHelper::append($context, 'pow_hundredfirst_hundredth_ok'); + $context->builder->branchIf($ov61, $ov61Block, $ok61Block); + + $context->builder->positionAtEnd($ov61Block); + $hundredthF61 = $context->builder->load($hundredthVar->longArithOverflowDoubleSlot); + $nF61 = $context->builder->siToFp($n, $f64); + $hundredfirstF61 = $context->builder->fmul($hundredthF61, $nF61); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredfirstF61 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok61Block); + JitLongArithOverflow::writeBoxedBinary( + $context, + OpCode::TYPE_MUL, + $hundredthLong, + $n, + $slotPtr + ); + $context->builder->branch($doneBlock); + + + $context->builder->positionAtEnd($doneBlock); + + return true; + } + + if ('hundredsecond' === $expFold) { + // n^101 = hundredth*n; overflow arms +1 ×nF vs **100. + // tenth=fifth*fifth, twentieth=tenth*tenth, + // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, + // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). + // Overflow arms finish in float with one extra ×nF vs **102. + $baseL = JitLongArg::lower($context, $base, 'pow() base'); + $i64 = $context->getTypeFromString('int64'); + $f64 = $context->getTypeFromString('double'); + $n = $context->builder->intCast($baseL, $i64); + $sqVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $n, + $n + ); + $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); + if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sq)'); + } + $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind + ? $context->builder->load($sqVar->value) + : $sqVar->value; + $ov1Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sq_ov'); + $ok1Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sq_ok'); + $doneBlock = BasicBlockHelper::append($context, 'pow_hundredsecond_done'); + $context->builder->branchIf($ov1, $ov1Block, $ok1Block); + + $context->builder->positionAtEnd($ov1Block); + $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); + $sq2F = $context->builder->fmul($sqF, $sqF); + $sq4F = $context->builder->fmul($sq2F, $sq2F); + $sq8F = $context->builder->fmul($sq4F, $sq4F); + $twentiethF = $context->builder->fmul($sq8F, $sq2F); + $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); + $fortysecondF = $context->builder->fmul($fortiethF, $sqF); + $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); + $hundredsecondFSq = $context->builder->fmul($fortyfourthF, $sqF); + $hundredsecondFEighth = $context->builder->fmul($hundredsecondFSq, $sqF); + $hundredsecondF = $context->builder->fmul($hundredsecondFEighth, $sqF); + $nF = $context->builder->siToFp($n, $f64); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok1Block); + $cuVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sqLong, + $n + ); + $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); + if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (cu)'); + } + $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind + ? $context->builder->load($cuVar->value) + : $cuVar->value; + $ov2Block = BasicBlockHelper::append($context, 'pow_hundredsecond_cu_ov'); + $ok2Block = BasicBlockHelper::append($context, 'pow_hundredsecond_cu_ok'); + $context->builder->branchIf($ov2, $ov2Block, $ok2Block); + + $context->builder->positionAtEnd($ov2Block); + $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); + $sqF2 = $context->builder->siToFp($sqLong, $f64); + $fifthF = $context->builder->fmul($cuF, $sqF2); + $tenthF2 = $context->builder->fmul($fifthF, $fifthF); + $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); + $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); + $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); + $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); + $hundredsecondF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); + $hundredsecondF2Eighth = $context->builder->fmul($hundredsecondF2Sq, $sqF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2Eighth, $sqF2); + $nF2 = $context->builder->siToFp($n, $f64); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF2 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok2Block); + $fifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $cuLong, + $sqLong + ); + $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); + if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fifth)'); + } + $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind + ? $context->builder->load($fifthVar->value) + : $fifthVar->value; + $ov3Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fifth_ov'); + $ok3Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fifth_ok'); + $context->builder->branchIf($ov3, $ov3Block, $ok3Block); + + $context->builder->positionAtEnd($ov3Block); + $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); + $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); + $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); + $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); + $sqF3 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); + $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); + $hundredsecondF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); + $hundredsecondF3Eighth = $context->builder->fmul($hundredsecondF3Sq, $sqF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3Eighth, $sqF3); + $nF3 = $context->builder->siToFp($n, $f64); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF3 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok3Block); + $tenthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fifthLong, + $fifthLong + ); + $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); + if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (tenth)'); + } + $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind + ? $context->builder->load($tenthVar->value) + : $tenthVar->value; + $ov4Block = BasicBlockHelper::append($context, 'pow_hundredsecond_tenth_ov'); + $ok4Block = BasicBlockHelper::append($context, 'pow_hundredsecond_tenth_ok'); + $context->builder->branchIf($ov4, $ov4Block, $ok4Block); + + $context->builder->positionAtEnd($ov4Block); + $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); + $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); + $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); + $sqF4 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); + $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); + $hundredsecondF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); + $hundredsecondF4Eighth = $context->builder->fmul($hundredsecondF4Sq, $sqF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4Eighth, $sqF4); + $nF4 = $context->builder->siToFp($n, $f64); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF4 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok4Block); + $twentiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $tenthLong, + $tenthLong + ); + $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); + if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (twentieth)'); + } + $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind + ? $context->builder->load($twentiethVar->value) + : $twentiethVar->value; + $ov5Block = BasicBlockHelper::append($context, 'pow_hundredsecond_twentieth_ov'); + $ok5Block = BasicBlockHelper::append($context, 'pow_hundredsecond_twentieth_ok'); + $context->builder->branchIf($ov5, $ov5Block, $ok5Block); + + $context->builder->positionAtEnd($ov5Block); + $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); + $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); + $sqF5 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); + $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); + $hundredsecondF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); + $hundredsecondF5Eighth = $context->builder->fmul($hundredsecondF5Sq, $sqF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5Eighth, $sqF5); + $nF5 = $context->builder->siToFp($n, $f64); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF5 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok5Block); + $fortiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $twentiethLong, + $twentiethLong + ); + $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); + if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fortieth)'); + } + $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind + ? $context->builder->load($fortiethVar->value) + : $fortiethVar->value; + $ov6Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortieth_ov'); + $ok6Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortieth_ok'); + $context->builder->branchIf($ov6, $ov6Block, $ok6Block); + + $context->builder->positionAtEnd($ov6Block); + $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); + $sqF6 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); + $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); + $hundredsecondF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); + $hundredsecondF6Eighth = $context->builder->fmul($hundredsecondF6Sq, $sqF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6Eighth, $sqF6); + $nF6 = $context->builder->siToFp($n, $f64); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF6 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok6Block); + $fortysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortiethLong, + $sqLong + ); + $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); + if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fortysecond)'); + } + $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind + ? $context->builder->load($fortysecondVar->value) + : $fortysecondVar->value; + $ov7Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysecond_ov'); + $ok7Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysecond_ok'); + $context->builder->branchIf($ov7, $ov7Block, $ok7Block); + + $context->builder->positionAtEnd($ov7Block); + $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); + $sqF7 = $context->builder->siToFp($sqLong, $f64); + $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); + $hundredsecondF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); + $hundredsecondF7Eighth = $context->builder->fmul($hundredsecondF7Sq, $sqF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7Eighth, $sqF7); + $nF7 = $context->builder->siToFp($n, $f64); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF7 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok7Block); + $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysecondLong, + $sqLong + ); + $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); + if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fortyfourth)'); + } + $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind + ? $context->builder->load($fortyfourthVar->value) + : $fortyfourthVar->value; + $ov8Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyfourth_ov'); + $ok8Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyfourth_ok'); + $context->builder->branchIf($ov8, $ov8Block, $ok8Block); + + $context->builder->positionAtEnd($ov8Block); + $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); + $sqF8 = $context->builder->siToFp($sqLong, $f64); + $hundredsecondF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); + $hundredsecondF8Eighth = $context->builder->fmul($hundredsecondF8Sq, $sqF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8Eighth, $sqF8); + $nF8 = $context->builder->siToFp($n, $f64); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF8 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok8Block); + $fortysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyfourthLong, + $sqLong + ); + $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); + if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fortysixth)'); + } + $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind + ? $context->builder->load($fortysixthVar->value) + : $fortysixthVar->value; + $ov9Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysixth_ov'); + $ok9Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysixth_ok'); + $context->builder->branchIf($ov9, $ov9Block, $ok9Block); + + $context->builder->positionAtEnd($ov9Block); + $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); + $sqF9 = $context->builder->siToFp($sqLong, $f64); + $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); + $hundredsecondF9 = $context->builder->fmul($fortyeighthF9, $sqF9); + $nF9 = $context->builder->siToFp($n, $f64); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF9 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok9Block); + $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysixthLong, + $sqLong + ); + $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); + if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fortyeighth)'); + } + $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind + ? $context->builder->load($fortyeighthVar->value) + : $fortyeighthVar->value; + $ov10Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyeighth_ov'); + $ok10Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyeighth_ok'); + $context->builder->branchIf($ov10, $ov10Block, $ok10Block); + + $context->builder->positionAtEnd($ov10Block); + $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); + $sqF10 = $context->builder->siToFp($sqLong, $f64); + $hundredsecondF10 = $context->builder->fmul($fortyeighthF10, $sqF10); + $nF10 = $context->builder->siToFp($n, $f64); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF10 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok10Block); + $fiftiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyeighthLong, + $sqLong + ); + $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); + if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftieth)'); + } + $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind + ? $context->builder->load($fiftiethVar->value) + : $fiftiethVar->value; + $ov11Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftieth_ov'); + $ok11Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftieth_ok'); + $context->builder->branchIf($ov11, $ov11Block, $ok11Block); + + $context->builder->positionAtEnd($ov11Block); + $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); + $nF11 = $context->builder->siToFp($n, $f64); + $hundredsecondF11 = $context->builder->fmul($fiftiethF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF11 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok11Block); + $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftiethLong, + $n + ); + $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); + if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyfirst)'); + } + $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind + ? $context->builder->load($fiftyfirstVar->value) + : $fiftyfirstVar->value; + $ov12Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfirst_ov'); + $ok12Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfirst_ok'); + $context->builder->branchIf($ov12, $ov12Block, $ok12Block); + + $context->builder->positionAtEnd($ov12Block); + $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); + $nF12 = $context->builder->siToFp($n, $f64); + $hundredsecondF12 = $context->builder->fmul($fiftyfirstF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF12 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok12Block); + $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfirstLong, + $n + ); + $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); + if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftysecond)'); + } + $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind + ? $context->builder->load($fiftysecondVar->value) + : $fiftysecondVar->value; + $ov13Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysecond_ov'); + $ok13Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysecond_ok'); + $context->builder->branchIf($ov13, $ov13Block, $ok13Block); + + $context->builder->positionAtEnd($ov13Block); + $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); + $nF13 = $context->builder->siToFp($n, $f64); + $hundredsecondF13 = $context->builder->fmul($fiftysecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF13 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok13Block); + $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysecondLong, + $n + ); + $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); + if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftythird)'); + } + $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind + ? $context->builder->load($fiftythirdVar->value) + : $fiftythirdVar->value; + $ov14Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftythird_ov'); + $ok14Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftythird_ok'); + $context->builder->branchIf($ov14, $ov14Block, $ok14Block); + + $context->builder->positionAtEnd($ov14Block); + $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); + $nF14 = $context->builder->siToFp($n, $f64); + $hundredsecondF14 = $context->builder->fmul($fiftythirdF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF14 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok14Block); + $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftythirdLong, + $n + ); + $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); + if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyfourth)'); + } + $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind + ? $context->builder->load($fiftyfourthVar->value) + : $fiftyfourthVar->value; + $ov15Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfourth_ov'); + $ok15Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfourth_ok'); + $context->builder->branchIf($ov15, $ov15Block, $ok15Block); + + $context->builder->positionAtEnd($ov15Block); + $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); + $nF15 = $context->builder->siToFp($n, $f64); + $hundredsecondF15 = $context->builder->fmul($fiftyfourthF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF15 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok15Block); + $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfourthLong, + $n + ); + $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); + if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyfifth)'); + } + $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind + ? $context->builder->load($fiftyfifthVar->value) + : $fiftyfifthVar->value; + $ov16Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfifth_ov'); + $ok16Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfifth_ok'); + $context->builder->branchIf($ov16, $ov16Block, $ok16Block); + + $context->builder->positionAtEnd($ov16Block); + $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); + $nF16 = $context->builder->siToFp($n, $f64); + $hundredsecondF16 = $context->builder->fmul($fiftyfifthF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF16 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok16Block); + $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfifthLong, + $n + ); + $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); + if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftysixth)'); + } + $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind + ? $context->builder->load($fiftysixthVar->value) + : $fiftysixthVar->value; + $ov17Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysixth_ov'); + $ok17Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysixth_ok'); + $context->builder->branchIf($ov17, $ov17Block, $ok17Block); + + $context->builder->positionAtEnd($ov17Block); + $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); + $nF17 = $context->builder->siToFp($n, $f64); + $hundredsecondF17 = $context->builder->fmul($fiftysixthF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF17 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok17Block); + $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysixthLong, + $n + ); + $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); + if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyseventh)'); + } + $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind + ? $context->builder->load($fiftyseventhVar->value) + : $fiftyseventhVar->value; + $ov18Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyseventh_ov'); + $ok18Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyseventh_ok'); + $context->builder->branchIf($ov18, $ov18Block, $ok18Block); + + $context->builder->positionAtEnd($ov18Block); + $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); + $nF18 = $context->builder->siToFp($n, $f64); + $hundredsecondF18 = $context->builder->fmul($fiftyseventhF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF18 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok18Block); + $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyseventhLong, + $n + ); + $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); + if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyeighth)'); + } + $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind + ? $context->builder->load($fiftyeighthVar->value) + : $fiftyeighthVar->value; + $ov19Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyeighth_ov'); + $ok19Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyeighth_ok'); + $context->builder->branchIf($ov19, $ov19Block, $ok19Block); + + $context->builder->positionAtEnd($ov19Block); + $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); + $nF19 = $context->builder->siToFp($n, $f64); + $hundredsecondF19 = $context->builder->fmul($fiftyeighthF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF19 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok19Block); + $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyeighthLong, + $n + ); + $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); + if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyninth)'); + } + $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind + ? $context->builder->load($fiftyninthVar->value) + : $fiftyninthVar->value; + $ov20Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyninth_ov'); + $ok20Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyninth_ok'); + $context->builder->branchIf($ov20, $ov20Block, $ok20Block); + + $context->builder->positionAtEnd($ov20Block); + $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); + $nF20 = $context->builder->siToFp($n, $f64); + $hundredsecondF20 = $context->builder->fmul($fiftyninthF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF20 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok20Block); + $sixtiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyninthLong, + $n + ); + $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); + if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtieth)'); + } + $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind + ? $context->builder->load($sixtiethVar->value) + : $sixtiethVar->value; + $ov21Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtieth_ov'); + $ok21Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtieth_ok'); + $context->builder->branchIf($ov21, $ov21Block, $ok21Block); + + $context->builder->positionAtEnd($ov21Block); + $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); + $nF21 = $context->builder->siToFp($n, $f64); + $hundredsecondF21 = $context->builder->fmul($sixtiethF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF21 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok21Block); + $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtiethLong, + $n + ); + $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); + if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyfirst)'); + } + $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind + ? $context->builder->load($sixtyfirstVar->value) + : $sixtyfirstVar->value; + $ov22Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfirst_ov'); + $ok22Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfirst_ok'); + $context->builder->branchIf($ov22, $ov22Block, $ok22Block); + + $context->builder->positionAtEnd($ov22Block); + $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); + $nF22 = $context->builder->siToFp($n, $f64); + $hundredsecondF22 = $context->builder->fmul($sixtyfirstF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF22 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok22Block); + $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfirstLong, + $n + ); + $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); + if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtysecond)'); + } + $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind + ? $context->builder->load($sixtysecondVar->value) + : $sixtysecondVar->value; + $ov23Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysecond_ov'); + $ok23Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysecond_ok'); + $context->builder->branchIf($ov23, $ov23Block, $ok23Block); + + $context->builder->positionAtEnd($ov23Block); + $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); + $nF23 = $context->builder->siToFp($n, $f64); + $hundredsecondF23 = $context->builder->fmul($sixtysecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF23 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok23Block); + $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysecondLong, + $n + ); + $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); + if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtythird)'); + } + $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind + ? $context->builder->load($sixtythirdVar->value) + : $sixtythirdVar->value; + $ov24Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtythird_ov'); + $ok24Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtythird_ok'); + $context->builder->branchIf($ov24, $ov24Block, $ok24Block); + + $context->builder->positionAtEnd($ov24Block); + $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); + $nF24 = $context->builder->siToFp($n, $f64); + $hundredsecondF24 = $context->builder->fmul($sixtythirdF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF24 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok24Block); + $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtythirdLong, + $n + ); + $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); + if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyfourth)'); + } + $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind + ? $context->builder->load($sixtyfourthVar->value) + : $sixtyfourthVar->value; + $ov25Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfourth_ov'); + $ok25Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfourth_ok'); + $context->builder->branchIf($ov25, $ov25Block, $ok25Block); + + $context->builder->positionAtEnd($ov25Block); + $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); + $nF25 = $context->builder->siToFp($n, $f64); + $hundredsecondF25 = $context->builder->fmul($sixtyfourthF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF25 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok25Block); + $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfourthLong, + $n + ); + $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); + if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyfifth)'); + } + $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind + ? $context->builder->load($sixtyfifthVar->value) + : $sixtyfifthVar->value; + $ov26Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfifth_ov'); + $ok26Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfifth_ok'); + $context->builder->branchIf($ov26, $ov26Block, $ok26Block); + + $context->builder->positionAtEnd($ov26Block); + $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); + $nF26 = $context->builder->siToFp($n, $f64); + $hundredsecondF26 = $context->builder->fmul($sixtyfifthF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF26 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok26Block); + $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfifthLong, + $n + ); + $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); + if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtysixth)'); + } + $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind + ? $context->builder->load($sixtysixthVar->value) + : $sixtysixthVar->value; + $ov27Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysixth_ov'); + $ok27Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysixth_ok'); + $context->builder->branchIf($ov27, $ov27Block, $ok27Block); + + $context->builder->positionAtEnd($ov27Block); + $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); + $nF27 = $context->builder->siToFp($n, $f64); + $hundredsecondF27 = $context->builder->fmul($sixtysixthF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF27 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok27Block); + $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysixthLong, + $n + ); + $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); + if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyseventh)'); + } + $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind + ? $context->builder->load($sixtyseventhVar->value) + : $sixtyseventhVar->value; + $ov28Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyseventh_ov'); + $ok28Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyseventh_ok'); + $context->builder->branchIf($ov28, $ov28Block, $ok28Block); + + $context->builder->positionAtEnd($ov28Block); + $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); + $nF28 = $context->builder->siToFp($n, $f64); + $hundredsecondF28 = $context->builder->fmul($sixtyseventhF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF28 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok28Block); + $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyseventhLong, + $n + ); + $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); + if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyeighth)'); + } + $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind + ? $context->builder->load($sixtyeighthVar->value) + : $sixtyeighthVar->value; + $ov29Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyeighth_ov'); + $ok29Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyeighth_ok'); + $context->builder->branchIf($ov29, $ov29Block, $ok29Block); + + $context->builder->positionAtEnd($ov29Block); + $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); + $nF29 = $context->builder->siToFp($n, $f64); + $hundredsecondF29 = $context->builder->fmul($sixtyeighthF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF29 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok29Block); + $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyeighthLong, + $n + ); + $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); + if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyninth)'); + } + $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind + ? $context->builder->load($sixtyninthVar->value) + : $sixtyninthVar->value; + $ov30Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyninth_ov'); + $ok30Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyninth_ok'); + $context->builder->branchIf($ov30, $ov30Block, $ok30Block); + + $context->builder->positionAtEnd($ov30Block); + $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); + $nF30 = $context->builder->siToFp($n, $f64); + $hundredsecondF30 = $context->builder->fmul($sixtyninthF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF30 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok30Block); + $seventiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyninthLong, + $n + ); + $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); + if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventieth)'); + } + $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind + ? $context->builder->load($seventiethVar->value) + : $seventiethVar->value; + $ov31Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventieth_ov'); + $ok31Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventieth_ok'); + $context->builder->branchIf($ov31, $ov31Block, $ok31Block); + + $context->builder->positionAtEnd($ov31Block); + $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); + $nF31 = $context->builder->siToFp($n, $f64); + $hundredsecondF31 = $context->builder->fmul($seventiethF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF31 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok31Block); + $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventiethLong, + $n + ); + $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); + if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventyfirst)'); + } + $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind + ? $context->builder->load($seventyfirstVar->value) + : $seventyfirstVar->value; + $ov32Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfirst_ov'); + $ok32Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfirst_ok'); + $context->builder->branchIf($ov32, $ov32Block, $ok32Block); + + $context->builder->positionAtEnd($ov32Block); + $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); + $nF32 = $context->builder->siToFp($n, $f64); + $hundredsecondF32 = $context->builder->fmul($seventyfirstF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF32 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok32Block); + $seventysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfirstLong, + $n + ); + $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); + if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventysecond)'); + } + $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind + ? $context->builder->load($seventysecondVar->value) + : $seventysecondVar->value; + $ov33Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysecond_ov'); + $ok33Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysecond_ok'); + $context->builder->branchIf($ov33, $ov33Block, $ok33Block); + + $context->builder->positionAtEnd($ov33Block); + $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); + $nF33 = $context->builder->siToFp($n, $f64); + $hundredsecondF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF33 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok33Block); + $seventythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysecondLong, + $n + ); + $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); + if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventythird)'); + } + $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind + ? $context->builder->load($seventythirdVar->value) + : $seventythirdVar->value; + $ov34Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventythird_ov'); + $ok34Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventythird_ok'); + $context->builder->branchIf($ov34, $ov34Block, $ok34Block); + + $context->builder->positionAtEnd($ov34Block); + $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); + $nF34 = $context->builder->siToFp($n, $f64); + $hundredsecondF34 = $context->builder->fmul($seventythirdF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF34 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok34Block); + $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventythirdLong, + $n + ); + $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); + if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventyfourth)'); + } + $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind + ? $context->builder->load($seventyfourthVar->value) + : $seventyfourthVar->value; + $ov35Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfourth_ov'); + $ok35Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfourth_ok'); + $context->builder->branchIf($ov35, $ov35Block, $ok35Block); + + $context->builder->positionAtEnd($ov35Block); + $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); + $nF35 = $context->builder->siToFp($n, $f64); + $hundredsecondF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF35 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok35Block); + $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfourthLong, + $n + ); + $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); + if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventyfifth)'); + } + $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind + ? $context->builder->load($seventyfifthVar->value) + : $seventyfifthVar->value; + $ov36Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfifth_ov'); + $ok36Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfifth_ok'); + $context->builder->branchIf($ov36, $ov36Block, $ok36Block); + + $context->builder->positionAtEnd($ov36Block); + $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); + $nF36 = $context->builder->siToFp($n, $f64); + $hundredsecondF36 = $context->builder->fmul($seventyfifthF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF36 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok36Block); + $seventysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfifthLong, + $n + ); + $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); + if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventysixth)'); + } + $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind + ? $context->builder->load($seventysixthVar->value) + : $seventysixthVar->value; + $ov37Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysixth_ov'); + $ok37Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysixth_ok'); + $context->builder->branchIf($ov37, $ov37Block, $ok37Block); + + $context->builder->positionAtEnd($ov37Block); + $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); + $nF37 = $context->builder->siToFp($n, $f64); + $hundredsecondF37 = $context->builder->fmul($seventysixthF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF37 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok37Block); + $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysixthLong, + $n + ); + $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); + if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventyseventh)'); + } + $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind + ? $context->builder->load($seventyseventhVar->value) + : $seventyseventhVar->value; + $ov38Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyseventh_ov'); + $ok38Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyseventh_ok'); + $context->builder->branchIf($ov38, $ov38Block, $ok38Block); + + $context->builder->positionAtEnd($ov38Block); + $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); + $nF38 = $context->builder->siToFp($n, $f64); + $hundredsecondF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF38 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok38Block); + $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyseventhLong, + $n + ); + $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); + if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventyeighth)'); + } + $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind + ? $context->builder->load($seventyeighthVar->value) + : $seventyeighthVar->value; + $ov39Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyeighth_ov'); + $ok39Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyeighth_ok'); + $context->builder->branchIf($ov39, $ov39Block, $ok39Block); + + $context->builder->positionAtEnd($ov39Block); + $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); + $nF39 = $context->builder->siToFp($n, $f64); + $hundredsecondF39 = $context->builder->fmul($seventyeighthF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF39 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok39Block); + $seventyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyeighthLong, + $n + ); + $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); + if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (seventyninth)'); + } + $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind + ? $context->builder->load($seventyninthVar->value) + : $seventyninthVar->value; + $ov40Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyninth_ov'); + $ok40Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyninth_ok'); + $context->builder->branchIf($ov40, $ov40Block, $ok40Block); + + $context->builder->positionAtEnd($ov40Block); + $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); + $nF40 = $context->builder->siToFp($n, $f64); + $hundredsecondF40 = $context->builder->fmul($seventyninthF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF40 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok40Block); + $eightiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyninthLong, + $n + ); + $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); + if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightieth)'); + } + $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind + ? $context->builder->load($eightiethVar->value) + : $eightiethVar->value; + $ov41Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightieth_ov'); + $ok41Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightieth_ok'); + $context->builder->branchIf($ov41, $ov41Block, $ok41Block); + + $context->builder->positionAtEnd($ov41Block); + $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); + $nF41 = $context->builder->siToFp($n, $f64); + $hundredsecondF41 = $context->builder->fmul($eightiethF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF41 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok41Block); + $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightiethLong, + $n + ); + $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); + if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightyfirst)'); + } + $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind + ? $context->builder->load($eightyfirstVar->value) + : $eightyfirstVar->value; + $ov42Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfirst_ov'); + $ok42Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfirst_ok'); + $context->builder->branchIf($ov42, $ov42Block, $ok42Block); + + $context->builder->positionAtEnd($ov42Block); + $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); + $nF42 = $context->builder->siToFp($n, $f64); + $hundredsecondF42 = $context->builder->fmul($eightyfirstF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF42 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok42Block); + $eightysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfirstLong, + $n + ); + $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); + if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightysecond)'); + } + $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind + ? $context->builder->load($eightysecondVar->value) + : $eightysecondVar->value; + $ov43Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysecond_ov'); + $ok43Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysecond_ok'); + $context->builder->branchIf($ov43, $ov43Block, $ok43Block); + + $context->builder->positionAtEnd($ov43Block); + $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); + $nF43 = $context->builder->siToFp($n, $f64); + $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF43 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok43Block); + $eightythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysecondLong, + $n + ); + $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); + if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightythird)'); + } + $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind + ? $context->builder->load($eightythirdVar->value) + : $eightythirdVar->value; + $ov44Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightythird_ov'); + $ok44Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightythird_ok'); + $context->builder->branchIf($ov44, $ov44Block, $ok44Block); + + $context->builder->positionAtEnd($ov44Block); + $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); + $nF44 = $context->builder->siToFp($n, $f64); + $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF44 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok44Block); + $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightythirdLong, + $n + ); + $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); + if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightyfourth)'); + } + $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind + ? $context->builder->load($eightyfourthVar->value) + : $eightyfourthVar->value; + $ov45Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfourth_ov'); + $ok45Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfourth_ok'); + $context->builder->branchIf($ov45, $ov45Block, $ok45Block); + + $context->builder->positionAtEnd($ov45Block); + $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); + $nF45 = $context->builder->siToFp($n, $f64); + $hundredsecondF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF45 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok45Block); + $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfourthLong, + $n + ); + $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); + if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightyfifth)'); + } + $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind + ? $context->builder->load($eightyfifthVar->value) + : $eightyfifthVar->value; + $ov46Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfifth_ov'); + $ok46Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfifth_ok'); + $context->builder->branchIf($ov46, $ov46Block, $ok46Block); + + $context->builder->positionAtEnd($ov46Block); + $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); + $nF46 = $context->builder->siToFp($n, $f64); + $hundredsecondF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF46 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok46Block); + $eightysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfifthLong, + $n + ); + $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); + if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightysixth)'); + } + $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind + ? $context->builder->load($eightysixthVar->value) + : $eightysixthVar->value; + $ov47Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysixth_ov'); + $ok47Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysixth_ok'); + $context->builder->branchIf($ov47, $ov47Block, $ok47Block); + + $context->builder->positionAtEnd($ov47Block); + $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); + $nF47 = $context->builder->siToFp($n, $f64); + $hundredsecondF47 = $context->builder->fmul($eightysixthF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF47 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok47Block); + + $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysixthLong, + $n + ); + $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); + if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightyseventh)'); + } + $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind + ? $context->builder->load($eightyseventhVar->value) + : $eightyseventhVar->value; + $ov48Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyseventh_ov'); + $ok48Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyseventh_ok'); + $context->builder->branchIf($ov48, $ov48Block, $ok48Block); + + $context->builder->positionAtEnd($ov48Block); + $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); + $nF48 = $context->builder->siToFp($n, $f64); + $hundredsecondF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF48 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok48Block); + $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyseventhLong, + $n + ); + $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); + if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightyeighth)'); + } + $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind + ? $context->builder->load($eightyeighthVar->value) + : $eightyeighthVar->value; + $ov49Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyeighth_ov'); + $ok49Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyeighth_ok'); + $context->builder->branchIf($ov49, $ov49Block, $ok49Block); + + $context->builder->positionAtEnd($ov49Block); + $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); + $nF49 = $context->builder->siToFp($n, $f64); + $hundredsecondF49 = $context->builder->fmul($eightyeighthF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF49 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok49Block); + $eightyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyeighthLong, + $n + ); + $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); + if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (eightyninth)'); + } + $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind + ? $context->builder->load($eightyninthVar->value) + : $eightyninthVar->value; + $ov50Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyninth_ov'); + $ok50Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyninth_ok'); + $context->builder->branchIf($ov50, $ov50Block, $ok50Block); + + $context->builder->positionAtEnd($ov50Block); + $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); + $nF50 = $context->builder->siToFp($n, $f64); + $hundredsecondF50 = $context->builder->fmul($eightyninthF50, $nF50); + $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); + $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); + $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); + $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); + $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); + $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); + $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF50 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok50Block); + $ninetiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyninthLong, + $n + ); + $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); + if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetieth)'); + } + $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind + ? $context->builder->load($ninetiethVar->value) + : $ninetiethVar->value; + $ov51Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetieth_ov'); + $ok51Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetieth_ok'); + $context->builder->branchIf($ov51, $ov51Block, $ok51Block); + + $context->builder->positionAtEnd($ov51Block); + $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); + $nF51 = $context->builder->siToFp($n, $f64); + $hundredsecondF51 = $context->builder->fmul($ninetiethF51, $nF51); + $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); + $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); + $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); + $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); + $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); + $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF51 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok51Block); + $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetiethLong, + $n + ); + $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); + if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyfirst)'); + } + $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind + ? $context->builder->load($ninetyfirstVar->value) + : $ninetyfirstVar->value; + $ov52Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfirst_ov'); + $ok52Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfirst_ok'); + $context->builder->branchIf($ov52, $ov52Block, $ok52Block); + + $context->builder->positionAtEnd($ov52Block); + $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); + $nF52 = $context->builder->siToFp($n, $f64); + $hundredsecondF52 = $context->builder->fmul($ninetyfirstF52, $nF52); + $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); + $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); + $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); + $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); + $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF52 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok52Block); + $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfirstLong, + $n + ); + $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); + if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetysecond)'); + } + $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind + ? $context->builder->load($ninetysecondVar->value) + : $ninetysecondVar->value; + $ov53Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysecond_ov'); + $ok53Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysecond_ok'); + $context->builder->branchIf($ov53, $ov53Block, $ok53Block); + + $context->builder->positionAtEnd($ov53Block); + $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); + $nF53 = $context->builder->siToFp($n, $f64); + $hundredsecondF53 = $context->builder->fmul($ninetysecondF53, $nF53); + $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); + $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); + $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); + $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF53 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok53Block); + $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysecondLong, + $n + ); + $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); + if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetythird)'); + } + $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind + ? $context->builder->load($ninetythirdVar->value) + : $ninetythirdVar->value; + $ov54Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetythird_ov'); + $ok54Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetythird_ok'); + $context->builder->branchIf($ov54, $ov54Block, $ok54Block); + + $context->builder->positionAtEnd($ov54Block); + $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); + $nF54 = $context->builder->siToFp($n, $f64); + $hundredsecondF54 = $context->builder->fmul($ninetythirdF54, $nF54); + $hundredsecondF54 = $context->builder->fmul($hundredsecondF54, $nF54); + $hundredsecondF54 = $context->builder->fmul($hundredsecondF54, $nF54); + $hundredsecondF54 = $context->builder->fmul($hundredsecondF54, $nF54); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF54 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok54Block); + $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetythirdLong, + $n + ); + $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); + if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyfourth)'); + } + $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind + ? $context->builder->load($ninetyfourthVar->value) + : $ninetyfourthVar->value; + $ov55Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfourth_ov'); + $ok55Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfourth_ok'); + $context->builder->branchIf($ov55, $ov55Block, $ok55Block); + + $context->builder->positionAtEnd($ov55Block); + $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); + $nF55 = $context->builder->siToFp($n, $f64); + $hundredsecondF55 = $context->builder->fmul($ninetyfourthF55, $nF55); + $hundredsecondF55 = $context->builder->fmul($hundredsecondF55, $nF55); + $hundredsecondF55 = $context->builder->fmul($hundredsecondF55, $nF55); + $hundredsecondF55 = $context->builder->fmul($hundredsecondF55, $nF55); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF55 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok55Block); + + $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfourthLong, + $n + ); + $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); + if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyfifth)'); + } + $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind + ? $context->builder->load($ninetyfifthVar->value) + : $ninetyfifthVar->value; + $ov56Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfifth_ov'); + $ok56Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfifth_ok'); + $context->builder->branchIf($ov56, $ov56Block, $ok56Block); + + $context->builder->positionAtEnd($ov56Block); + $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); + $nF56 = $context->builder->siToFp($n, $f64); + $hundredsecondF56 = $context->builder->fmul($ninetyfifthF56, $nF56); + $hundredsecondF56 = $context->builder->fmul($hundredsecondF56, $nF56); + $hundredsecondF56 = $context->builder->fmul($hundredsecondF56, $nF56); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF56 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok56Block); + $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfifthLong, + $n + ); + $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); + if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetysixth)'); + } + $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind + ? $context->builder->load($ninetysixthVar->value) + : $ninetysixthVar->value; + $ov57Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysixth_ov'); + $ok57Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysixth_ok'); + $context->builder->branchIf($ov57, $ov57Block, $ok57Block); + + $context->builder->positionAtEnd($ov57Block); + $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); + $nF57 = $context->builder->siToFp($n, $f64); + $hundredsecondF57 = $context->builder->fmul($ninetysixthF57, $nF57); + $hundredsecondF57 = $context->builder->fmul($hundredsecondF57, $nF57); + $hundredsecondF57 = $context->builder->fmul($hundredsecondF57, $nF57); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF57 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok57Block); + $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysixthLong, + $n + ); + $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); + if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyseventh)'); + } + $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind + ? $context->builder->load($ninetyseventhVar->value) + : $ninetyseventhVar->value; + $ov58Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyseventh_ov'); + $ok58Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyseventh_ok'); + $context->builder->branchIf($ov58, $ov58Block, $ok58Block); + + $context->builder->positionAtEnd($ov58Block); + $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); + $nF58 = $context->builder->siToFp($n, $f64); + $hundredsecondF58 = $context->builder->fmul($ninetyseventhF58, $nF58); + $hundredsecondF58 = $context->builder->fmul($hundredsecondF58, $nF58); + $hundredsecondF58 = $context->builder->fmul($hundredsecondF58, $nF58); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF58 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok58Block); + $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyseventhLong, + $n + ); + $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); + if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyeighth)'); + } + $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind + ? $context->builder->load($ninetyeighthVar->value) + : $ninetyeighthVar->value; + $ov59Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyeighth_ov'); + $ok59Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyeighth_ok'); + $context->builder->branchIf($ov59, $ov59Block, $ok59Block); + + $context->builder->positionAtEnd($ov59Block); + $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); + $nF59 = $context->builder->siToFp($n, $f64); + $hundredsecondF59 = $context->builder->fmul($ninetyeighthF59, $nF59); + $hundredsecondF59 = $context->builder->fmul($hundredsecondF59, $nF59); + $hundredsecondF59 = $context->builder->fmul($hundredsecondF59, $nF59); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF59 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok59Block); + $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyeighthLong, + $n + ); + $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); + if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyninth)'); + } + $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind + ? $context->builder->load($ninetyninthVar->value) + : $ninetyninthVar->value; + $ov60Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyninth_ov'); + $ok60Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyninth_ok'); + $context->builder->branchIf($ov60, $ov60Block, $ok60Block); + + $context->builder->positionAtEnd($ov60Block); + $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); + $nF60 = $context->builder->siToFp($n, $f64); + $hundredsecondF60 = $context->builder->fmul($ninetyninthF60, $nF60); + $hundredsecondF60 = $context->builder->fmul($hundredsecondF60, $nF60); + $hundredsecondF60 = $context->builder->fmul($hundredsecondF60, $nF60); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF60 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok60Block); + $hundredthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyninthLong, + $n + ); + $ov61 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredthVar->longArithOverflowFlag); + if (null === $ov61 || null === $hundredthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (hundredth)'); + } + $hundredthLong = JITVariable::KIND_VARIABLE === $hundredthVar->kind + ? $context->builder->load($hundredthVar->value) + : $hundredthVar->value; + $ov61Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredth_ov'); + $ok61Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredth_ok'); + $context->builder->branchIf($ov61, $ov61Block, $ok61Block); + + $context->builder->positionAtEnd($ov61Block); + $hundredthF61 = $context->builder->load($hundredthVar->longArithOverflowDoubleSlot); + $nF61 = $context->builder->siToFp($n, $f64); + $hundredsecondF61 = $context->builder->fmul($hundredthF61, $nF61); + $hundredsecondF61 = $context->builder->fmul($hundredsecondF61, $nF61); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF61 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok61Block); + $hundredfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $hundredthLong, + $n + ); + $ov62 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredfirstVar->longArithOverflowFlag); + if (null === $ov62 || null === $hundredfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **102 expected smul overflow metadata (hundredfirst)'); + } + $hundredfirstLong = JITVariable::KIND_VARIABLE === $hundredfirstVar->kind + ? $context->builder->load($hundredfirstVar->value) + : $hundredfirstVar->value; + $ov62Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredfirst_ov'); + $ok62Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredfirst_ok'); + $context->builder->branchIf($ov62, $ov62Block, $ok62Block); + + $context->builder->positionAtEnd($ov62Block); + $hundredfirstF62 = $context->builder->load($hundredfirstVar->longArithOverflowDoubleSlot); + $nF62 = $context->builder->siToFp($n, $f64); + $hundredsecondF62 = $context->builder->fmul($hundredfirstF62, $nF62); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredsecondF62 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok62Block); + JitLongArithOverflow::writeBoxedBinary( + $context, + OpCode::TYPE_MUL, + $hundredfirstLong, + $n, + $slotPtr + ); + $context->builder->branch($doneBlock); + + + $context->builder->positionAtEnd($doneBlock); + + return true; + } + + + if ('hundredthird' === $expFold) { + // n^101 = hundredth*n; overflow arms +1 ×nF vs **100. + // tenth=fifth*fifth, twentieth=tenth*tenth, + // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, + // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). + // Overflow arms finish in float with one extra ×nF vs **103. + $baseL = JitLongArg::lower($context, $base, 'pow() base'); + $i64 = $context->getTypeFromString('int64'); + $f64 = $context->getTypeFromString('double'); + $n = $context->builder->intCast($baseL, $i64); + $sqVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $n, + $n + ); + $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); + if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sq)'); + } + $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind + ? $context->builder->load($sqVar->value) + : $sqVar->value; + $ov1Block = BasicBlockHelper::append($context, 'pow_hundredthird_sq_ov'); + $ok1Block = BasicBlockHelper::append($context, 'pow_hundredthird_sq_ok'); + $doneBlock = BasicBlockHelper::append($context, 'pow_hundredthird_done'); + $context->builder->branchIf($ov1, $ov1Block, $ok1Block); + + $context->builder->positionAtEnd($ov1Block); + $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); + $sq2F = $context->builder->fmul($sqF, $sqF); + $sq4F = $context->builder->fmul($sq2F, $sq2F); + $sq8F = $context->builder->fmul($sq4F, $sq4F); + $twentiethF = $context->builder->fmul($sq8F, $sq2F); + $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); + $fortysecondF = $context->builder->fmul($fortiethF, $sqF); + $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); + $hundredthirdFSq = $context->builder->fmul($fortyfourthF, $sqF); + $hundredthirdFEighth = $context->builder->fmul($hundredthirdFSq, $sqF); + $hundredthirdF = $context->builder->fmul($hundredthirdFEighth, $sqF); + $nF = $context->builder->siToFp($n, $f64); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok1Block); + $cuVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sqLong, + $n + ); + $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); + if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (cu)'); + } + $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind + ? $context->builder->load($cuVar->value) + : $cuVar->value; + $ov2Block = BasicBlockHelper::append($context, 'pow_hundredthird_cu_ov'); + $ok2Block = BasicBlockHelper::append($context, 'pow_hundredthird_cu_ok'); + $context->builder->branchIf($ov2, $ov2Block, $ok2Block); + + $context->builder->positionAtEnd($ov2Block); + $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); + $sqF2 = $context->builder->siToFp($sqLong, $f64); + $fifthF = $context->builder->fmul($cuF, $sqF2); + $tenthF2 = $context->builder->fmul($fifthF, $fifthF); + $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); + $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); + $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); + $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); + $hundredthirdF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); + $hundredthirdF2Eighth = $context->builder->fmul($hundredthirdF2Sq, $sqF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2Eighth, $sqF2); + $nF2 = $context->builder->siToFp($n, $f64); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); + $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF2 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok2Block); + $fifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $cuLong, + $sqLong + ); + $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); + if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fifth)'); + } + $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind + ? $context->builder->load($fifthVar->value) + : $fifthVar->value; + $ov3Block = BasicBlockHelper::append($context, 'pow_hundredthird_fifth_ov'); + $ok3Block = BasicBlockHelper::append($context, 'pow_hundredthird_fifth_ok'); + $context->builder->branchIf($ov3, $ov3Block, $ok3Block); + + $context->builder->positionAtEnd($ov3Block); + $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); + $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); + $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); + $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); + $sqF3 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); + $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); + $hundredthirdF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); + $hundredthirdF3Eighth = $context->builder->fmul($hundredthirdF3Sq, $sqF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3Eighth, $sqF3); + $nF3 = $context->builder->siToFp($n, $f64); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); + $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF3 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok3Block); + $tenthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fifthLong, + $fifthLong + ); + $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); + if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (tenth)'); + } + $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind + ? $context->builder->load($tenthVar->value) + : $tenthVar->value; + $ov4Block = BasicBlockHelper::append($context, 'pow_hundredthird_tenth_ov'); + $ok4Block = BasicBlockHelper::append($context, 'pow_hundredthird_tenth_ok'); + $context->builder->branchIf($ov4, $ov4Block, $ok4Block); + + $context->builder->positionAtEnd($ov4Block); + $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); + $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); + $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); + $sqF4 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); + $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); + $hundredthirdF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); + $hundredthirdF4Eighth = $context->builder->fmul($hundredthirdF4Sq, $sqF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4Eighth, $sqF4); + $nF4 = $context->builder->siToFp($n, $f64); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); + $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF4 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok4Block); + $twentiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $tenthLong, + $tenthLong + ); + $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); + if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (twentieth)'); + } + $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind + ? $context->builder->load($twentiethVar->value) + : $twentiethVar->value; + $ov5Block = BasicBlockHelper::append($context, 'pow_hundredthird_twentieth_ov'); + $ok5Block = BasicBlockHelper::append($context, 'pow_hundredthird_twentieth_ok'); + $context->builder->branchIf($ov5, $ov5Block, $ok5Block); + + $context->builder->positionAtEnd($ov5Block); + $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); + $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); + $sqF5 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); + $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); + $hundredthirdF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); + $hundredthirdF5Eighth = $context->builder->fmul($hundredthirdF5Sq, $sqF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5Eighth, $sqF5); + $nF5 = $context->builder->siToFp($n, $f64); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); + $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF5 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok5Block); + $fortiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $twentiethLong, + $twentiethLong + ); + $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); + if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fortieth)'); + } + $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind + ? $context->builder->load($fortiethVar->value) + : $fortiethVar->value; + $ov6Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortieth_ov'); + $ok6Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortieth_ok'); + $context->builder->branchIf($ov6, $ov6Block, $ok6Block); + + $context->builder->positionAtEnd($ov6Block); + $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); + $sqF6 = $context->builder->siToFp($sqLong, $f64); + $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); + $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); + $hundredthirdF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); + $hundredthirdF6Eighth = $context->builder->fmul($hundredthirdF6Sq, $sqF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6Eighth, $sqF6); + $nF6 = $context->builder->siToFp($n, $f64); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); + $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF6 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok6Block); + $fortysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortiethLong, + $sqLong + ); + $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); + if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fortysecond)'); + } + $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind + ? $context->builder->load($fortysecondVar->value) + : $fortysecondVar->value; + $ov7Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysecond_ov'); + $ok7Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysecond_ok'); + $context->builder->branchIf($ov7, $ov7Block, $ok7Block); + + $context->builder->positionAtEnd($ov7Block); + $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); + $sqF7 = $context->builder->siToFp($sqLong, $f64); + $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); + $hundredthirdF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); + $hundredthirdF7Eighth = $context->builder->fmul($hundredthirdF7Sq, $sqF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7Eighth, $sqF7); + $nF7 = $context->builder->siToFp($n, $f64); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); + $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF7 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok7Block); + $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysecondLong, + $sqLong + ); + $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); + if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fortyfourth)'); + } + $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind + ? $context->builder->load($fortyfourthVar->value) + : $fortyfourthVar->value; + $ov8Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyfourth_ov'); + $ok8Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyfourth_ok'); + $context->builder->branchIf($ov8, $ov8Block, $ok8Block); + + $context->builder->positionAtEnd($ov8Block); + $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); + $sqF8 = $context->builder->siToFp($sqLong, $f64); + $hundredthirdF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); + $hundredthirdF8Eighth = $context->builder->fmul($hundredthirdF8Sq, $sqF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8Eighth, $sqF8); + $nF8 = $context->builder->siToFp($n, $f64); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); + $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF8 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok8Block); + $fortysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyfourthLong, + $sqLong + ); + $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); + if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fortysixth)'); + } + $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind + ? $context->builder->load($fortysixthVar->value) + : $fortysixthVar->value; + $ov9Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysixth_ov'); + $ok9Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysixth_ok'); + $context->builder->branchIf($ov9, $ov9Block, $ok9Block); + + $context->builder->positionAtEnd($ov9Block); + $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); + $sqF9 = $context->builder->siToFp($sqLong, $f64); + $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); + $hundredthirdF9 = $context->builder->fmul($fortyeighthF9, $sqF9); + $nF9 = $context->builder->siToFp($n, $f64); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); + $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF9 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok9Block); + $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortysixthLong, + $sqLong + ); + $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); + if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fortyeighth)'); + } + $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind + ? $context->builder->load($fortyeighthVar->value) + : $fortyeighthVar->value; + $ov10Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyeighth_ov'); + $ok10Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyeighth_ok'); + $context->builder->branchIf($ov10, $ov10Block, $ok10Block); + + $context->builder->positionAtEnd($ov10Block); + $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); + $sqF10 = $context->builder->siToFp($sqLong, $f64); + $hundredthirdF10 = $context->builder->fmul($fortyeighthF10, $sqF10); + $nF10 = $context->builder->siToFp($n, $f64); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); + $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF10 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok10Block); + $fiftiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fortyeighthLong, + $sqLong + ); + $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); + if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftieth)'); + } + $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind + ? $context->builder->load($fiftiethVar->value) + : $fiftiethVar->value; + $ov11Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftieth_ov'); + $ok11Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftieth_ok'); + $context->builder->branchIf($ov11, $ov11Block, $ok11Block); + + $context->builder->positionAtEnd($ov11Block); + $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); + $nF11 = $context->builder->siToFp($n, $f64); + $hundredthirdF11 = $context->builder->fmul($fiftiethF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); + $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF11 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok11Block); + $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftiethLong, + $n + ); + $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); + if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyfirst)'); + } + $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind + ? $context->builder->load($fiftyfirstVar->value) + : $fiftyfirstVar->value; + $ov12Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfirst_ov'); + $ok12Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfirst_ok'); + $context->builder->branchIf($ov12, $ov12Block, $ok12Block); + + $context->builder->positionAtEnd($ov12Block); + $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); + $nF12 = $context->builder->siToFp($n, $f64); + $hundredthirdF12 = $context->builder->fmul($fiftyfirstF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); + $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF12 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok12Block); + $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfirstLong, + $n + ); + $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); + if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftysecond)'); + } + $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind + ? $context->builder->load($fiftysecondVar->value) + : $fiftysecondVar->value; + $ov13Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysecond_ov'); + $ok13Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysecond_ok'); + $context->builder->branchIf($ov13, $ov13Block, $ok13Block); + + $context->builder->positionAtEnd($ov13Block); + $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); + $nF13 = $context->builder->siToFp($n, $f64); + $hundredthirdF13 = $context->builder->fmul($fiftysecondF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); + $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF13 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok13Block); + $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysecondLong, + $n + ); + $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); + if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftythird)'); + } + $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind + ? $context->builder->load($fiftythirdVar->value) + : $fiftythirdVar->value; + $ov14Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftythird_ov'); + $ok14Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftythird_ok'); + $context->builder->branchIf($ov14, $ov14Block, $ok14Block); + + $context->builder->positionAtEnd($ov14Block); + $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); + $nF14 = $context->builder->siToFp($n, $f64); + $hundredthirdF14 = $context->builder->fmul($fiftythirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); + $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF14 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok14Block); + $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftythirdLong, + $n + ); + $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); + if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyfourth)'); + } + $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind + ? $context->builder->load($fiftyfourthVar->value) + : $fiftyfourthVar->value; + $ov15Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfourth_ov'); + $ok15Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfourth_ok'); + $context->builder->branchIf($ov15, $ov15Block, $ok15Block); + + $context->builder->positionAtEnd($ov15Block); + $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); + $nF15 = $context->builder->siToFp($n, $f64); + $hundredthirdF15 = $context->builder->fmul($fiftyfourthF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); + $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF15 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok15Block); + $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfourthLong, + $n + ); + $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); + if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyfifth)'); + } + $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind + ? $context->builder->load($fiftyfifthVar->value) + : $fiftyfifthVar->value; + $ov16Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfifth_ov'); + $ok16Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfifth_ok'); + $context->builder->branchIf($ov16, $ov16Block, $ok16Block); + + $context->builder->positionAtEnd($ov16Block); + $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); + $nF16 = $context->builder->siToFp($n, $f64); + $hundredthirdF16 = $context->builder->fmul($fiftyfifthF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); + $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF16 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok16Block); + $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyfifthLong, + $n + ); + $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); + if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftysixth)'); + } + $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind + ? $context->builder->load($fiftysixthVar->value) + : $fiftysixthVar->value; + $ov17Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysixth_ov'); + $ok17Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysixth_ok'); + $context->builder->branchIf($ov17, $ov17Block, $ok17Block); + + $context->builder->positionAtEnd($ov17Block); + $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); + $nF17 = $context->builder->siToFp($n, $f64); + $hundredthirdF17 = $context->builder->fmul($fiftysixthF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); + $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF17 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok17Block); + $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftysixthLong, + $n + ); + $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); + if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyseventh)'); + } + $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind + ? $context->builder->load($fiftyseventhVar->value) + : $fiftyseventhVar->value; + $ov18Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyseventh_ov'); + $ok18Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyseventh_ok'); + $context->builder->branchIf($ov18, $ov18Block, $ok18Block); + + $context->builder->positionAtEnd($ov18Block); + $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); + $nF18 = $context->builder->siToFp($n, $f64); + $hundredthirdF18 = $context->builder->fmul($fiftyseventhF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); + $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF18 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok18Block); + $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyseventhLong, + $n + ); + $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); + if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyeighth)'); + } + $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind + ? $context->builder->load($fiftyeighthVar->value) + : $fiftyeighthVar->value; + $ov19Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyeighth_ov'); + $ok19Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyeighth_ok'); + $context->builder->branchIf($ov19, $ov19Block, $ok19Block); + + $context->builder->positionAtEnd($ov19Block); + $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); + $nF19 = $context->builder->siToFp($n, $f64); + $hundredthirdF19 = $context->builder->fmul($fiftyeighthF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); + $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF19 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok19Block); + $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyeighthLong, + $n + ); + $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); + if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyninth)'); + } + $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind + ? $context->builder->load($fiftyninthVar->value) + : $fiftyninthVar->value; + $ov20Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyninth_ov'); + $ok20Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyninth_ok'); + $context->builder->branchIf($ov20, $ov20Block, $ok20Block); + + $context->builder->positionAtEnd($ov20Block); + $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); + $nF20 = $context->builder->siToFp($n, $f64); + $hundredthirdF20 = $context->builder->fmul($fiftyninthF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); + $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF20 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok20Block); + $sixtiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $fiftyninthLong, + $n + ); + $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); + if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtieth)'); + } + $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind + ? $context->builder->load($sixtiethVar->value) + : $sixtiethVar->value; + $ov21Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtieth_ov'); + $ok21Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtieth_ok'); + $context->builder->branchIf($ov21, $ov21Block, $ok21Block); + + $context->builder->positionAtEnd($ov21Block); + $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); + $nF21 = $context->builder->siToFp($n, $f64); + $hundredthirdF21 = $context->builder->fmul($sixtiethF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); + $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF21 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok21Block); + $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtiethLong, + $n + ); + $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); + if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyfirst)'); + } + $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind + ? $context->builder->load($sixtyfirstVar->value) + : $sixtyfirstVar->value; + $ov22Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfirst_ov'); + $ok22Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfirst_ok'); + $context->builder->branchIf($ov22, $ov22Block, $ok22Block); + + $context->builder->positionAtEnd($ov22Block); + $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); + $nF22 = $context->builder->siToFp($n, $f64); + $hundredthirdF22 = $context->builder->fmul($sixtyfirstF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); + $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF22 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok22Block); + $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfirstLong, + $n + ); + $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); + if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtysecond)'); + } + $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind + ? $context->builder->load($sixtysecondVar->value) + : $sixtysecondVar->value; + $ov23Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysecond_ov'); + $ok23Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysecond_ok'); + $context->builder->branchIf($ov23, $ov23Block, $ok23Block); + + $context->builder->positionAtEnd($ov23Block); + $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); + $nF23 = $context->builder->siToFp($n, $f64); + $hundredthirdF23 = $context->builder->fmul($sixtysecondF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); + $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF23 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok23Block); + $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysecondLong, + $n + ); + $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); + if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtythird)'); + } + $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind + ? $context->builder->load($sixtythirdVar->value) + : $sixtythirdVar->value; + $ov24Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtythird_ov'); + $ok24Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtythird_ok'); + $context->builder->branchIf($ov24, $ov24Block, $ok24Block); + + $context->builder->positionAtEnd($ov24Block); + $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); + $nF24 = $context->builder->siToFp($n, $f64); + $hundredthirdF24 = $context->builder->fmul($sixtythirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); + $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF24 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok24Block); + $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtythirdLong, + $n + ); + $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); + if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyfourth)'); + } + $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind + ? $context->builder->load($sixtyfourthVar->value) + : $sixtyfourthVar->value; + $ov25Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfourth_ov'); + $ok25Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfourth_ok'); + $context->builder->branchIf($ov25, $ov25Block, $ok25Block); + + $context->builder->positionAtEnd($ov25Block); + $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); + $nF25 = $context->builder->siToFp($n, $f64); + $hundredthirdF25 = $context->builder->fmul($sixtyfourthF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); + $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF25 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok25Block); + $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfourthLong, + $n + ); + $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); + if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyfifth)'); + } + $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind + ? $context->builder->load($sixtyfifthVar->value) + : $sixtyfifthVar->value; + $ov26Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfifth_ov'); + $ok26Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfifth_ok'); + $context->builder->branchIf($ov26, $ov26Block, $ok26Block); + + $context->builder->positionAtEnd($ov26Block); + $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); + $nF26 = $context->builder->siToFp($n, $f64); + $hundredthirdF26 = $context->builder->fmul($sixtyfifthF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); + $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF26 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok26Block); + $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyfifthLong, + $n + ); + $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); + if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtysixth)'); + } + $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind + ? $context->builder->load($sixtysixthVar->value) + : $sixtysixthVar->value; + $ov27Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysixth_ov'); + $ok27Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysixth_ok'); + $context->builder->branchIf($ov27, $ov27Block, $ok27Block); + + $context->builder->positionAtEnd($ov27Block); + $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); + $nF27 = $context->builder->siToFp($n, $f64); + $hundredthirdF27 = $context->builder->fmul($sixtysixthF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); + $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF27 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok27Block); + $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtysixthLong, + $n + ); + $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); + if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyseventh)'); + } + $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind + ? $context->builder->load($sixtyseventhVar->value) + : $sixtyseventhVar->value; + $ov28Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyseventh_ov'); + $ok28Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyseventh_ok'); + $context->builder->branchIf($ov28, $ov28Block, $ok28Block); + + $context->builder->positionAtEnd($ov28Block); + $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); + $nF28 = $context->builder->siToFp($n, $f64); + $hundredthirdF28 = $context->builder->fmul($sixtyseventhF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); + $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF28 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok28Block); + $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyseventhLong, + $n + ); + $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); + if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyeighth)'); + } + $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind + ? $context->builder->load($sixtyeighthVar->value) + : $sixtyeighthVar->value; + $ov29Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyeighth_ov'); + $ok29Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyeighth_ok'); + $context->builder->branchIf($ov29, $ov29Block, $ok29Block); + + $context->builder->positionAtEnd($ov29Block); + $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); + $nF29 = $context->builder->siToFp($n, $f64); + $hundredthirdF29 = $context->builder->fmul($sixtyeighthF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); + $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF29 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok29Block); + $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyeighthLong, + $n + ); + $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); + if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyninth)'); + } + $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind + ? $context->builder->load($sixtyninthVar->value) + : $sixtyninthVar->value; + $ov30Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyninth_ov'); + $ok30Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyninth_ok'); + $context->builder->branchIf($ov30, $ov30Block, $ok30Block); + + $context->builder->positionAtEnd($ov30Block); + $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); + $nF30 = $context->builder->siToFp($n, $f64); + $hundredthirdF30 = $context->builder->fmul($sixtyninthF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); + $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF30 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok30Block); + $seventiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $sixtyninthLong, + $n + ); + $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); + if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventieth)'); + } + $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind + ? $context->builder->load($seventiethVar->value) + : $seventiethVar->value; + $ov31Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventieth_ov'); + $ok31Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventieth_ok'); + $context->builder->branchIf($ov31, $ov31Block, $ok31Block); + + $context->builder->positionAtEnd($ov31Block); + $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); + $nF31 = $context->builder->siToFp($n, $f64); + $hundredthirdF31 = $context->builder->fmul($seventiethF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); + $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF31 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok31Block); + $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventiethLong, + $n + ); + $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); + if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventyfirst)'); + } + $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind + ? $context->builder->load($seventyfirstVar->value) + : $seventyfirstVar->value; + $ov32Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfirst_ov'); + $ok32Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfirst_ok'); + $context->builder->branchIf($ov32, $ov32Block, $ok32Block); + + $context->builder->positionAtEnd($ov32Block); + $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); + $nF32 = $context->builder->siToFp($n, $f64); + $hundredthirdF32 = $context->builder->fmul($seventyfirstF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); + $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF32 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok32Block); + $seventysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfirstLong, + $n + ); + $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); + if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventysecond)'); + } + $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind + ? $context->builder->load($seventysecondVar->value) + : $seventysecondVar->value; + $ov33Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysecond_ov'); + $ok33Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysecond_ok'); + $context->builder->branchIf($ov33, $ov33Block, $ok33Block); + + $context->builder->positionAtEnd($ov33Block); + $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); + $nF33 = $context->builder->siToFp($n, $f64); + $hundredthirdF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($seventysecondF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); + $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF33 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok33Block); + $seventythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysecondLong, + $n + ); + $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); + if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventythird)'); + } + $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind + ? $context->builder->load($seventythirdVar->value) + : $seventythirdVar->value; + $ov34Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventythird_ov'); + $ok34Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventythird_ok'); + $context->builder->branchIf($ov34, $ov34Block, $ok34Block); + + $context->builder->positionAtEnd($ov34Block); + $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); + $nF34 = $context->builder->siToFp($n, $f64); + $hundredthirdF34 = $context->builder->fmul($seventythirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); + $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF34 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok34Block); + $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventythirdLong, + $n + ); + $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); + if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventyfourth)'); + } + $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind + ? $context->builder->load($seventyfourthVar->value) + : $seventyfourthVar->value; + $ov35Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfourth_ov'); + $ok35Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfourth_ok'); + $context->builder->branchIf($ov35, $ov35Block, $ok35Block); + + $context->builder->positionAtEnd($ov35Block); + $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); + $nF35 = $context->builder->siToFp($n, $f64); + $hundredthirdF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($seventyfourthF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); + $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF35 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok35Block); + $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfourthLong, + $n + ); + $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); + if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventyfifth)'); + } + $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind + ? $context->builder->load($seventyfifthVar->value) + : $seventyfifthVar->value; + $ov36Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfifth_ov'); + $ok36Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfifth_ok'); + $context->builder->branchIf($ov36, $ov36Block, $ok36Block); + + $context->builder->positionAtEnd($ov36Block); + $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); + $nF36 = $context->builder->siToFp($n, $f64); + $hundredthirdF36 = $context->builder->fmul($seventyfifthF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); + $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF36 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok36Block); + $seventysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyfifthLong, + $n + ); + $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); + if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventysixth)'); + } + $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind + ? $context->builder->load($seventysixthVar->value) + : $seventysixthVar->value; + $ov37Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysixth_ov'); + $ok37Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysixth_ok'); + $context->builder->branchIf($ov37, $ov37Block, $ok37Block); + + $context->builder->positionAtEnd($ov37Block); + $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); + $nF37 = $context->builder->siToFp($n, $f64); + $hundredthirdF37 = $context->builder->fmul($seventysixthF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); + $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF37 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok37Block); + $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventysixthLong, + $n + ); + $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); + if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventyseventh)'); + } + $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind + ? $context->builder->load($seventyseventhVar->value) + : $seventyseventhVar->value; + $ov38Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyseventh_ov'); + $ok38Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyseventh_ok'); + $context->builder->branchIf($ov38, $ov38Block, $ok38Block); + + $context->builder->positionAtEnd($ov38Block); + $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); + $nF38 = $context->builder->siToFp($n, $f64); + $hundredthirdF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($seventyseventhF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); + $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF38 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok38Block); + $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyseventhLong, + $n + ); + $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); + if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventyeighth)'); + } + $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind + ? $context->builder->load($seventyeighthVar->value) + : $seventyeighthVar->value; + $ov39Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyeighth_ov'); + $ok39Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyeighth_ok'); + $context->builder->branchIf($ov39, $ov39Block, $ok39Block); + + $context->builder->positionAtEnd($ov39Block); + $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); + $nF39 = $context->builder->siToFp($n, $f64); + $hundredthirdF39 = $context->builder->fmul($seventyeighthF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF39 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok39Block); + $seventyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyeighthLong, + $n + ); + $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); + if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (seventyninth)'); + } + $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind + ? $context->builder->load($seventyninthVar->value) + : $seventyninthVar->value; + $ov40Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyninth_ov'); + $ok40Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyninth_ok'); + $context->builder->branchIf($ov40, $ov40Block, $ok40Block); + + $context->builder->positionAtEnd($ov40Block); + $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); + $nF40 = $context->builder->siToFp($n, $f64); + $hundredthirdF40 = $context->builder->fmul($seventyninthF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF40 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok40Block); + $eightiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $seventyninthLong, + $n + ); + $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); + if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightieth)'); + } + $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind + ? $context->builder->load($eightiethVar->value) + : $eightiethVar->value; + $ov41Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightieth_ov'); + $ok41Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightieth_ok'); + $context->builder->branchIf($ov41, $ov41Block, $ok41Block); + + $context->builder->positionAtEnd($ov41Block); + $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); + $nF41 = $context->builder->siToFp($n, $f64); + $hundredthirdF41 = $context->builder->fmul($eightiethF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF41 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok41Block); + $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightiethLong, + $n + ); + $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); + if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightyfirst)'); + } + $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind + ? $context->builder->load($eightyfirstVar->value) + : $eightyfirstVar->value; + $ov42Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfirst_ov'); + $ok42Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfirst_ok'); + $context->builder->branchIf($ov42, $ov42Block, $ok42Block); + + $context->builder->positionAtEnd($ov42Block); + $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); + $nF42 = $context->builder->siToFp($n, $f64); + $hundredthirdF42 = $context->builder->fmul($eightyfirstF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF42 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok42Block); + $eightysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfirstLong, + $n + ); + $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); + if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightysecond)'); + } + $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind + ? $context->builder->load($eightysecondVar->value) + : $eightysecondVar->value; + $ov43Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysecond_ov'); + $ok43Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysecond_ok'); + $context->builder->branchIf($ov43, $ov43Block, $ok43Block); + + $context->builder->positionAtEnd($ov43Block); + $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); + $nF43 = $context->builder->siToFp($n, $f64); + $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF43 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok43Block); + $eightythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysecondLong, + $n + ); + $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); + if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightythird)'); + } + $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind + ? $context->builder->load($eightythirdVar->value) + : $eightythirdVar->value; + $ov44Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightythird_ov'); + $ok44Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightythird_ok'); + $context->builder->branchIf($ov44, $ov44Block, $ok44Block); + + $context->builder->positionAtEnd($ov44Block); + $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); + $nF44 = $context->builder->siToFp($n, $f64); + $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF44 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok44Block); + $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightythirdLong, + $n + ); + $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); + if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightyfourth)'); + } + $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind + ? $context->builder->load($eightyfourthVar->value) + : $eightyfourthVar->value; + $ov45Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfourth_ov'); + $ok45Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfourth_ok'); + $context->builder->branchIf($ov45, $ov45Block, $ok45Block); + + $context->builder->positionAtEnd($ov45Block); + $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); + $nF45 = $context->builder->siToFp($n, $f64); + $hundredthirdF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($eightyfourthF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF45 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok45Block); + $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfourthLong, + $n + ); + $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); + if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightyfifth)'); + } + $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind + ? $context->builder->load($eightyfifthVar->value) + : $eightyfifthVar->value; + $ov46Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfifth_ov'); + $ok46Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfifth_ok'); + $context->builder->branchIf($ov46, $ov46Block, $ok46Block); + + $context->builder->positionAtEnd($ov46Block); + $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); + $nF46 = $context->builder->siToFp($n, $f64); + $hundredthirdF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($eightyfifthF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF46 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok46Block); + $eightysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyfifthLong, + $n + ); + $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); + if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightysixth)'); + } + $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind + ? $context->builder->load($eightysixthVar->value) + : $eightysixthVar->value; + $ov47Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysixth_ov'); + $ok47Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysixth_ok'); + $context->builder->branchIf($ov47, $ov47Block, $ok47Block); + + $context->builder->positionAtEnd($ov47Block); + $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); + $nF47 = $context->builder->siToFp($n, $f64); + $hundredthirdF47 = $context->builder->fmul($eightysixthF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF47 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok47Block); + + $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightysixthLong, + $n + ); + $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); + if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightyseventh)'); + } + $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind + ? $context->builder->load($eightyseventhVar->value) + : $eightyseventhVar->value; + $ov48Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyseventh_ov'); + $ok48Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyseventh_ok'); + $context->builder->branchIf($ov48, $ov48Block, $ok48Block); + + $context->builder->positionAtEnd($ov48Block); + $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); + $nF48 = $context->builder->siToFp($n, $f64); + $hundredthirdF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($eightyseventhF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF48 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok48Block); + $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyseventhLong, + $n + ); + $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); + if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightyeighth)'); + } + $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind + ? $context->builder->load($eightyeighthVar->value) + : $eightyeighthVar->value; + $ov49Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyeighth_ov'); + $ok49Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyeighth_ok'); + $context->builder->branchIf($ov49, $ov49Block, $ok49Block); + + $context->builder->positionAtEnd($ov49Block); + $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); + $nF49 = $context->builder->siToFp($n, $f64); + $hundredthirdF49 = $context->builder->fmul($eightyeighthF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF49 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok49Block); + $eightyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyeighthLong, + $n + ); + $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); + if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (eightyninth)'); + } + $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind + ? $context->builder->load($eightyninthVar->value) + : $eightyninthVar->value; + $ov50Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyninth_ov'); + $ok50Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyninth_ok'); + $context->builder->branchIf($ov50, $ov50Block, $ok50Block); + + $context->builder->positionAtEnd($ov50Block); + $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); + $nF50 = $context->builder->siToFp($n, $f64); + $hundredthirdF50 = $context->builder->fmul($eightyninthF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF50 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok50Block); + $ninetiethVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $eightyninthLong, + $n + ); + $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); + if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetieth)'); + } + $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind + ? $context->builder->load($ninetiethVar->value) + : $ninetiethVar->value; + $ov51Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetieth_ov'); + $ok51Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetieth_ok'); + $context->builder->branchIf($ov51, $ov51Block, $ok51Block); + + $context->builder->positionAtEnd($ov51Block); + $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); + $nF51 = $context->builder->siToFp($n, $f64); + $hundredthirdF51 = $context->builder->fmul($ninetiethF51, $nF51); + $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); + $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); + $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); + $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); + $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); + $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); + $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF51 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok51Block); + $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetiethLong, + $n + ); + $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); + if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyfirst)'); + } + $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind + ? $context->builder->load($ninetyfirstVar->value) + : $ninetyfirstVar->value; + $ov52Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfirst_ov'); + $ok52Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfirst_ok'); + $context->builder->branchIf($ov52, $ov52Block, $ok52Block); + + $context->builder->positionAtEnd($ov52Block); + $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); + $nF52 = $context->builder->siToFp($n, $f64); + $hundredthirdF52 = $context->builder->fmul($ninetyfirstF52, $nF52); + $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); + $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); + $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); + $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); + $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); + $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF52 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok52Block); + $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfirstLong, + $n + ); + $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); + if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetysecond)'); + } + $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind + ? $context->builder->load($ninetysecondVar->value) + : $ninetysecondVar->value; + $ov53Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysecond_ov'); + $ok53Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysecond_ok'); + $context->builder->branchIf($ov53, $ov53Block, $ok53Block); + + $context->builder->positionAtEnd($ov53Block); + $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); + $nF53 = $context->builder->siToFp($n, $f64); + $hundredthirdF53 = $context->builder->fmul($ninetysecondF53, $nF53); + $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); + $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); + $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); + $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); + $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF53 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok53Block); + $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysecondLong, + $n + ); + $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); + if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetythird)'); + } + $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind + ? $context->builder->load($ninetythirdVar->value) + : $ninetythirdVar->value; + $ov54Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetythird_ov'); + $ok54Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetythird_ok'); + $context->builder->branchIf($ov54, $ov54Block, $ok54Block); + + $context->builder->positionAtEnd($ov54Block); + $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); + $nF54 = $context->builder->siToFp($n, $f64); + $hundredthirdF54 = $context->builder->fmul($ninetythirdF54, $nF54); + $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); + $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); + $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); + $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF54 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok54Block); + $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetythirdLong, + $n + ); + $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); + if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyfourth)'); + } + $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind + ? $context->builder->load($ninetyfourthVar->value) + : $ninetyfourthVar->value; + $ov55Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfourth_ov'); + $ok55Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfourth_ok'); + $context->builder->branchIf($ov55, $ov55Block, $ok55Block); + + $context->builder->positionAtEnd($ov55Block); + $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); + $nF55 = $context->builder->siToFp($n, $f64); + $hundredthirdF55 = $context->builder->fmul($ninetyfourthF55, $nF55); + $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); + $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); + $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); + $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF55 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok55Block); + + $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfourthLong, + $n + ); + $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); + if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyfifth)'); + } + $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind + ? $context->builder->load($ninetyfifthVar->value) + : $ninetyfifthVar->value; + $ov56Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfifth_ov'); + $ok56Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfifth_ok'); + $context->builder->branchIf($ov56, $ov56Block, $ok56Block); + + $context->builder->positionAtEnd($ov56Block); + $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); + $nF56 = $context->builder->siToFp($n, $f64); + $hundredthirdF56 = $context->builder->fmul($ninetyfifthF56, $nF56); + $hundredthirdF56 = $context->builder->fmul($hundredthirdF56, $nF56); + $hundredthirdF56 = $context->builder->fmul($hundredthirdF56, $nF56); + $hundredthirdF56 = $context->builder->fmul($hundredthirdF56, $nF56); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF56 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok56Block); + $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyfifthLong, + $n + ); + $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); + if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetysixth)'); + } + $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind + ? $context->builder->load($ninetysixthVar->value) + : $ninetysixthVar->value; + $ov57Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysixth_ov'); + $ok57Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysixth_ok'); + $context->builder->branchIf($ov57, $ov57Block, $ok57Block); + + $context->builder->positionAtEnd($ov57Block); + $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); + $nF57 = $context->builder->siToFp($n, $f64); + $hundredthirdF57 = $context->builder->fmul($ninetysixthF57, $nF57); + $hundredthirdF57 = $context->builder->fmul($hundredthirdF57, $nF57); + $hundredthirdF57 = $context->builder->fmul($hundredthirdF57, $nF57); + $hundredthirdF57 = $context->builder->fmul($hundredthirdF57, $nF57); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF57 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok57Block); + $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetysixthLong, + $n + ); + $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); + if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyseventh)'); + } + $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind + ? $context->builder->load($ninetyseventhVar->value) + : $ninetyseventhVar->value; + $ov58Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyseventh_ov'); + $ok58Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyseventh_ok'); + $context->builder->branchIf($ov58, $ov58Block, $ok58Block); + + $context->builder->positionAtEnd($ov58Block); + $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); + $nF58 = $context->builder->siToFp($n, $f64); + $hundredthirdF58 = $context->builder->fmul($ninetyseventhF58, $nF58); + $hundredthirdF58 = $context->builder->fmul($hundredthirdF58, $nF58); + $hundredthirdF58 = $context->builder->fmul($hundredthirdF58, $nF58); + $hundredthirdF58 = $context->builder->fmul($hundredthirdF58, $nF58); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF58 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok58Block); + $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyseventhLong, + $n + ); + $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); + if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyeighth)'); + } + $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind + ? $context->builder->load($ninetyeighthVar->value) + : $ninetyeighthVar->value; + $ov59Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyeighth_ov'); + $ok59Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyeighth_ok'); + $context->builder->branchIf($ov59, $ov59Block, $ok59Block); + + $context->builder->positionAtEnd($ov59Block); + $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); + $nF59 = $context->builder->siToFp($n, $f64); + $hundredthirdF59 = $context->builder->fmul($ninetyeighthF59, $nF59); + $hundredthirdF59 = $context->builder->fmul($hundredthirdF59, $nF59); + $hundredthirdF59 = $context->builder->fmul($hundredthirdF59, $nF59); + $hundredthirdF59 = $context->builder->fmul($hundredthirdF59, $nF59); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF59 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok59Block); + $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyeighthLong, + $n + ); + $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); + if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyninth)'); + } + $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind + ? $context->builder->load($ninetyninthVar->value) + : $ninetyninthVar->value; + $ov60Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyninth_ov'); + $ok60Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyninth_ok'); + $context->builder->branchIf($ov60, $ov60Block, $ok60Block); + + $context->builder->positionAtEnd($ov60Block); + $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); + $nF60 = $context->builder->siToFp($n, $f64); + $hundredthirdF60 = $context->builder->fmul($ninetyninthF60, $nF60); + $hundredthirdF60 = $context->builder->fmul($hundredthirdF60, $nF60); + $hundredthirdF60 = $context->builder->fmul($hundredthirdF60, $nF60); + $hundredthirdF60 = $context->builder->fmul($hundredthirdF60, $nF60); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF60 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok60Block); + $hundredthVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $ninetyninthLong, + $n + ); + $ov61 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredthVar->longArithOverflowFlag); + if (null === $ov61 || null === $hundredthVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (hundredth)'); + } + $hundredthLong = JITVariable::KIND_VARIABLE === $hundredthVar->kind + ? $context->builder->load($hundredthVar->value) + : $hundredthVar->value; + $ov61Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredth_ov'); + $ok61Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredth_ok'); + $context->builder->branchIf($ov61, $ov61Block, $ok61Block); + + $context->builder->positionAtEnd($ov61Block); + $hundredthF61 = $context->builder->load($hundredthVar->longArithOverflowDoubleSlot); + $nF61 = $context->builder->siToFp($n, $f64); + $hundredthirdF61 = $context->builder->fmul($hundredthF61, $nF61); + $hundredthirdF61 = $context->builder->fmul($hundredthirdF61, $nF61); + $hundredthirdF61 = $context->builder->fmul($hundredthirdF61, $nF61); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF61 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok61Block); + $hundredfirstVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $hundredthLong, + $n + ); + $ov62 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredfirstVar->longArithOverflowFlag); + if (null === $ov62 || null === $hundredfirstVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (hundredfirst)'); + } + $hundredfirstLong = JITVariable::KIND_VARIABLE === $hundredfirstVar->kind + ? $context->builder->load($hundredfirstVar->value) + : $hundredfirstVar->value; + $ov62Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredfirst_ov'); + $ok62Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredfirst_ok'); + $context->builder->branchIf($ov62, $ov62Block, $ok62Block); + + $context->builder->positionAtEnd($ov62Block); + $hundredfirstF62 = $context->builder->load($hundredfirstVar->longArithOverflowDoubleSlot); + $nF62 = $context->builder->siToFp($n, $f64); + $hundredthirdF62 = $context->builder->fmul($hundredfirstF62, $nF62); + $hundredthirdF62 = $context->builder->fmul($hundredthirdF62, $nF62); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF62 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok62Block); + $hundredsecondVar = JitLongArithOverflow::binaryNativeLong( + $context, + OpCode::TYPE_MUL, + $hundredfirstLong, + $n + ); + $ov63 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredsecondVar->longArithOverflowFlag); + if (null === $ov63 || null === $hundredsecondVar->longArithOverflowDoubleSlot) { + throw new \LogicException('pow() **103 expected smul overflow metadata (hundredsecond)'); + } + $hundredsecondLong = JITVariable::KIND_VARIABLE === $hundredsecondVar->kind + ? $context->builder->load($hundredsecondVar->value) + : $hundredsecondVar->value; + $ov63Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredsecond_ov'); + $ok63Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredsecond_ok'); + $context->builder->branchIf($ov63, $ov63Block, $ok63Block); + + $context->builder->positionAtEnd($ov63Block); + $hundredsecondF63 = $context->builder->load($hundredsecondVar->longArithOverflowDoubleSlot); + $nF63 = $context->builder->siToFp($n, $f64); + $hundredthirdF63 = $context->builder->fmul($hundredsecondF63, $nF63); + $context->builder->call( + $context->lookupFunction('__value__writeDouble'), + $slotPtr, + $hundredthirdF63 + ); + JitValueBox::publishAfterWrite($context, $slotPtr); + $context->builder->branch($doneBlock); + + $context->builder->positionAtEnd($ok63Block); + JitLongArithOverflow::writeBoxedBinary( + $context, + OpCode::TYPE_MUL, + $hundredsecondLong, + $n, + $slotPtr + ); + $context->builder->branch($doneBlock); + + + $context->builder->positionAtEnd($doneBlock); + + return true; + } + + throw new \LogicException('JitPowIntegerEmitExponents100to103: unhandled expFold '.$expFold); + } +} diff --git a/ext/standard/JitPowIntegerEmitExponents96to99.php b/ext/standard/JitPowIntegerEmitExponents96to99.php index c091ab2e483..a1648661e59 100644 --- a/ext/standard/JitPowIntegerEmitExponents96to99.php +++ b/ext/standard/JitPowIntegerEmitExponents96to99.php @@ -18,7 +18,7 @@ * for ninetysixth … ninetyninth (#36387 / #36386). * * Extracted from {@see JitPowIntegerEmitHigh} so gen-0 spine gets another TU - * (High retains hundredth+). + * (100–103 in {@see JitPowIntegerEmitExponents100to103}; High retains hundredfourth+). * * No new C ABI. php-src: Zend/zend_operators.c {@code pow_function} / * {@code zend_pow} / {@code mul_function}; ext/standard/math.c diff --git a/ext/standard/JitPowIntegerEmitHigh.php b/ext/standard/JitPowIntegerEmitHigh.php index a65ed695417..33f77ac1d32 100644 --- a/ext/standard/JitPowIntegerEmitHigh.php +++ b/ext/standard/JitPowIntegerEmitHigh.php @@ -15,14 +15,11 @@ /** * High compile-time exponent integer {@code pow}/{@code **} chained-smul - * emit (hundredth … hundredfifth) (#36387 / #36386). + * emit (hundredfourth … hundredfifth) (#36387 / #36386). * * Extracted from {@see JitPowIntegerEmit} so gen-0 spine gets another TU; - * 80–85 in {@see JitPowIntegerEmitExponents80to85}, - * 86–88 in {@see JitPowIntegerEmitExponents86to88}, - * 89–91 in {@see JitPowIntegerEmitExponents80to91}, - * 92–95 in {@see JitPowIntegerEmitExponents92to95}, - * 96–99 in {@see JitPowIntegerEmitExponents96to99}. + * 96–99 in {@see JitPowIntegerEmitExponents96to99}; + * 100–103 in {@see JitPowIntegerEmitExponents100to103}. * * No new C ABI. php-src: Zend/zend_operators.c {@code pow_function} / * {@code zend_pow} / {@code mul_function}; ext/standard/math.c @@ -44,10 +41,6 @@ public static function tryEmitIntegerPowViaMathFpow( return false; } static $high = [ - 'hundredth' => true, - 'hundredfirst' => true, - 'hundredsecond' => true, - 'hundredthird' => true, 'hundredfourth' => true, 'hundredfifth' => true, ]; @@ -55,14191 +48,6 @@ public static function tryEmitIntegerPowViaMathFpow( return false; } - if ('hundredth' === $expFold) { - // n^91 = ninetieth*n; overflow arms +1 ×nF vs **90. - // tenth=fifth*fifth, twentieth=tenth*tenth, - // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, - // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). - // Overflow arms finish in float with one extra ×nF vs **91. - $baseL = JitLongArg::lower($context, $base, 'pow() base'); - $i64 = $context->getTypeFromString('int64'); - $f64 = $context->getTypeFromString('double'); - $n = $context->builder->intCast($baseL, $i64); - $sqVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $n, - $n - ); - $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); - if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sq)'); - } - $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind - ? $context->builder->load($sqVar->value) - : $sqVar->value; - $ov1Block = BasicBlockHelper::append($context, 'pow_hundredth_sq_ov'); - $ok1Block = BasicBlockHelper::append($context, 'pow_hundredth_sq_ok'); - $doneBlock = BasicBlockHelper::append($context, 'pow_hundredth_done'); - $context->builder->branchIf($ov1, $ov1Block, $ok1Block); - - $context->builder->positionAtEnd($ov1Block); - $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); - $sq2F = $context->builder->fmul($sqF, $sqF); - $sq4F = $context->builder->fmul($sq2F, $sq2F); - $sq8F = $context->builder->fmul($sq4F, $sq4F); - $twentiethF = $context->builder->fmul($sq8F, $sq2F); - $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); - $fortysecondF = $context->builder->fmul($fortiethF, $sqF); - $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); - $hundredthFSq = $context->builder->fmul($fortyfourthF, $sqF); - $hundredthFEighth = $context->builder->fmul($hundredthFSq, $sqF); - $hundredthF = $context->builder->fmul($hundredthFEighth, $sqF); - $nF = $context->builder->siToFp($n, $f64); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $hundredthF = $context->builder->fmul($hundredthF, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok1Block); - $cuVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sqLong, - $n - ); - $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); - if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (cu)'); - } - $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind - ? $context->builder->load($cuVar->value) - : $cuVar->value; - $ov2Block = BasicBlockHelper::append($context, 'pow_hundredth_cu_ov'); - $ok2Block = BasicBlockHelper::append($context, 'pow_hundredth_cu_ok'); - $context->builder->branchIf($ov2, $ov2Block, $ok2Block); - - $context->builder->positionAtEnd($ov2Block); - $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); - $sqF2 = $context->builder->siToFp($sqLong, $f64); - $fifthF = $context->builder->fmul($cuF, $sqF2); - $tenthF2 = $context->builder->fmul($fifthF, $fifthF); - $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); - $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); - $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); - $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); - $hundredthF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); - $hundredthF2Eighth = $context->builder->fmul($hundredthF2Sq, $sqF2); - $hundredthF2 = $context->builder->fmul($hundredthF2Eighth, $sqF2); - $nF2 = $context->builder->siToFp($n, $f64); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $hundredthF2 = $context->builder->fmul($hundredthF2, $nF2); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF2 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok2Block); - $fifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $cuLong, - $sqLong - ); - $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); - if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fifth)'); - } - $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind - ? $context->builder->load($fifthVar->value) - : $fifthVar->value; - $ov3Block = BasicBlockHelper::append($context, 'pow_hundredth_fifth_ov'); - $ok3Block = BasicBlockHelper::append($context, 'pow_hundredth_fifth_ok'); - $context->builder->branchIf($ov3, $ov3Block, $ok3Block); - - $context->builder->positionAtEnd($ov3Block); - $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); - $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); - $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); - $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); - $sqF3 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); - $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); - $hundredthF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); - $hundredthF3Eighth = $context->builder->fmul($hundredthF3Sq, $sqF3); - $hundredthF3 = $context->builder->fmul($hundredthF3Eighth, $sqF3); - $nF3 = $context->builder->siToFp($n, $f64); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $hundredthF3 = $context->builder->fmul($hundredthF3, $nF3); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF3 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok3Block); - $tenthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fifthLong, - $fifthLong - ); - $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); - if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (tenth)'); - } - $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind - ? $context->builder->load($tenthVar->value) - : $tenthVar->value; - $ov4Block = BasicBlockHelper::append($context, 'pow_hundredth_tenth_ov'); - $ok4Block = BasicBlockHelper::append($context, 'pow_hundredth_tenth_ok'); - $context->builder->branchIf($ov4, $ov4Block, $ok4Block); - - $context->builder->positionAtEnd($ov4Block); - $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); - $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); - $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); - $sqF4 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); - $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); - $hundredthF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); - $hundredthF4Eighth = $context->builder->fmul($hundredthF4Sq, $sqF4); - $hundredthF4 = $context->builder->fmul($hundredthF4Eighth, $sqF4); - $nF4 = $context->builder->siToFp($n, $f64); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $hundredthF4 = $context->builder->fmul($hundredthF4, $nF4); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF4 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok4Block); - $twentiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $tenthLong, - $tenthLong - ); - $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); - if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (twentieth)'); - } - $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind - ? $context->builder->load($twentiethVar->value) - : $twentiethVar->value; - $ov5Block = BasicBlockHelper::append($context, 'pow_hundredth_twentieth_ov'); - $ok5Block = BasicBlockHelper::append($context, 'pow_hundredth_twentieth_ok'); - $context->builder->branchIf($ov5, $ov5Block, $ok5Block); - - $context->builder->positionAtEnd($ov5Block); - $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); - $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); - $sqF5 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); - $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); - $hundredthF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); - $hundredthF5Eighth = $context->builder->fmul($hundredthF5Sq, $sqF5); - $hundredthF5 = $context->builder->fmul($hundredthF5Eighth, $sqF5); - $nF5 = $context->builder->siToFp($n, $f64); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $hundredthF5 = $context->builder->fmul($hundredthF5, $nF5); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF5 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok5Block); - $fortiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $twentiethLong, - $twentiethLong - ); - $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); - if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fortieth)'); - } - $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind - ? $context->builder->load($fortiethVar->value) - : $fortiethVar->value; - $ov6Block = BasicBlockHelper::append($context, 'pow_hundredth_fortieth_ov'); - $ok6Block = BasicBlockHelper::append($context, 'pow_hundredth_fortieth_ok'); - $context->builder->branchIf($ov6, $ov6Block, $ok6Block); - - $context->builder->positionAtEnd($ov6Block); - $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); - $sqF6 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); - $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); - $hundredthF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); - $hundredthF6Eighth = $context->builder->fmul($hundredthF6Sq, $sqF6); - $hundredthF6 = $context->builder->fmul($hundredthF6Eighth, $sqF6); - $nF6 = $context->builder->siToFp($n, $f64); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $hundredthF6 = $context->builder->fmul($hundredthF6, $nF6); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF6 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok6Block); - $fortysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortiethLong, - $sqLong - ); - $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); - if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fortysecond)'); - } - $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind - ? $context->builder->load($fortysecondVar->value) - : $fortysecondVar->value; - $ov7Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysecond_ov'); - $ok7Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysecond_ok'); - $context->builder->branchIf($ov7, $ov7Block, $ok7Block); - - $context->builder->positionAtEnd($ov7Block); - $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); - $sqF7 = $context->builder->siToFp($sqLong, $f64); - $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); - $hundredthF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); - $hundredthF7Eighth = $context->builder->fmul($hundredthF7Sq, $sqF7); - $hundredthF7 = $context->builder->fmul($hundredthF7Eighth, $sqF7); - $nF7 = $context->builder->siToFp($n, $f64); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $hundredthF7 = $context->builder->fmul($hundredthF7, $nF7); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF7 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok7Block); - $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysecondLong, - $sqLong - ); - $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); - if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fortyfourth)'); - } - $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind - ? $context->builder->load($fortyfourthVar->value) - : $fortyfourthVar->value; - $ov8Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyfourth_ov'); - $ok8Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyfourth_ok'); - $context->builder->branchIf($ov8, $ov8Block, $ok8Block); - - $context->builder->positionAtEnd($ov8Block); - $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); - $sqF8 = $context->builder->siToFp($sqLong, $f64); - $hundredthF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); - $hundredthF8Eighth = $context->builder->fmul($hundredthF8Sq, $sqF8); - $hundredthF8 = $context->builder->fmul($hundredthF8Eighth, $sqF8); - $nF8 = $context->builder->siToFp($n, $f64); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $hundredthF8 = $context->builder->fmul($hundredthF8, $nF8); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF8 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok8Block); - $fortysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyfourthLong, - $sqLong - ); - $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); - if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fortysixth)'); - } - $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind - ? $context->builder->load($fortysixthVar->value) - : $fortysixthVar->value; - $ov9Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysixth_ov'); - $ok9Block = BasicBlockHelper::append($context, 'pow_hundredth_fortysixth_ok'); - $context->builder->branchIf($ov9, $ov9Block, $ok9Block); - - $context->builder->positionAtEnd($ov9Block); - $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); - $sqF9 = $context->builder->siToFp($sqLong, $f64); - $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); - $hundredthF9 = $context->builder->fmul($fortyeighthF9, $sqF9); - $nF9 = $context->builder->siToFp($n, $f64); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $hundredthF9 = $context->builder->fmul($hundredthF9, $nF9); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF9 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok9Block); - $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysixthLong, - $sqLong - ); - $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); - if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fortyeighth)'); - } - $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind - ? $context->builder->load($fortyeighthVar->value) - : $fortyeighthVar->value; - $ov10Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyeighth_ov'); - $ok10Block = BasicBlockHelper::append($context, 'pow_hundredth_fortyeighth_ok'); - $context->builder->branchIf($ov10, $ov10Block, $ok10Block); - - $context->builder->positionAtEnd($ov10Block); - $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); - $sqF10 = $context->builder->siToFp($sqLong, $f64); - $hundredthF10 = $context->builder->fmul($fortyeighthF10, $sqF10); - $nF10 = $context->builder->siToFp($n, $f64); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $hundredthF10 = $context->builder->fmul($hundredthF10, $nF10); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF10 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok10Block); - $fiftiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyeighthLong, - $sqLong - ); - $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); - if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftieth)'); - } - $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind - ? $context->builder->load($fiftiethVar->value) - : $fiftiethVar->value; - $ov11Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftieth_ov'); - $ok11Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftieth_ok'); - $context->builder->branchIf($ov11, $ov11Block, $ok11Block); - - $context->builder->positionAtEnd($ov11Block); - $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); - $nF11 = $context->builder->siToFp($n, $f64); - $hundredthF11 = $context->builder->fmul($fiftiethF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $hundredthF11 = $context->builder->fmul($hundredthF11, $nF11); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF11 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok11Block); - $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftiethLong, - $n - ); - $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); - if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyfirst)'); - } - $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind - ? $context->builder->load($fiftyfirstVar->value) - : $fiftyfirstVar->value; - $ov12Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfirst_ov'); - $ok12Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfirst_ok'); - $context->builder->branchIf($ov12, $ov12Block, $ok12Block); - - $context->builder->positionAtEnd($ov12Block); - $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); - $nF12 = $context->builder->siToFp($n, $f64); - $hundredthF12 = $context->builder->fmul($fiftyfirstF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $hundredthF12 = $context->builder->fmul($hundredthF12, $nF12); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF12 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok12Block); - $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfirstLong, - $n - ); - $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); - if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftysecond)'); - } - $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind - ? $context->builder->load($fiftysecondVar->value) - : $fiftysecondVar->value; - $ov13Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysecond_ov'); - $ok13Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysecond_ok'); - $context->builder->branchIf($ov13, $ov13Block, $ok13Block); - - $context->builder->positionAtEnd($ov13Block); - $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); - $nF13 = $context->builder->siToFp($n, $f64); - $hundredthF13 = $context->builder->fmul($fiftysecondF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $hundredthF13 = $context->builder->fmul($hundredthF13, $nF13); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF13 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok13Block); - $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysecondLong, - $n - ); - $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); - if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftythird)'); - } - $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind - ? $context->builder->load($fiftythirdVar->value) - : $fiftythirdVar->value; - $ov14Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftythird_ov'); - $ok14Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftythird_ok'); - $context->builder->branchIf($ov14, $ov14Block, $ok14Block); - - $context->builder->positionAtEnd($ov14Block); - $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); - $nF14 = $context->builder->siToFp($n, $f64); - $hundredthF14 = $context->builder->fmul($fiftythirdF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $hundredthF14 = $context->builder->fmul($hundredthF14, $nF14); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF14 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok14Block); - $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftythirdLong, - $n - ); - $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); - if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyfourth)'); - } - $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind - ? $context->builder->load($fiftyfourthVar->value) - : $fiftyfourthVar->value; - $ov15Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfourth_ov'); - $ok15Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfourth_ok'); - $context->builder->branchIf($ov15, $ov15Block, $ok15Block); - - $context->builder->positionAtEnd($ov15Block); - $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); - $nF15 = $context->builder->siToFp($n, $f64); - $hundredthF15 = $context->builder->fmul($fiftyfourthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $hundredthF15 = $context->builder->fmul($hundredthF15, $nF15); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF15 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok15Block); - $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfourthLong, - $n - ); - $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); - if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyfifth)'); - } - $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind - ? $context->builder->load($fiftyfifthVar->value) - : $fiftyfifthVar->value; - $ov16Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfifth_ov'); - $ok16Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyfifth_ok'); - $context->builder->branchIf($ov16, $ov16Block, $ok16Block); - - $context->builder->positionAtEnd($ov16Block); - $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); - $nF16 = $context->builder->siToFp($n, $f64); - $hundredthF16 = $context->builder->fmul($fiftyfifthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $hundredthF16 = $context->builder->fmul($hundredthF16, $nF16); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF16 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok16Block); - $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfifthLong, - $n - ); - $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); - if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftysixth)'); - } - $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind - ? $context->builder->load($fiftysixthVar->value) - : $fiftysixthVar->value; - $ov17Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysixth_ov'); - $ok17Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftysixth_ok'); - $context->builder->branchIf($ov17, $ov17Block, $ok17Block); - - $context->builder->positionAtEnd($ov17Block); - $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); - $nF17 = $context->builder->siToFp($n, $f64); - $hundredthF17 = $context->builder->fmul($fiftysixthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $hundredthF17 = $context->builder->fmul($hundredthF17, $nF17); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF17 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok17Block); - $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysixthLong, - $n - ); - $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); - if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyseventh)'); - } - $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind - ? $context->builder->load($fiftyseventhVar->value) - : $fiftyseventhVar->value; - $ov18Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyseventh_ov'); - $ok18Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyseventh_ok'); - $context->builder->branchIf($ov18, $ov18Block, $ok18Block); - - $context->builder->positionAtEnd($ov18Block); - $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); - $nF18 = $context->builder->siToFp($n, $f64); - $hundredthF18 = $context->builder->fmul($fiftyseventhF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $hundredthF18 = $context->builder->fmul($hundredthF18, $nF18); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF18 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok18Block); - $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyseventhLong, - $n - ); - $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); - if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyeighth)'); - } - $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind - ? $context->builder->load($fiftyeighthVar->value) - : $fiftyeighthVar->value; - $ov19Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyeighth_ov'); - $ok19Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyeighth_ok'); - $context->builder->branchIf($ov19, $ov19Block, $ok19Block); - - $context->builder->positionAtEnd($ov19Block); - $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); - $nF19 = $context->builder->siToFp($n, $f64); - $hundredthF19 = $context->builder->fmul($fiftyeighthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $hundredthF19 = $context->builder->fmul($hundredthF19, $nF19); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF19 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok19Block); - $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyeighthLong, - $n - ); - $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); - if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (fiftyninth)'); - } - $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind - ? $context->builder->load($fiftyninthVar->value) - : $fiftyninthVar->value; - $ov20Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyninth_ov'); - $ok20Block = BasicBlockHelper::append($context, 'pow_hundredth_fiftyninth_ok'); - $context->builder->branchIf($ov20, $ov20Block, $ok20Block); - - $context->builder->positionAtEnd($ov20Block); - $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); - $nF20 = $context->builder->siToFp($n, $f64); - $hundredthF20 = $context->builder->fmul($fiftyninthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $hundredthF20 = $context->builder->fmul($hundredthF20, $nF20); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF20 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok20Block); - $sixtiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyninthLong, - $n - ); - $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); - if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtieth)'); - } - $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind - ? $context->builder->load($sixtiethVar->value) - : $sixtiethVar->value; - $ov21Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtieth_ov'); - $ok21Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtieth_ok'); - $context->builder->branchIf($ov21, $ov21Block, $ok21Block); - - $context->builder->positionAtEnd($ov21Block); - $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); - $nF21 = $context->builder->siToFp($n, $f64); - $hundredthF21 = $context->builder->fmul($sixtiethF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $hundredthF21 = $context->builder->fmul($hundredthF21, $nF21); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF21 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok21Block); - $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtiethLong, - $n - ); - $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); - if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyfirst)'); - } - $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind - ? $context->builder->load($sixtyfirstVar->value) - : $sixtyfirstVar->value; - $ov22Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfirst_ov'); - $ok22Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfirst_ok'); - $context->builder->branchIf($ov22, $ov22Block, $ok22Block); - - $context->builder->positionAtEnd($ov22Block); - $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); - $nF22 = $context->builder->siToFp($n, $f64); - $hundredthF22 = $context->builder->fmul($sixtyfirstF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $hundredthF22 = $context->builder->fmul($hundredthF22, $nF22); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF22 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok22Block); - $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfirstLong, - $n - ); - $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); - if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtysecond)'); - } - $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind - ? $context->builder->load($sixtysecondVar->value) - : $sixtysecondVar->value; - $ov23Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysecond_ov'); - $ok23Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysecond_ok'); - $context->builder->branchIf($ov23, $ov23Block, $ok23Block); - - $context->builder->positionAtEnd($ov23Block); - $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); - $nF23 = $context->builder->siToFp($n, $f64); - $hundredthF23 = $context->builder->fmul($sixtysecondF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $hundredthF23 = $context->builder->fmul($hundredthF23, $nF23); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF23 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok23Block); - $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysecondLong, - $n - ); - $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); - if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtythird)'); - } - $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind - ? $context->builder->load($sixtythirdVar->value) - : $sixtythirdVar->value; - $ov24Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtythird_ov'); - $ok24Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtythird_ok'); - $context->builder->branchIf($ov24, $ov24Block, $ok24Block); - - $context->builder->positionAtEnd($ov24Block); - $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); - $nF24 = $context->builder->siToFp($n, $f64); - $hundredthF24 = $context->builder->fmul($sixtythirdF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $hundredthF24 = $context->builder->fmul($hundredthF24, $nF24); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF24 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok24Block); - $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtythirdLong, - $n - ); - $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); - if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyfourth)'); - } - $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind - ? $context->builder->load($sixtyfourthVar->value) - : $sixtyfourthVar->value; - $ov25Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfourth_ov'); - $ok25Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfourth_ok'); - $context->builder->branchIf($ov25, $ov25Block, $ok25Block); - - $context->builder->positionAtEnd($ov25Block); - $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); - $nF25 = $context->builder->siToFp($n, $f64); - $hundredthF25 = $context->builder->fmul($sixtyfourthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $hundredthF25 = $context->builder->fmul($hundredthF25, $nF25); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF25 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok25Block); - $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfourthLong, - $n - ); - $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); - if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyfifth)'); - } - $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind - ? $context->builder->load($sixtyfifthVar->value) - : $sixtyfifthVar->value; - $ov26Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfifth_ov'); - $ok26Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyfifth_ok'); - $context->builder->branchIf($ov26, $ov26Block, $ok26Block); - - $context->builder->positionAtEnd($ov26Block); - $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); - $nF26 = $context->builder->siToFp($n, $f64); - $hundredthF26 = $context->builder->fmul($sixtyfifthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $hundredthF26 = $context->builder->fmul($hundredthF26, $nF26); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF26 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok26Block); - $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfifthLong, - $n - ); - $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); - if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtysixth)'); - } - $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind - ? $context->builder->load($sixtysixthVar->value) - : $sixtysixthVar->value; - $ov27Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysixth_ov'); - $ok27Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtysixth_ok'); - $context->builder->branchIf($ov27, $ov27Block, $ok27Block); - - $context->builder->positionAtEnd($ov27Block); - $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); - $nF27 = $context->builder->siToFp($n, $f64); - $hundredthF27 = $context->builder->fmul($sixtysixthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $hundredthF27 = $context->builder->fmul($hundredthF27, $nF27); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF27 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok27Block); - $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysixthLong, - $n - ); - $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); - if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyseventh)'); - } - $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind - ? $context->builder->load($sixtyseventhVar->value) - : $sixtyseventhVar->value; - $ov28Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyseventh_ov'); - $ok28Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyseventh_ok'); - $context->builder->branchIf($ov28, $ov28Block, $ok28Block); - - $context->builder->positionAtEnd($ov28Block); - $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); - $nF28 = $context->builder->siToFp($n, $f64); - $hundredthF28 = $context->builder->fmul($sixtyseventhF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $hundredthF28 = $context->builder->fmul($hundredthF28, $nF28); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF28 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok28Block); - $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyseventhLong, - $n - ); - $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); - if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyeighth)'); - } - $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind - ? $context->builder->load($sixtyeighthVar->value) - : $sixtyeighthVar->value; - $ov29Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyeighth_ov'); - $ok29Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyeighth_ok'); - $context->builder->branchIf($ov29, $ov29Block, $ok29Block); - - $context->builder->positionAtEnd($ov29Block); - $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); - $nF29 = $context->builder->siToFp($n, $f64); - $hundredthF29 = $context->builder->fmul($sixtyeighthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $hundredthF29 = $context->builder->fmul($hundredthF29, $nF29); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF29 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok29Block); - $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyeighthLong, - $n - ); - $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); - if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (sixtyninth)'); - } - $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind - ? $context->builder->load($sixtyninthVar->value) - : $sixtyninthVar->value; - $ov30Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyninth_ov'); - $ok30Block = BasicBlockHelper::append($context, 'pow_hundredth_sixtyninth_ok'); - $context->builder->branchIf($ov30, $ov30Block, $ok30Block); - - $context->builder->positionAtEnd($ov30Block); - $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); - $nF30 = $context->builder->siToFp($n, $f64); - $hundredthF30 = $context->builder->fmul($sixtyninthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $hundredthF30 = $context->builder->fmul($hundredthF30, $nF30); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF30 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok30Block); - $seventiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyninthLong, - $n - ); - $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); - if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventieth)'); - } - $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind - ? $context->builder->load($seventiethVar->value) - : $seventiethVar->value; - $ov31Block = BasicBlockHelper::append($context, 'pow_hundredth_seventieth_ov'); - $ok31Block = BasicBlockHelper::append($context, 'pow_hundredth_seventieth_ok'); - $context->builder->branchIf($ov31, $ov31Block, $ok31Block); - - $context->builder->positionAtEnd($ov31Block); - $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); - $nF31 = $context->builder->siToFp($n, $f64); - $hundredthF31 = $context->builder->fmul($seventiethF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $hundredthF31 = $context->builder->fmul($hundredthF31, $nF31); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF31 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok31Block); - $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventiethLong, - $n - ); - $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); - if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventyfirst)'); - } - $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind - ? $context->builder->load($seventyfirstVar->value) - : $seventyfirstVar->value; - $ov32Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfirst_ov'); - $ok32Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfirst_ok'); - $context->builder->branchIf($ov32, $ov32Block, $ok32Block); - - $context->builder->positionAtEnd($ov32Block); - $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); - $nF32 = $context->builder->siToFp($n, $f64); - $hundredthF32 = $context->builder->fmul($seventyfirstF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $hundredthF32 = $context->builder->fmul($hundredthF32, $nF32); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF32 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok32Block); - $seventysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfirstLong, - $n - ); - $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); - if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventysecond)'); - } - $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind - ? $context->builder->load($seventysecondVar->value) - : $seventysecondVar->value; - $ov33Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysecond_ov'); - $ok33Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysecond_ok'); - $context->builder->branchIf($ov33, $ov33Block, $ok33Block); - - $context->builder->positionAtEnd($ov33Block); - $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); - $nF33 = $context->builder->siToFp($n, $f64); - $hundredthF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredthF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $hundredthF33 = $context->builder->fmul($hundredthF33, $nF33); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF33 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok33Block); - $seventythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysecondLong, - $n - ); - $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); - if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventythird)'); - } - $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind - ? $context->builder->load($seventythirdVar->value) - : $seventythirdVar->value; - $ov34Block = BasicBlockHelper::append($context, 'pow_hundredth_seventythird_ov'); - $ok34Block = BasicBlockHelper::append($context, 'pow_hundredth_seventythird_ok'); - $context->builder->branchIf($ov34, $ov34Block, $ok34Block); - - $context->builder->positionAtEnd($ov34Block); - $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); - $nF34 = $context->builder->siToFp($n, $f64); - $hundredthF34 = $context->builder->fmul($seventythirdF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $hundredthF34 = $context->builder->fmul($hundredthF34, $nF34); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF34 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok34Block); - $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventythirdLong, - $n - ); - $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); - if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventyfourth)'); - } - $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind - ? $context->builder->load($seventyfourthVar->value) - : $seventyfourthVar->value; - $ov35Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfourth_ov'); - $ok35Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfourth_ok'); - $context->builder->branchIf($ov35, $ov35Block, $ok35Block); - - $context->builder->positionAtEnd($ov35Block); - $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); - $nF35 = $context->builder->siToFp($n, $f64); - $hundredthF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredthF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $hundredthF35 = $context->builder->fmul($hundredthF35, $nF35); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF35 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok35Block); - $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfourthLong, - $n - ); - $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); - if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventyfifth)'); - } - $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind - ? $context->builder->load($seventyfifthVar->value) - : $seventyfifthVar->value; - $ov36Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfifth_ov'); - $ok36Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyfifth_ok'); - $context->builder->branchIf($ov36, $ov36Block, $ok36Block); - - $context->builder->positionAtEnd($ov36Block); - $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); - $nF36 = $context->builder->siToFp($n, $f64); - $hundredthF36 = $context->builder->fmul($seventyfifthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $hundredthF36 = $context->builder->fmul($hundredthF36, $nF36); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF36 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok36Block); - $seventysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfifthLong, - $n - ); - $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); - if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventysixth)'); - } - $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind - ? $context->builder->load($seventysixthVar->value) - : $seventysixthVar->value; - $ov37Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysixth_ov'); - $ok37Block = BasicBlockHelper::append($context, 'pow_hundredth_seventysixth_ok'); - $context->builder->branchIf($ov37, $ov37Block, $ok37Block); - - $context->builder->positionAtEnd($ov37Block); - $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); - $nF37 = $context->builder->siToFp($n, $f64); - $hundredthF37 = $context->builder->fmul($seventysixthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $hundredthF37 = $context->builder->fmul($hundredthF37, $nF37); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF37 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok37Block); - $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysixthLong, - $n - ); - $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); - if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventyseventh)'); - } - $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind - ? $context->builder->load($seventyseventhVar->value) - : $seventyseventhVar->value; - $ov38Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyseventh_ov'); - $ok38Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyseventh_ok'); - $context->builder->branchIf($ov38, $ov38Block, $ok38Block); - - $context->builder->positionAtEnd($ov38Block); - $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); - $nF38 = $context->builder->siToFp($n, $f64); - $hundredthF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredthF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $hundredthF38 = $context->builder->fmul($hundredthF38, $nF38); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF38 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok38Block); - $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyseventhLong, - $n - ); - $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); - if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventyeighth)'); - } - $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind - ? $context->builder->load($seventyeighthVar->value) - : $seventyeighthVar->value; - $ov39Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyeighth_ov'); - $ok39Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyeighth_ok'); - $context->builder->branchIf($ov39, $ov39Block, $ok39Block); - - $context->builder->positionAtEnd($ov39Block); - $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); - $nF39 = $context->builder->siToFp($n, $f64); - $hundredthF39 = $context->builder->fmul($seventyeighthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $hundredthF39 = $context->builder->fmul($hundredthF39, $nF39); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF39 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok39Block); - $seventyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyeighthLong, - $n - ); - $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); - if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (seventyninth)'); - } - $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind - ? $context->builder->load($seventyninthVar->value) - : $seventyninthVar->value; - $ov40Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyninth_ov'); - $ok40Block = BasicBlockHelper::append($context, 'pow_hundredth_seventyninth_ok'); - $context->builder->branchIf($ov40, $ov40Block, $ok40Block); - - $context->builder->positionAtEnd($ov40Block); - $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); - $nF40 = $context->builder->siToFp($n, $f64); - $hundredthF40 = $context->builder->fmul($seventyninthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $hundredthF40 = $context->builder->fmul($hundredthF40, $nF40); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF40 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok40Block); - $eightiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyninthLong, - $n - ); - $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); - if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightieth)'); - } - $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind - ? $context->builder->load($eightiethVar->value) - : $eightiethVar->value; - $ov41Block = BasicBlockHelper::append($context, 'pow_hundredth_eightieth_ov'); - $ok41Block = BasicBlockHelper::append($context, 'pow_hundredth_eightieth_ok'); - $context->builder->branchIf($ov41, $ov41Block, $ok41Block); - - $context->builder->positionAtEnd($ov41Block); - $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); - $nF41 = $context->builder->siToFp($n, $f64); - $hundredthF41 = $context->builder->fmul($eightiethF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $hundredthF41 = $context->builder->fmul($hundredthF41, $nF41); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF41 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok41Block); - $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightiethLong, - $n - ); - $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); - if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightyfirst)'); - } - $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind - ? $context->builder->load($eightyfirstVar->value) - : $eightyfirstVar->value; - $ov42Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfirst_ov'); - $ok42Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfirst_ok'); - $context->builder->branchIf($ov42, $ov42Block, $ok42Block); - - $context->builder->positionAtEnd($ov42Block); - $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); - $nF42 = $context->builder->siToFp($n, $f64); - $hundredthF42 = $context->builder->fmul($eightyfirstF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $hundredthF42 = $context->builder->fmul($hundredthF42, $nF42); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF42 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok42Block); - $eightysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfirstLong, - $n - ); - $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); - if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightysecond)'); - } - $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind - ? $context->builder->load($eightysecondVar->value) - : $eightysecondVar->value; - $ov43Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysecond_ov'); - $ok43Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysecond_ok'); - $context->builder->branchIf($ov43, $ov43Block, $ok43Block); - - $context->builder->positionAtEnd($ov43Block); - $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); - $nF43 = $context->builder->siToFp($n, $f64); - $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $hundredthF43 = $context->builder->fmul($hundredthF43, $nF43); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF43 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok43Block); - $eightythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysecondLong, - $n - ); - $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); - if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightythird)'); - } - $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind - ? $context->builder->load($eightythirdVar->value) - : $eightythirdVar->value; - $ov44Block = BasicBlockHelper::append($context, 'pow_hundredth_eightythird_ov'); - $ok44Block = BasicBlockHelper::append($context, 'pow_hundredth_eightythird_ok'); - $context->builder->branchIf($ov44, $ov44Block, $ok44Block); - - $context->builder->positionAtEnd($ov44Block); - $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); - $nF44 = $context->builder->siToFp($n, $f64); - $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $hundredthF44 = $context->builder->fmul($hundredthF44, $nF44); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF44 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok44Block); - $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightythirdLong, - $n - ); - $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); - if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightyfourth)'); - } - $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind - ? $context->builder->load($eightyfourthVar->value) - : $eightyfourthVar->value; - $ov45Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfourth_ov'); - $ok45Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfourth_ok'); - $context->builder->branchIf($ov45, $ov45Block, $ok45Block); - - $context->builder->positionAtEnd($ov45Block); - $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); - $nF45 = $context->builder->siToFp($n, $f64); - $hundredthF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredthF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredthF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $hundredthF45 = $context->builder->fmul($hundredthF45, $nF45); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF45 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok45Block); - $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfourthLong, - $n - ); - $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); - if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightyfifth)'); - } - $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind - ? $context->builder->load($eightyfifthVar->value) - : $eightyfifthVar->value; - $ov46Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfifth_ov'); - $ok46Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyfifth_ok'); - $context->builder->branchIf($ov46, $ov46Block, $ok46Block); - - $context->builder->positionAtEnd($ov46Block); - $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); - $nF46 = $context->builder->siToFp($n, $f64); - $hundredthF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredthF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $hundredthF46 = $context->builder->fmul($hundredthF46, $nF46); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF46 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok46Block); - $eightysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfifthLong, - $n - ); - $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); - if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightysixth)'); - } - $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind - ? $context->builder->load($eightysixthVar->value) - : $eightysixthVar->value; - $ov47Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysixth_ov'); - $ok47Block = BasicBlockHelper::append($context, 'pow_hundredth_eightysixth_ok'); - $context->builder->branchIf($ov47, $ov47Block, $ok47Block); - - $context->builder->positionAtEnd($ov47Block); - $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); - $nF47 = $context->builder->siToFp($n, $f64); - $hundredthF47 = $context->builder->fmul($eightysixthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $hundredthF47 = $context->builder->fmul($hundredthF47, $nF47); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF47 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok47Block); - - $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysixthLong, - $n - ); - $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); - if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightyseventh)'); - } - $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind - ? $context->builder->load($eightyseventhVar->value) - : $eightyseventhVar->value; - $ov48Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyseventh_ov'); - $ok48Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyseventh_ok'); - $context->builder->branchIf($ov48, $ov48Block, $ok48Block); - - $context->builder->positionAtEnd($ov48Block); - $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); - $nF48 = $context->builder->siToFp($n, $f64); - $hundredthF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredthF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); - $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); - $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); - $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); - $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); - $hundredthF48 = $context->builder->fmul($hundredthF48, $nF48); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF48 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok48Block); - $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyseventhLong, - $n - ); - $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); - if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightyeighth)'); - } - $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind - ? $context->builder->load($eightyeighthVar->value) - : $eightyeighthVar->value; - $ov49Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyeighth_ov'); - $ok49Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyeighth_ok'); - $context->builder->branchIf($ov49, $ov49Block, $ok49Block); - - $context->builder->positionAtEnd($ov49Block); - $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); - $nF49 = $context->builder->siToFp($n, $f64); - $hundredthF49 = $context->builder->fmul($eightyeighthF49, $nF49); - $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); - $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); - $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); - $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); - $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); - $hundredthF49 = $context->builder->fmul($hundredthF49, $nF49); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF49 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok49Block); - $eightyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyeighthLong, - $n - ); - $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); - if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (eightyninth)'); - } - $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind - ? $context->builder->load($eightyninthVar->value) - : $eightyninthVar->value; - $ov50Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyninth_ov'); - $ok50Block = BasicBlockHelper::append($context, 'pow_hundredth_eightyninth_ok'); - $context->builder->branchIf($ov50, $ov50Block, $ok50Block); - - $context->builder->positionAtEnd($ov50Block); - $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); - $nF50 = $context->builder->siToFp($n, $f64); - $hundredthF50 = $context->builder->fmul($eightyninthF50, $nF50); - $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); - $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); - $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); - $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); - $hundredthF50 = $context->builder->fmul($hundredthF50, $nF50); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF50 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok50Block); - $ninetiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyninthLong, - $n - ); - $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); - if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetieth)'); - } - $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind - ? $context->builder->load($ninetiethVar->value) - : $ninetiethVar->value; - $ov51Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetieth_ov'); - $ok51Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetieth_ok'); - $context->builder->branchIf($ov51, $ov51Block, $ok51Block); - - $context->builder->positionAtEnd($ov51Block); - $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); - $nF51 = $context->builder->siToFp($n, $f64); - $hundredthF51 = $context->builder->fmul($ninetiethF51, $nF51); - $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); - $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); - $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); - $hundredthF51 = $context->builder->fmul($hundredthF51, $nF51); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF51 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok51Block); - $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetiethLong, - $n - ); - $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); - if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyfirst)'); - } - $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind - ? $context->builder->load($ninetyfirstVar->value) - : $ninetyfirstVar->value; - $ov52Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfirst_ov'); - $ok52Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfirst_ok'); - $context->builder->branchIf($ov52, $ov52Block, $ok52Block); - - $context->builder->positionAtEnd($ov52Block); - $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); - $nF52 = $context->builder->siToFp($n, $f64); - $hundredthF52 = $context->builder->fmul($ninetyfirstF52, $nF52); - $hundredthF52 = $context->builder->fmul($hundredthF52, $nF52); - $hundredthF52 = $context->builder->fmul($hundredthF52, $nF52); - $hundredthF52 = $context->builder->fmul($hundredthF52, $nF52); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF52 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok52Block); - $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfirstLong, - $n - ); - $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); - if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetysecond)'); - } - $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind - ? $context->builder->load($ninetysecondVar->value) - : $ninetysecondVar->value; - $ov53Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysecond_ov'); - $ok53Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysecond_ok'); - $context->builder->branchIf($ov53, $ov53Block, $ok53Block); - - $context->builder->positionAtEnd($ov53Block); - $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); - $nF53 = $context->builder->siToFp($n, $f64); - $hundredthF53 = $context->builder->fmul($ninetysecondF53, $nF53); - $hundredthF53 = $context->builder->fmul($hundredthF53, $nF53); - $hundredthF53 = $context->builder->fmul($hundredthF53, $nF53); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF53 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok53Block); - $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysecondLong, - $n - ); - $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); - if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetythird)'); - } - $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind - ? $context->builder->load($ninetythirdVar->value) - : $ninetythirdVar->value; - $ov54Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetythird_ov'); - $ok54Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetythird_ok'); - $context->builder->branchIf($ov54, $ov54Block, $ok54Block); - - $context->builder->positionAtEnd($ov54Block); - $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); - $nF54 = $context->builder->siToFp($n, $f64); - $hundredthF54 = $context->builder->fmul($ninetythirdF54, $nF54); - $hundredthF54 = $context->builder->fmul($hundredthF54, $nF54); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF54 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok54Block); - $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetythirdLong, - $n - ); - $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); - if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyfourth)'); - } - $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind - ? $context->builder->load($ninetyfourthVar->value) - : $ninetyfourthVar->value; - $ov55Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfourth_ov'); - $ok55Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfourth_ok'); - $context->builder->branchIf($ov55, $ov55Block, $ok55Block); - - $context->builder->positionAtEnd($ov55Block); - $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); - $nF55 = $context->builder->siToFp($n, $f64); - $hundredthF55 = $context->builder->fmul($ninetyfourthF55, $nF55); - $hundredthF55 = $context->builder->fmul($hundredthF55, $nF55); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF55 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok55Block); - - $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfourthLong, - $n - ); - $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); - if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyfifth)'); - } - $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind - ? $context->builder->load($ninetyfifthVar->value) - : $ninetyfifthVar->value; - $ov56Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfifth_ov'); - $ok56Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyfifth_ok'); - $context->builder->branchIf($ov56, $ov56Block, $ok56Block); - - $context->builder->positionAtEnd($ov56Block); - $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); - $nF56 = $context->builder->siToFp($n, $f64); - $hundredthF56 = $context->builder->fmul($ninetyfifthF56, $nF56); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF56 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok56Block); - $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfifthLong, - $n - ); - $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); - if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetysixth)'); - } - $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind - ? $context->builder->load($ninetysixthVar->value) - : $ninetysixthVar->value; - $ov57Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysixth_ov'); - $ok57Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetysixth_ok'); - $context->builder->branchIf($ov57, $ov57Block, $ok57Block); - - $context->builder->positionAtEnd($ov57Block); - $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); - $nF57 = $context->builder->siToFp($n, $f64); - $hundredthF57 = $context->builder->fmul($ninetysixthF57, $nF57); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF57 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok57Block); - $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysixthLong, - $n - ); - $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); - if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyseventh)'); - } - $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind - ? $context->builder->load($ninetyseventhVar->value) - : $ninetyseventhVar->value; - $ov58Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyseventh_ov'); - $ok58Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyseventh_ok'); - $context->builder->branchIf($ov58, $ov58Block, $ok58Block); - - $context->builder->positionAtEnd($ov58Block); - $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); - $nF58 = $context->builder->siToFp($n, $f64); - $hundredthF58 = $context->builder->fmul($ninetyseventhF58, $nF58); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF58 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok58Block); - $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyseventhLong, - $n - ); - $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); - if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyeighth)'); - } - $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind - ? $context->builder->load($ninetyeighthVar->value) - : $ninetyeighthVar->value; - $ov59Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyeighth_ov'); - $ok59Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyeighth_ok'); - $context->builder->branchIf($ov59, $ov59Block, $ok59Block); - - $context->builder->positionAtEnd($ov59Block); - $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); - $nF59 = $context->builder->siToFp($n, $f64); - $hundredthF59 = $context->builder->fmul($ninetyeighthF59, $nF59); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF59 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok59Block); - $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyeighthLong, - $n - ); - $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); - if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **100 expected smul overflow metadata (ninetyninth)'); - } - $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind - ? $context->builder->load($ninetyninthVar->value) - : $ninetyninthVar->value; - $ov60Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyninth_ov'); - $ok60Block = BasicBlockHelper::append($context, 'pow_hundredth_ninetyninth_ok'); - $context->builder->branchIf($ov60, $ov60Block, $ok60Block); - - $context->builder->positionAtEnd($ov60Block); - $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); - $nF60 = $context->builder->siToFp($n, $f64); - $hundredthF60 = $context->builder->fmul($ninetyninthF60, $nF60); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthF60 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok60Block); - JitLongArithOverflow::writeBoxedBinary( - $context, - OpCode::TYPE_MUL, - $ninetyninthLong, - $n, - $slotPtr - ); - $context->builder->branch($doneBlock); - - - $context->builder->positionAtEnd($doneBlock); - - return true; - } - - if ('hundredfirst' === $expFold) { - // n^101 = hundredth*n; overflow arms +1 ×nF vs **100. - // tenth=fifth*fifth, twentieth=tenth*tenth, - // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, - // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). - // Overflow arms finish in float with one extra ×nF vs **101. - $baseL = JitLongArg::lower($context, $base, 'pow() base'); - $i64 = $context->getTypeFromString('int64'); - $f64 = $context->getTypeFromString('double'); - $n = $context->builder->intCast($baseL, $i64); - $sqVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $n, - $n - ); - $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); - if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sq)'); - } - $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind - ? $context->builder->load($sqVar->value) - : $sqVar->value; - $ov1Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sq_ov'); - $ok1Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sq_ok'); - $doneBlock = BasicBlockHelper::append($context, 'pow_hundredfirst_done'); - $context->builder->branchIf($ov1, $ov1Block, $ok1Block); - - $context->builder->positionAtEnd($ov1Block); - $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); - $sq2F = $context->builder->fmul($sqF, $sqF); - $sq4F = $context->builder->fmul($sq2F, $sq2F); - $sq8F = $context->builder->fmul($sq4F, $sq4F); - $twentiethF = $context->builder->fmul($sq8F, $sq2F); - $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); - $fortysecondF = $context->builder->fmul($fortiethF, $sqF); - $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); - $hundredfirstFSq = $context->builder->fmul($fortyfourthF, $sqF); - $hundredfirstFEighth = $context->builder->fmul($hundredfirstFSq, $sqF); - $hundredfirstF = $context->builder->fmul($hundredfirstFEighth, $sqF); - $nF = $context->builder->siToFp($n, $f64); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $hundredfirstF = $context->builder->fmul($hundredfirstF, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok1Block); - $cuVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sqLong, - $n - ); - $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); - if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (cu)'); - } - $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind - ? $context->builder->load($cuVar->value) - : $cuVar->value; - $ov2Block = BasicBlockHelper::append($context, 'pow_hundredfirst_cu_ov'); - $ok2Block = BasicBlockHelper::append($context, 'pow_hundredfirst_cu_ok'); - $context->builder->branchIf($ov2, $ov2Block, $ok2Block); - - $context->builder->positionAtEnd($ov2Block); - $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); - $sqF2 = $context->builder->siToFp($sqLong, $f64); - $fifthF = $context->builder->fmul($cuF, $sqF2); - $tenthF2 = $context->builder->fmul($fifthF, $fifthF); - $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); - $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); - $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); - $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); - $hundredfirstF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); - $hundredfirstF2Eighth = $context->builder->fmul($hundredfirstF2Sq, $sqF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2Eighth, $sqF2); - $nF2 = $context->builder->siToFp($n, $f64); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $hundredfirstF2 = $context->builder->fmul($hundredfirstF2, $nF2); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF2 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok2Block); - $fifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $cuLong, - $sqLong - ); - $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); - if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fifth)'); - } - $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind - ? $context->builder->load($fifthVar->value) - : $fifthVar->value; - $ov3Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fifth_ov'); - $ok3Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fifth_ok'); - $context->builder->branchIf($ov3, $ov3Block, $ok3Block); - - $context->builder->positionAtEnd($ov3Block); - $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); - $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); - $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); - $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); - $sqF3 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); - $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); - $hundredfirstF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); - $hundredfirstF3Eighth = $context->builder->fmul($hundredfirstF3Sq, $sqF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3Eighth, $sqF3); - $nF3 = $context->builder->siToFp($n, $f64); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $hundredfirstF3 = $context->builder->fmul($hundredfirstF3, $nF3); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF3 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok3Block); - $tenthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fifthLong, - $fifthLong - ); - $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); - if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (tenth)'); - } - $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind - ? $context->builder->load($tenthVar->value) - : $tenthVar->value; - $ov4Block = BasicBlockHelper::append($context, 'pow_hundredfirst_tenth_ov'); - $ok4Block = BasicBlockHelper::append($context, 'pow_hundredfirst_tenth_ok'); - $context->builder->branchIf($ov4, $ov4Block, $ok4Block); - - $context->builder->positionAtEnd($ov4Block); - $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); - $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); - $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); - $sqF4 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); - $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); - $hundredfirstF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); - $hundredfirstF4Eighth = $context->builder->fmul($hundredfirstF4Sq, $sqF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4Eighth, $sqF4); - $nF4 = $context->builder->siToFp($n, $f64); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $hundredfirstF4 = $context->builder->fmul($hundredfirstF4, $nF4); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF4 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok4Block); - $twentiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $tenthLong, - $tenthLong - ); - $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); - if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (twentieth)'); - } - $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind - ? $context->builder->load($twentiethVar->value) - : $twentiethVar->value; - $ov5Block = BasicBlockHelper::append($context, 'pow_hundredfirst_twentieth_ov'); - $ok5Block = BasicBlockHelper::append($context, 'pow_hundredfirst_twentieth_ok'); - $context->builder->branchIf($ov5, $ov5Block, $ok5Block); - - $context->builder->positionAtEnd($ov5Block); - $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); - $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); - $sqF5 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); - $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); - $hundredfirstF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); - $hundredfirstF5Eighth = $context->builder->fmul($hundredfirstF5Sq, $sqF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5Eighth, $sqF5); - $nF5 = $context->builder->siToFp($n, $f64); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $hundredfirstF5 = $context->builder->fmul($hundredfirstF5, $nF5); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF5 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok5Block); - $fortiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $twentiethLong, - $twentiethLong - ); - $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); - if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fortieth)'); - } - $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind - ? $context->builder->load($fortiethVar->value) - : $fortiethVar->value; - $ov6Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortieth_ov'); - $ok6Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortieth_ok'); - $context->builder->branchIf($ov6, $ov6Block, $ok6Block); - - $context->builder->positionAtEnd($ov6Block); - $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); - $sqF6 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); - $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); - $hundredfirstF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); - $hundredfirstF6Eighth = $context->builder->fmul($hundredfirstF6Sq, $sqF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6Eighth, $sqF6); - $nF6 = $context->builder->siToFp($n, $f64); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $hundredfirstF6 = $context->builder->fmul($hundredfirstF6, $nF6); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF6 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok6Block); - $fortysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortiethLong, - $sqLong - ); - $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); - if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fortysecond)'); - } - $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind - ? $context->builder->load($fortysecondVar->value) - : $fortysecondVar->value; - $ov7Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysecond_ov'); - $ok7Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysecond_ok'); - $context->builder->branchIf($ov7, $ov7Block, $ok7Block); - - $context->builder->positionAtEnd($ov7Block); - $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); - $sqF7 = $context->builder->siToFp($sqLong, $f64); - $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); - $hundredfirstF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); - $hundredfirstF7Eighth = $context->builder->fmul($hundredfirstF7Sq, $sqF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7Eighth, $sqF7); - $nF7 = $context->builder->siToFp($n, $f64); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $hundredfirstF7 = $context->builder->fmul($hundredfirstF7, $nF7); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF7 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok7Block); - $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysecondLong, - $sqLong - ); - $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); - if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fortyfourth)'); - } - $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind - ? $context->builder->load($fortyfourthVar->value) - : $fortyfourthVar->value; - $ov8Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyfourth_ov'); - $ok8Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyfourth_ok'); - $context->builder->branchIf($ov8, $ov8Block, $ok8Block); - - $context->builder->positionAtEnd($ov8Block); - $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); - $sqF8 = $context->builder->siToFp($sqLong, $f64); - $hundredfirstF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); - $hundredfirstF8Eighth = $context->builder->fmul($hundredfirstF8Sq, $sqF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8Eighth, $sqF8); - $nF8 = $context->builder->siToFp($n, $f64); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $hundredfirstF8 = $context->builder->fmul($hundredfirstF8, $nF8); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF8 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok8Block); - $fortysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyfourthLong, - $sqLong - ); - $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); - if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fortysixth)'); - } - $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind - ? $context->builder->load($fortysixthVar->value) - : $fortysixthVar->value; - $ov9Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysixth_ov'); - $ok9Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortysixth_ok'); - $context->builder->branchIf($ov9, $ov9Block, $ok9Block); - - $context->builder->positionAtEnd($ov9Block); - $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); - $sqF9 = $context->builder->siToFp($sqLong, $f64); - $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); - $hundredfirstF9 = $context->builder->fmul($fortyeighthF9, $sqF9); - $nF9 = $context->builder->siToFp($n, $f64); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $hundredfirstF9 = $context->builder->fmul($hundredfirstF9, $nF9); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF9 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok9Block); - $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysixthLong, - $sqLong - ); - $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); - if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fortyeighth)'); - } - $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind - ? $context->builder->load($fortyeighthVar->value) - : $fortyeighthVar->value; - $ov10Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyeighth_ov'); - $ok10Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fortyeighth_ok'); - $context->builder->branchIf($ov10, $ov10Block, $ok10Block); - - $context->builder->positionAtEnd($ov10Block); - $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); - $sqF10 = $context->builder->siToFp($sqLong, $f64); - $hundredfirstF10 = $context->builder->fmul($fortyeighthF10, $sqF10); - $nF10 = $context->builder->siToFp($n, $f64); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $hundredfirstF10 = $context->builder->fmul($hundredfirstF10, $nF10); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF10 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok10Block); - $fiftiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyeighthLong, - $sqLong - ); - $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); - if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftieth)'); - } - $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind - ? $context->builder->load($fiftiethVar->value) - : $fiftiethVar->value; - $ov11Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftieth_ov'); - $ok11Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftieth_ok'); - $context->builder->branchIf($ov11, $ov11Block, $ok11Block); - - $context->builder->positionAtEnd($ov11Block); - $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); - $nF11 = $context->builder->siToFp($n, $f64); - $hundredfirstF11 = $context->builder->fmul($fiftiethF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $hundredfirstF11 = $context->builder->fmul($hundredfirstF11, $nF11); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF11 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok11Block); - $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftiethLong, - $n - ); - $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); - if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyfirst)'); - } - $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind - ? $context->builder->load($fiftyfirstVar->value) - : $fiftyfirstVar->value; - $ov12Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfirst_ov'); - $ok12Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfirst_ok'); - $context->builder->branchIf($ov12, $ov12Block, $ok12Block); - - $context->builder->positionAtEnd($ov12Block); - $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); - $nF12 = $context->builder->siToFp($n, $f64); - $hundredfirstF12 = $context->builder->fmul($fiftyfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $hundredfirstF12 = $context->builder->fmul($hundredfirstF12, $nF12); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF12 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok12Block); - $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfirstLong, - $n - ); - $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); - if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftysecond)'); - } - $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind - ? $context->builder->load($fiftysecondVar->value) - : $fiftysecondVar->value; - $ov13Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysecond_ov'); - $ok13Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysecond_ok'); - $context->builder->branchIf($ov13, $ov13Block, $ok13Block); - - $context->builder->positionAtEnd($ov13Block); - $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); - $nF13 = $context->builder->siToFp($n, $f64); - $hundredfirstF13 = $context->builder->fmul($fiftysecondF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $hundredfirstF13 = $context->builder->fmul($hundredfirstF13, $nF13); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF13 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok13Block); - $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysecondLong, - $n - ); - $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); - if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftythird)'); - } - $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind - ? $context->builder->load($fiftythirdVar->value) - : $fiftythirdVar->value; - $ov14Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftythird_ov'); - $ok14Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftythird_ok'); - $context->builder->branchIf($ov14, $ov14Block, $ok14Block); - - $context->builder->positionAtEnd($ov14Block); - $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); - $nF14 = $context->builder->siToFp($n, $f64); - $hundredfirstF14 = $context->builder->fmul($fiftythirdF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $hundredfirstF14 = $context->builder->fmul($hundredfirstF14, $nF14); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF14 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok14Block); - $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftythirdLong, - $n - ); - $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); - if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyfourth)'); - } - $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind - ? $context->builder->load($fiftyfourthVar->value) - : $fiftyfourthVar->value; - $ov15Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfourth_ov'); - $ok15Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfourth_ok'); - $context->builder->branchIf($ov15, $ov15Block, $ok15Block); - - $context->builder->positionAtEnd($ov15Block); - $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); - $nF15 = $context->builder->siToFp($n, $f64); - $hundredfirstF15 = $context->builder->fmul($fiftyfourthF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $hundredfirstF15 = $context->builder->fmul($hundredfirstF15, $nF15); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF15 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok15Block); - $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfourthLong, - $n - ); - $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); - if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyfifth)'); - } - $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind - ? $context->builder->load($fiftyfifthVar->value) - : $fiftyfifthVar->value; - $ov16Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfifth_ov'); - $ok16Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyfifth_ok'); - $context->builder->branchIf($ov16, $ov16Block, $ok16Block); - - $context->builder->positionAtEnd($ov16Block); - $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); - $nF16 = $context->builder->siToFp($n, $f64); - $hundredfirstF16 = $context->builder->fmul($fiftyfifthF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $hundredfirstF16 = $context->builder->fmul($hundredfirstF16, $nF16); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF16 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok16Block); - $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfifthLong, - $n - ); - $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); - if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftysixth)'); - } - $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind - ? $context->builder->load($fiftysixthVar->value) - : $fiftysixthVar->value; - $ov17Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysixth_ov'); - $ok17Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftysixth_ok'); - $context->builder->branchIf($ov17, $ov17Block, $ok17Block); - - $context->builder->positionAtEnd($ov17Block); - $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); - $nF17 = $context->builder->siToFp($n, $f64); - $hundredfirstF17 = $context->builder->fmul($fiftysixthF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $hundredfirstF17 = $context->builder->fmul($hundredfirstF17, $nF17); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF17 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok17Block); - $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysixthLong, - $n - ); - $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); - if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyseventh)'); - } - $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind - ? $context->builder->load($fiftyseventhVar->value) - : $fiftyseventhVar->value; - $ov18Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyseventh_ov'); - $ok18Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyseventh_ok'); - $context->builder->branchIf($ov18, $ov18Block, $ok18Block); - - $context->builder->positionAtEnd($ov18Block); - $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); - $nF18 = $context->builder->siToFp($n, $f64); - $hundredfirstF18 = $context->builder->fmul($fiftyseventhF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $hundredfirstF18 = $context->builder->fmul($hundredfirstF18, $nF18); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF18 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok18Block); - $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyseventhLong, - $n - ); - $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); - if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyeighth)'); - } - $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind - ? $context->builder->load($fiftyeighthVar->value) - : $fiftyeighthVar->value; - $ov19Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyeighth_ov'); - $ok19Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyeighth_ok'); - $context->builder->branchIf($ov19, $ov19Block, $ok19Block); - - $context->builder->positionAtEnd($ov19Block); - $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); - $nF19 = $context->builder->siToFp($n, $f64); - $hundredfirstF19 = $context->builder->fmul($fiftyeighthF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $hundredfirstF19 = $context->builder->fmul($hundredfirstF19, $nF19); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF19 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok19Block); - $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyeighthLong, - $n - ); - $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); - if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (fiftyninth)'); - } - $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind - ? $context->builder->load($fiftyninthVar->value) - : $fiftyninthVar->value; - $ov20Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyninth_ov'); - $ok20Block = BasicBlockHelper::append($context, 'pow_hundredfirst_fiftyninth_ok'); - $context->builder->branchIf($ov20, $ov20Block, $ok20Block); - - $context->builder->positionAtEnd($ov20Block); - $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); - $nF20 = $context->builder->siToFp($n, $f64); - $hundredfirstF20 = $context->builder->fmul($fiftyninthF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $hundredfirstF20 = $context->builder->fmul($hundredfirstF20, $nF20); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF20 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok20Block); - $sixtiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyninthLong, - $n - ); - $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); - if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtieth)'); - } - $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind - ? $context->builder->load($sixtiethVar->value) - : $sixtiethVar->value; - $ov21Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtieth_ov'); - $ok21Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtieth_ok'); - $context->builder->branchIf($ov21, $ov21Block, $ok21Block); - - $context->builder->positionAtEnd($ov21Block); - $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); - $nF21 = $context->builder->siToFp($n, $f64); - $hundredfirstF21 = $context->builder->fmul($sixtiethF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $hundredfirstF21 = $context->builder->fmul($hundredfirstF21, $nF21); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF21 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok21Block); - $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtiethLong, - $n - ); - $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); - if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyfirst)'); - } - $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind - ? $context->builder->load($sixtyfirstVar->value) - : $sixtyfirstVar->value; - $ov22Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfirst_ov'); - $ok22Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfirst_ok'); - $context->builder->branchIf($ov22, $ov22Block, $ok22Block); - - $context->builder->positionAtEnd($ov22Block); - $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); - $nF22 = $context->builder->siToFp($n, $f64); - $hundredfirstF22 = $context->builder->fmul($sixtyfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $hundredfirstF22 = $context->builder->fmul($hundredfirstF22, $nF22); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF22 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok22Block); - $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfirstLong, - $n - ); - $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); - if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtysecond)'); - } - $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind - ? $context->builder->load($sixtysecondVar->value) - : $sixtysecondVar->value; - $ov23Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysecond_ov'); - $ok23Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysecond_ok'); - $context->builder->branchIf($ov23, $ov23Block, $ok23Block); - - $context->builder->positionAtEnd($ov23Block); - $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); - $nF23 = $context->builder->siToFp($n, $f64); - $hundredfirstF23 = $context->builder->fmul($sixtysecondF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $hundredfirstF23 = $context->builder->fmul($hundredfirstF23, $nF23); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF23 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok23Block); - $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysecondLong, - $n - ); - $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); - if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtythird)'); - } - $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind - ? $context->builder->load($sixtythirdVar->value) - : $sixtythirdVar->value; - $ov24Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtythird_ov'); - $ok24Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtythird_ok'); - $context->builder->branchIf($ov24, $ov24Block, $ok24Block); - - $context->builder->positionAtEnd($ov24Block); - $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); - $nF24 = $context->builder->siToFp($n, $f64); - $hundredfirstF24 = $context->builder->fmul($sixtythirdF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $hundredfirstF24 = $context->builder->fmul($hundredfirstF24, $nF24); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF24 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok24Block); - $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtythirdLong, - $n - ); - $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); - if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyfourth)'); - } - $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind - ? $context->builder->load($sixtyfourthVar->value) - : $sixtyfourthVar->value; - $ov25Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfourth_ov'); - $ok25Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfourth_ok'); - $context->builder->branchIf($ov25, $ov25Block, $ok25Block); - - $context->builder->positionAtEnd($ov25Block); - $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); - $nF25 = $context->builder->siToFp($n, $f64); - $hundredfirstF25 = $context->builder->fmul($sixtyfourthF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $hundredfirstF25 = $context->builder->fmul($hundredfirstF25, $nF25); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF25 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok25Block); - $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfourthLong, - $n - ); - $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); - if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyfifth)'); - } - $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind - ? $context->builder->load($sixtyfifthVar->value) - : $sixtyfifthVar->value; - $ov26Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfifth_ov'); - $ok26Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyfifth_ok'); - $context->builder->branchIf($ov26, $ov26Block, $ok26Block); - - $context->builder->positionAtEnd($ov26Block); - $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); - $nF26 = $context->builder->siToFp($n, $f64); - $hundredfirstF26 = $context->builder->fmul($sixtyfifthF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $hundredfirstF26 = $context->builder->fmul($hundredfirstF26, $nF26); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF26 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok26Block); - $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfifthLong, - $n - ); - $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); - if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtysixth)'); - } - $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind - ? $context->builder->load($sixtysixthVar->value) - : $sixtysixthVar->value; - $ov27Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysixth_ov'); - $ok27Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtysixth_ok'); - $context->builder->branchIf($ov27, $ov27Block, $ok27Block); - - $context->builder->positionAtEnd($ov27Block); - $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); - $nF27 = $context->builder->siToFp($n, $f64); - $hundredfirstF27 = $context->builder->fmul($sixtysixthF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $hundredfirstF27 = $context->builder->fmul($hundredfirstF27, $nF27); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF27 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok27Block); - $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysixthLong, - $n - ); - $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); - if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyseventh)'); - } - $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind - ? $context->builder->load($sixtyseventhVar->value) - : $sixtyseventhVar->value; - $ov28Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyseventh_ov'); - $ok28Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyseventh_ok'); - $context->builder->branchIf($ov28, $ov28Block, $ok28Block); - - $context->builder->positionAtEnd($ov28Block); - $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); - $nF28 = $context->builder->siToFp($n, $f64); - $hundredfirstF28 = $context->builder->fmul($sixtyseventhF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $hundredfirstF28 = $context->builder->fmul($hundredfirstF28, $nF28); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF28 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok28Block); - $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyseventhLong, - $n - ); - $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); - if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyeighth)'); - } - $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind - ? $context->builder->load($sixtyeighthVar->value) - : $sixtyeighthVar->value; - $ov29Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyeighth_ov'); - $ok29Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyeighth_ok'); - $context->builder->branchIf($ov29, $ov29Block, $ok29Block); - - $context->builder->positionAtEnd($ov29Block); - $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); - $nF29 = $context->builder->siToFp($n, $f64); - $hundredfirstF29 = $context->builder->fmul($sixtyeighthF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $hundredfirstF29 = $context->builder->fmul($hundredfirstF29, $nF29); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF29 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok29Block); - $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyeighthLong, - $n - ); - $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); - if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (sixtyninth)'); - } - $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind - ? $context->builder->load($sixtyninthVar->value) - : $sixtyninthVar->value; - $ov30Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyninth_ov'); - $ok30Block = BasicBlockHelper::append($context, 'pow_hundredfirst_sixtyninth_ok'); - $context->builder->branchIf($ov30, $ov30Block, $ok30Block); - - $context->builder->positionAtEnd($ov30Block); - $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); - $nF30 = $context->builder->siToFp($n, $f64); - $hundredfirstF30 = $context->builder->fmul($sixtyninthF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $hundredfirstF30 = $context->builder->fmul($hundredfirstF30, $nF30); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF30 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok30Block); - $seventiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyninthLong, - $n - ); - $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); - if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventieth)'); - } - $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind - ? $context->builder->load($seventiethVar->value) - : $seventiethVar->value; - $ov31Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventieth_ov'); - $ok31Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventieth_ok'); - $context->builder->branchIf($ov31, $ov31Block, $ok31Block); - - $context->builder->positionAtEnd($ov31Block); - $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); - $nF31 = $context->builder->siToFp($n, $f64); - $hundredfirstF31 = $context->builder->fmul($seventiethF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $hundredfirstF31 = $context->builder->fmul($hundredfirstF31, $nF31); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF31 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok31Block); - $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventiethLong, - $n - ); - $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); - if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventyfirst)'); - } - $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind - ? $context->builder->load($seventyfirstVar->value) - : $seventyfirstVar->value; - $ov32Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfirst_ov'); - $ok32Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfirst_ok'); - $context->builder->branchIf($ov32, $ov32Block, $ok32Block); - - $context->builder->positionAtEnd($ov32Block); - $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); - $nF32 = $context->builder->siToFp($n, $f64); - $hundredfirstF32 = $context->builder->fmul($seventyfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $hundredfirstF32 = $context->builder->fmul($hundredfirstF32, $nF32); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF32 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok32Block); - $seventysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfirstLong, - $n - ); - $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); - if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventysecond)'); - } - $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind - ? $context->builder->load($seventysecondVar->value) - : $seventysecondVar->value; - $ov33Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysecond_ov'); - $ok33Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysecond_ok'); - $context->builder->branchIf($ov33, $ov33Block, $ok33Block); - - $context->builder->positionAtEnd($ov33Block); - $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); - $nF33 = $context->builder->siToFp($n, $f64); - $hundredfirstF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $hundredfirstF33 = $context->builder->fmul($hundredfirstF33, $nF33); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF33 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok33Block); - $seventythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysecondLong, - $n - ); - $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); - if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventythird)'); - } - $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind - ? $context->builder->load($seventythirdVar->value) - : $seventythirdVar->value; - $ov34Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventythird_ov'); - $ok34Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventythird_ok'); - $context->builder->branchIf($ov34, $ov34Block, $ok34Block); - - $context->builder->positionAtEnd($ov34Block); - $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); - $nF34 = $context->builder->siToFp($n, $f64); - $hundredfirstF34 = $context->builder->fmul($seventythirdF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $hundredfirstF34 = $context->builder->fmul($hundredfirstF34, $nF34); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF34 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok34Block); - $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventythirdLong, - $n - ); - $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); - if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventyfourth)'); - } - $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind - ? $context->builder->load($seventyfourthVar->value) - : $seventyfourthVar->value; - $ov35Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfourth_ov'); - $ok35Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfourth_ok'); - $context->builder->branchIf($ov35, $ov35Block, $ok35Block); - - $context->builder->positionAtEnd($ov35Block); - $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); - $nF35 = $context->builder->siToFp($n, $f64); - $hundredfirstF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $hundredfirstF35 = $context->builder->fmul($hundredfirstF35, $nF35); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF35 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok35Block); - $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfourthLong, - $n - ); - $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); - if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventyfifth)'); - } - $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind - ? $context->builder->load($seventyfifthVar->value) - : $seventyfifthVar->value; - $ov36Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfifth_ov'); - $ok36Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyfifth_ok'); - $context->builder->branchIf($ov36, $ov36Block, $ok36Block); - - $context->builder->positionAtEnd($ov36Block); - $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); - $nF36 = $context->builder->siToFp($n, $f64); - $hundredfirstF36 = $context->builder->fmul($seventyfifthF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $hundredfirstF36 = $context->builder->fmul($hundredfirstF36, $nF36); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF36 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok36Block); - $seventysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfifthLong, - $n - ); - $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); - if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventysixth)'); - } - $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind - ? $context->builder->load($seventysixthVar->value) - : $seventysixthVar->value; - $ov37Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysixth_ov'); - $ok37Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventysixth_ok'); - $context->builder->branchIf($ov37, $ov37Block, $ok37Block); - - $context->builder->positionAtEnd($ov37Block); - $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); - $nF37 = $context->builder->siToFp($n, $f64); - $hundredfirstF37 = $context->builder->fmul($seventysixthF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $hundredfirstF37 = $context->builder->fmul($hundredfirstF37, $nF37); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF37 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok37Block); - $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysixthLong, - $n - ); - $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); - if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventyseventh)'); - } - $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind - ? $context->builder->load($seventyseventhVar->value) - : $seventyseventhVar->value; - $ov38Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyseventh_ov'); - $ok38Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyseventh_ok'); - $context->builder->branchIf($ov38, $ov38Block, $ok38Block); - - $context->builder->positionAtEnd($ov38Block); - $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); - $nF38 = $context->builder->siToFp($n, $f64); - $hundredfirstF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $hundredfirstF38 = $context->builder->fmul($hundredfirstF38, $nF38); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF38 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok38Block); - $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyseventhLong, - $n - ); - $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); - if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventyeighth)'); - } - $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind - ? $context->builder->load($seventyeighthVar->value) - : $seventyeighthVar->value; - $ov39Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyeighth_ov'); - $ok39Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyeighth_ok'); - $context->builder->branchIf($ov39, $ov39Block, $ok39Block); - - $context->builder->positionAtEnd($ov39Block); - $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); - $nF39 = $context->builder->siToFp($n, $f64); - $hundredfirstF39 = $context->builder->fmul($seventyeighthF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $hundredfirstF39 = $context->builder->fmul($hundredfirstF39, $nF39); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF39 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok39Block); - $seventyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyeighthLong, - $n - ); - $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); - if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (seventyninth)'); - } - $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind - ? $context->builder->load($seventyninthVar->value) - : $seventyninthVar->value; - $ov40Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyninth_ov'); - $ok40Block = BasicBlockHelper::append($context, 'pow_hundredfirst_seventyninth_ok'); - $context->builder->branchIf($ov40, $ov40Block, $ok40Block); - - $context->builder->positionAtEnd($ov40Block); - $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); - $nF40 = $context->builder->siToFp($n, $f64); - $hundredfirstF40 = $context->builder->fmul($seventyninthF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $hundredfirstF40 = $context->builder->fmul($hundredfirstF40, $nF40); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF40 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok40Block); - $eightiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyninthLong, - $n - ); - $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); - if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightieth)'); - } - $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind - ? $context->builder->load($eightiethVar->value) - : $eightiethVar->value; - $ov41Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightieth_ov'); - $ok41Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightieth_ok'); - $context->builder->branchIf($ov41, $ov41Block, $ok41Block); - - $context->builder->positionAtEnd($ov41Block); - $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); - $nF41 = $context->builder->siToFp($n, $f64); - $hundredfirstF41 = $context->builder->fmul($eightiethF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $hundredfirstF41 = $context->builder->fmul($hundredfirstF41, $nF41); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF41 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok41Block); - $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightiethLong, - $n - ); - $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); - if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightyfirst)'); - } - $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind - ? $context->builder->load($eightyfirstVar->value) - : $eightyfirstVar->value; - $ov42Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfirst_ov'); - $ok42Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfirst_ok'); - $context->builder->branchIf($ov42, $ov42Block, $ok42Block); - - $context->builder->positionAtEnd($ov42Block); - $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); - $nF42 = $context->builder->siToFp($n, $f64); - $hundredfirstF42 = $context->builder->fmul($eightyfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $hundredfirstF42 = $context->builder->fmul($hundredfirstF42, $nF42); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF42 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok42Block); - $eightysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfirstLong, - $n - ); - $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); - if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightysecond)'); - } - $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind - ? $context->builder->load($eightysecondVar->value) - : $eightysecondVar->value; - $ov43Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysecond_ov'); - $ok43Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysecond_ok'); - $context->builder->branchIf($ov43, $ov43Block, $ok43Block); - - $context->builder->positionAtEnd($ov43Block); - $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); - $nF43 = $context->builder->siToFp($n, $f64); - $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $hundredfirstF43 = $context->builder->fmul($hundredfirstF43, $nF43); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF43 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok43Block); - $eightythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysecondLong, - $n - ); - $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); - if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightythird)'); - } - $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind - ? $context->builder->load($eightythirdVar->value) - : $eightythirdVar->value; - $ov44Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightythird_ov'); - $ok44Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightythird_ok'); - $context->builder->branchIf($ov44, $ov44Block, $ok44Block); - - $context->builder->positionAtEnd($ov44Block); - $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); - $nF44 = $context->builder->siToFp($n, $f64); - $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $hundredfirstF44 = $context->builder->fmul($hundredfirstF44, $nF44); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF44 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok44Block); - $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightythirdLong, - $n - ); - $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); - if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightyfourth)'); - } - $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind - ? $context->builder->load($eightyfourthVar->value) - : $eightyfourthVar->value; - $ov45Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfourth_ov'); - $ok45Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfourth_ok'); - $context->builder->branchIf($ov45, $ov45Block, $ok45Block); - - $context->builder->positionAtEnd($ov45Block); - $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); - $nF45 = $context->builder->siToFp($n, $f64); - $hundredfirstF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $hundredfirstF45 = $context->builder->fmul($hundredfirstF45, $nF45); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF45 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok45Block); - $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfourthLong, - $n - ); - $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); - if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightyfifth)'); - } - $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind - ? $context->builder->load($eightyfifthVar->value) - : $eightyfifthVar->value; - $ov46Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfifth_ov'); - $ok46Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyfifth_ok'); - $context->builder->branchIf($ov46, $ov46Block, $ok46Block); - - $context->builder->positionAtEnd($ov46Block); - $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); - $nF46 = $context->builder->siToFp($n, $f64); - $hundredfirstF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $hundredfirstF46 = $context->builder->fmul($hundredfirstF46, $nF46); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF46 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok46Block); - $eightysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfifthLong, - $n - ); - $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); - if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightysixth)'); - } - $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind - ? $context->builder->load($eightysixthVar->value) - : $eightysixthVar->value; - $ov47Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysixth_ov'); - $ok47Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightysixth_ok'); - $context->builder->branchIf($ov47, $ov47Block, $ok47Block); - - $context->builder->positionAtEnd($ov47Block); - $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); - $nF47 = $context->builder->siToFp($n, $f64); - $hundredfirstF47 = $context->builder->fmul($eightysixthF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $hundredfirstF47 = $context->builder->fmul($hundredfirstF47, $nF47); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF47 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok47Block); - - $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysixthLong, - $n - ); - $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); - if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightyseventh)'); - } - $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind - ? $context->builder->load($eightyseventhVar->value) - : $eightyseventhVar->value; - $ov48Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyseventh_ov'); - $ok48Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyseventh_ok'); - $context->builder->branchIf($ov48, $ov48Block, $ok48Block); - - $context->builder->positionAtEnd($ov48Block); - $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); - $nF48 = $context->builder->siToFp($n, $f64); - $hundredfirstF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); - $hundredfirstF48 = $context->builder->fmul($hundredfirstF48, $nF48); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF48 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok48Block); - $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyseventhLong, - $n - ); - $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); - if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightyeighth)'); - } - $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind - ? $context->builder->load($eightyeighthVar->value) - : $eightyeighthVar->value; - $ov49Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyeighth_ov'); - $ok49Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyeighth_ok'); - $context->builder->branchIf($ov49, $ov49Block, $ok49Block); - - $context->builder->positionAtEnd($ov49Block); - $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); - $nF49 = $context->builder->siToFp($n, $f64); - $hundredfirstF49 = $context->builder->fmul($eightyeighthF49, $nF49); - $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); - $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); - $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); - $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); - $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); - $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); - $hundredfirstF49 = $context->builder->fmul($hundredfirstF49, $nF49); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF49 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok49Block); - $eightyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyeighthLong, - $n - ); - $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); - if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (eightyninth)'); - } - $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind - ? $context->builder->load($eightyninthVar->value) - : $eightyninthVar->value; - $ov50Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyninth_ov'); - $ok50Block = BasicBlockHelper::append($context, 'pow_hundredfirst_eightyninth_ok'); - $context->builder->branchIf($ov50, $ov50Block, $ok50Block); - - $context->builder->positionAtEnd($ov50Block); - $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); - $nF50 = $context->builder->siToFp($n, $f64); - $hundredfirstF50 = $context->builder->fmul($eightyninthF50, $nF50); - $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); - $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); - $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); - $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); - $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); - $hundredfirstF50 = $context->builder->fmul($hundredfirstF50, $nF50); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF50 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok50Block); - $ninetiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyninthLong, - $n - ); - $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); - if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetieth)'); - } - $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind - ? $context->builder->load($ninetiethVar->value) - : $ninetiethVar->value; - $ov51Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetieth_ov'); - $ok51Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetieth_ok'); - $context->builder->branchIf($ov51, $ov51Block, $ok51Block); - - $context->builder->positionAtEnd($ov51Block); - $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); - $nF51 = $context->builder->siToFp($n, $f64); - $hundredfirstF51 = $context->builder->fmul($ninetiethF51, $nF51); - $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); - $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); - $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); - $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); - $hundredfirstF51 = $context->builder->fmul($hundredfirstF51, $nF51); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF51 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok51Block); - $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetiethLong, - $n - ); - $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); - if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyfirst)'); - } - $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind - ? $context->builder->load($ninetyfirstVar->value) - : $ninetyfirstVar->value; - $ov52Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfirst_ov'); - $ok52Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfirst_ok'); - $context->builder->branchIf($ov52, $ov52Block, $ok52Block); - - $context->builder->positionAtEnd($ov52Block); - $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); - $nF52 = $context->builder->siToFp($n, $f64); - $hundredfirstF52 = $context->builder->fmul($ninetyfirstF52, $nF52); - $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); - $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); - $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); - $hundredfirstF52 = $context->builder->fmul($hundredfirstF52, $nF52); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF52 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok52Block); - $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfirstLong, - $n - ); - $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); - if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetysecond)'); - } - $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind - ? $context->builder->load($ninetysecondVar->value) - : $ninetysecondVar->value; - $ov53Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysecond_ov'); - $ok53Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysecond_ok'); - $context->builder->branchIf($ov53, $ov53Block, $ok53Block); - - $context->builder->positionAtEnd($ov53Block); - $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); - $nF53 = $context->builder->siToFp($n, $f64); - $hundredfirstF53 = $context->builder->fmul($ninetysecondF53, $nF53); - $hundredfirstF53 = $context->builder->fmul($hundredfirstF53, $nF53); - $hundredfirstF53 = $context->builder->fmul($hundredfirstF53, $nF53); - $hundredfirstF53 = $context->builder->fmul($hundredfirstF53, $nF53); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF53 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok53Block); - $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysecondLong, - $n - ); - $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); - if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetythird)'); - } - $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind - ? $context->builder->load($ninetythirdVar->value) - : $ninetythirdVar->value; - $ov54Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetythird_ov'); - $ok54Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetythird_ok'); - $context->builder->branchIf($ov54, $ov54Block, $ok54Block); - - $context->builder->positionAtEnd($ov54Block); - $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); - $nF54 = $context->builder->siToFp($n, $f64); - $hundredfirstF54 = $context->builder->fmul($ninetythirdF54, $nF54); - $hundredfirstF54 = $context->builder->fmul($hundredfirstF54, $nF54); - $hundredfirstF54 = $context->builder->fmul($hundredfirstF54, $nF54); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF54 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok54Block); - $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetythirdLong, - $n - ); - $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); - if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyfourth)'); - } - $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind - ? $context->builder->load($ninetyfourthVar->value) - : $ninetyfourthVar->value; - $ov55Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfourth_ov'); - $ok55Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfourth_ok'); - $context->builder->branchIf($ov55, $ov55Block, $ok55Block); - - $context->builder->positionAtEnd($ov55Block); - $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); - $nF55 = $context->builder->siToFp($n, $f64); - $hundredfirstF55 = $context->builder->fmul($ninetyfourthF55, $nF55); - $hundredfirstF55 = $context->builder->fmul($hundredfirstF55, $nF55); - $hundredfirstF55 = $context->builder->fmul($hundredfirstF55, $nF55); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF55 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok55Block); - - $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfourthLong, - $n - ); - $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); - if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyfifth)'); - } - $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind - ? $context->builder->load($ninetyfifthVar->value) - : $ninetyfifthVar->value; - $ov56Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfifth_ov'); - $ok56Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyfifth_ok'); - $context->builder->branchIf($ov56, $ov56Block, $ok56Block); - - $context->builder->positionAtEnd($ov56Block); - $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); - $nF56 = $context->builder->siToFp($n, $f64); - $hundredfirstF56 = $context->builder->fmul($ninetyfifthF56, $nF56); - $hundredfirstF56 = $context->builder->fmul($hundredfirstF56, $nF56); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF56 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok56Block); - $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfifthLong, - $n - ); - $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); - if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetysixth)'); - } - $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind - ? $context->builder->load($ninetysixthVar->value) - : $ninetysixthVar->value; - $ov57Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysixth_ov'); - $ok57Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetysixth_ok'); - $context->builder->branchIf($ov57, $ov57Block, $ok57Block); - - $context->builder->positionAtEnd($ov57Block); - $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); - $nF57 = $context->builder->siToFp($n, $f64); - $hundredfirstF57 = $context->builder->fmul($ninetysixthF57, $nF57); - $hundredfirstF57 = $context->builder->fmul($hundredfirstF57, $nF57); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF57 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok57Block); - $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysixthLong, - $n - ); - $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); - if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyseventh)'); - } - $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind - ? $context->builder->load($ninetyseventhVar->value) - : $ninetyseventhVar->value; - $ov58Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyseventh_ov'); - $ok58Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyseventh_ok'); - $context->builder->branchIf($ov58, $ov58Block, $ok58Block); - - $context->builder->positionAtEnd($ov58Block); - $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); - $nF58 = $context->builder->siToFp($n, $f64); - $hundredfirstF58 = $context->builder->fmul($ninetyseventhF58, $nF58); - $hundredfirstF58 = $context->builder->fmul($hundredfirstF58, $nF58); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF58 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok58Block); - $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyseventhLong, - $n - ); - $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); - if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyeighth)'); - } - $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind - ? $context->builder->load($ninetyeighthVar->value) - : $ninetyeighthVar->value; - $ov59Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyeighth_ov'); - $ok59Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyeighth_ok'); - $context->builder->branchIf($ov59, $ov59Block, $ok59Block); - - $context->builder->positionAtEnd($ov59Block); - $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); - $nF59 = $context->builder->siToFp($n, $f64); - $hundredfirstF59 = $context->builder->fmul($ninetyeighthF59, $nF59); - $hundredfirstF59 = $context->builder->fmul($hundredfirstF59, $nF59); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF59 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok59Block); - $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyeighthLong, - $n - ); - $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); - if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (ninetyninth)'); - } - $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind - ? $context->builder->load($ninetyninthVar->value) - : $ninetyninthVar->value; - $ov60Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyninth_ov'); - $ok60Block = BasicBlockHelper::append($context, 'pow_hundredfirst_ninetyninth_ok'); - $context->builder->branchIf($ov60, $ov60Block, $ok60Block); - - $context->builder->positionAtEnd($ov60Block); - $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); - $nF60 = $context->builder->siToFp($n, $f64); - $hundredfirstF60 = $context->builder->fmul($ninetyninthF60, $nF60); - $hundredfirstF60 = $context->builder->fmul($hundredfirstF60, $nF60); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF60 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok60Block); - $hundredthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyninthLong, - $n - ); - $ov61 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredthVar->longArithOverflowFlag); - if (null === $ov61 || null === $hundredthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **101 expected smul overflow metadata (hundredth)'); - } - $hundredthLong = JITVariable::KIND_VARIABLE === $hundredthVar->kind - ? $context->builder->load($hundredthVar->value) - : $hundredthVar->value; - $ov61Block = BasicBlockHelper::append($context, 'pow_hundredfirst_hundredth_ov'); - $ok61Block = BasicBlockHelper::append($context, 'pow_hundredfirst_hundredth_ok'); - $context->builder->branchIf($ov61, $ov61Block, $ok61Block); - - $context->builder->positionAtEnd($ov61Block); - $hundredthF61 = $context->builder->load($hundredthVar->longArithOverflowDoubleSlot); - $nF61 = $context->builder->siToFp($n, $f64); - $hundredfirstF61 = $context->builder->fmul($hundredthF61, $nF61); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredfirstF61 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok61Block); - JitLongArithOverflow::writeBoxedBinary( - $context, - OpCode::TYPE_MUL, - $hundredthLong, - $n, - $slotPtr - ); - $context->builder->branch($doneBlock); - - - $context->builder->positionAtEnd($doneBlock); - - return true; - } - - if ('hundredsecond' === $expFold) { - // n^101 = hundredth*n; overflow arms +1 ×nF vs **100. - // tenth=fifth*fifth, twentieth=tenth*tenth, - // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, - // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). - // Overflow arms finish in float with one extra ×nF vs **102. - $baseL = JitLongArg::lower($context, $base, 'pow() base'); - $i64 = $context->getTypeFromString('int64'); - $f64 = $context->getTypeFromString('double'); - $n = $context->builder->intCast($baseL, $i64); - $sqVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $n, - $n - ); - $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); - if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sq)'); - } - $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind - ? $context->builder->load($sqVar->value) - : $sqVar->value; - $ov1Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sq_ov'); - $ok1Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sq_ok'); - $doneBlock = BasicBlockHelper::append($context, 'pow_hundredsecond_done'); - $context->builder->branchIf($ov1, $ov1Block, $ok1Block); - - $context->builder->positionAtEnd($ov1Block); - $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); - $sq2F = $context->builder->fmul($sqF, $sqF); - $sq4F = $context->builder->fmul($sq2F, $sq2F); - $sq8F = $context->builder->fmul($sq4F, $sq4F); - $twentiethF = $context->builder->fmul($sq8F, $sq2F); - $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); - $fortysecondF = $context->builder->fmul($fortiethF, $sqF); - $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); - $hundredsecondFSq = $context->builder->fmul($fortyfourthF, $sqF); - $hundredsecondFEighth = $context->builder->fmul($hundredsecondFSq, $sqF); - $hundredsecondF = $context->builder->fmul($hundredsecondFEighth, $sqF); - $nF = $context->builder->siToFp($n, $f64); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $hundredsecondF = $context->builder->fmul($hundredsecondF, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok1Block); - $cuVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sqLong, - $n - ); - $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); - if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (cu)'); - } - $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind - ? $context->builder->load($cuVar->value) - : $cuVar->value; - $ov2Block = BasicBlockHelper::append($context, 'pow_hundredsecond_cu_ov'); - $ok2Block = BasicBlockHelper::append($context, 'pow_hundredsecond_cu_ok'); - $context->builder->branchIf($ov2, $ov2Block, $ok2Block); - - $context->builder->positionAtEnd($ov2Block); - $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); - $sqF2 = $context->builder->siToFp($sqLong, $f64); - $fifthF = $context->builder->fmul($cuF, $sqF2); - $tenthF2 = $context->builder->fmul($fifthF, $fifthF); - $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); - $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); - $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); - $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); - $hundredsecondF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); - $hundredsecondF2Eighth = $context->builder->fmul($hundredsecondF2Sq, $sqF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2Eighth, $sqF2); - $nF2 = $context->builder->siToFp($n, $f64); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $hundredsecondF2 = $context->builder->fmul($hundredsecondF2, $nF2); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF2 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok2Block); - $fifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $cuLong, - $sqLong - ); - $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); - if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fifth)'); - } - $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind - ? $context->builder->load($fifthVar->value) - : $fifthVar->value; - $ov3Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fifth_ov'); - $ok3Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fifth_ok'); - $context->builder->branchIf($ov3, $ov3Block, $ok3Block); - - $context->builder->positionAtEnd($ov3Block); - $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); - $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); - $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); - $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); - $sqF3 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); - $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); - $hundredsecondF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); - $hundredsecondF3Eighth = $context->builder->fmul($hundredsecondF3Sq, $sqF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3Eighth, $sqF3); - $nF3 = $context->builder->siToFp($n, $f64); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $hundredsecondF3 = $context->builder->fmul($hundredsecondF3, $nF3); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF3 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok3Block); - $tenthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fifthLong, - $fifthLong - ); - $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); - if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (tenth)'); - } - $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind - ? $context->builder->load($tenthVar->value) - : $tenthVar->value; - $ov4Block = BasicBlockHelper::append($context, 'pow_hundredsecond_tenth_ov'); - $ok4Block = BasicBlockHelper::append($context, 'pow_hundredsecond_tenth_ok'); - $context->builder->branchIf($ov4, $ov4Block, $ok4Block); - - $context->builder->positionAtEnd($ov4Block); - $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); - $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); - $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); - $sqF4 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); - $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); - $hundredsecondF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); - $hundredsecondF4Eighth = $context->builder->fmul($hundredsecondF4Sq, $sqF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4Eighth, $sqF4); - $nF4 = $context->builder->siToFp($n, $f64); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $hundredsecondF4 = $context->builder->fmul($hundredsecondF4, $nF4); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF4 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok4Block); - $twentiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $tenthLong, - $tenthLong - ); - $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); - if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (twentieth)'); - } - $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind - ? $context->builder->load($twentiethVar->value) - : $twentiethVar->value; - $ov5Block = BasicBlockHelper::append($context, 'pow_hundredsecond_twentieth_ov'); - $ok5Block = BasicBlockHelper::append($context, 'pow_hundredsecond_twentieth_ok'); - $context->builder->branchIf($ov5, $ov5Block, $ok5Block); - - $context->builder->positionAtEnd($ov5Block); - $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); - $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); - $sqF5 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); - $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); - $hundredsecondF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); - $hundredsecondF5Eighth = $context->builder->fmul($hundredsecondF5Sq, $sqF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5Eighth, $sqF5); - $nF5 = $context->builder->siToFp($n, $f64); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $hundredsecondF5 = $context->builder->fmul($hundredsecondF5, $nF5); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF5 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok5Block); - $fortiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $twentiethLong, - $twentiethLong - ); - $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); - if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fortieth)'); - } - $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind - ? $context->builder->load($fortiethVar->value) - : $fortiethVar->value; - $ov6Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortieth_ov'); - $ok6Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortieth_ok'); - $context->builder->branchIf($ov6, $ov6Block, $ok6Block); - - $context->builder->positionAtEnd($ov6Block); - $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); - $sqF6 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); - $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); - $hundredsecondF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); - $hundredsecondF6Eighth = $context->builder->fmul($hundredsecondF6Sq, $sqF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6Eighth, $sqF6); - $nF6 = $context->builder->siToFp($n, $f64); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $hundredsecondF6 = $context->builder->fmul($hundredsecondF6, $nF6); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF6 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok6Block); - $fortysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortiethLong, - $sqLong - ); - $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); - if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fortysecond)'); - } - $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind - ? $context->builder->load($fortysecondVar->value) - : $fortysecondVar->value; - $ov7Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysecond_ov'); - $ok7Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysecond_ok'); - $context->builder->branchIf($ov7, $ov7Block, $ok7Block); - - $context->builder->positionAtEnd($ov7Block); - $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); - $sqF7 = $context->builder->siToFp($sqLong, $f64); - $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); - $hundredsecondF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); - $hundredsecondF7Eighth = $context->builder->fmul($hundredsecondF7Sq, $sqF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7Eighth, $sqF7); - $nF7 = $context->builder->siToFp($n, $f64); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $hundredsecondF7 = $context->builder->fmul($hundredsecondF7, $nF7); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF7 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok7Block); - $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysecondLong, - $sqLong - ); - $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); - if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fortyfourth)'); - } - $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind - ? $context->builder->load($fortyfourthVar->value) - : $fortyfourthVar->value; - $ov8Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyfourth_ov'); - $ok8Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyfourth_ok'); - $context->builder->branchIf($ov8, $ov8Block, $ok8Block); - - $context->builder->positionAtEnd($ov8Block); - $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); - $sqF8 = $context->builder->siToFp($sqLong, $f64); - $hundredsecondF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); - $hundredsecondF8Eighth = $context->builder->fmul($hundredsecondF8Sq, $sqF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8Eighth, $sqF8); - $nF8 = $context->builder->siToFp($n, $f64); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $hundredsecondF8 = $context->builder->fmul($hundredsecondF8, $nF8); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF8 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok8Block); - $fortysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyfourthLong, - $sqLong - ); - $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); - if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fortysixth)'); - } - $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind - ? $context->builder->load($fortysixthVar->value) - : $fortysixthVar->value; - $ov9Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysixth_ov'); - $ok9Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortysixth_ok'); - $context->builder->branchIf($ov9, $ov9Block, $ok9Block); - - $context->builder->positionAtEnd($ov9Block); - $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); - $sqF9 = $context->builder->siToFp($sqLong, $f64); - $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); - $hundredsecondF9 = $context->builder->fmul($fortyeighthF9, $sqF9); - $nF9 = $context->builder->siToFp($n, $f64); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $hundredsecondF9 = $context->builder->fmul($hundredsecondF9, $nF9); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF9 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok9Block); - $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysixthLong, - $sqLong - ); - $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); - if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fortyeighth)'); - } - $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind - ? $context->builder->load($fortyeighthVar->value) - : $fortyeighthVar->value; - $ov10Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyeighth_ov'); - $ok10Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fortyeighth_ok'); - $context->builder->branchIf($ov10, $ov10Block, $ok10Block); - - $context->builder->positionAtEnd($ov10Block); - $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); - $sqF10 = $context->builder->siToFp($sqLong, $f64); - $hundredsecondF10 = $context->builder->fmul($fortyeighthF10, $sqF10); - $nF10 = $context->builder->siToFp($n, $f64); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $hundredsecondF10 = $context->builder->fmul($hundredsecondF10, $nF10); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF10 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok10Block); - $fiftiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyeighthLong, - $sqLong - ); - $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); - if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftieth)'); - } - $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind - ? $context->builder->load($fiftiethVar->value) - : $fiftiethVar->value; - $ov11Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftieth_ov'); - $ok11Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftieth_ok'); - $context->builder->branchIf($ov11, $ov11Block, $ok11Block); - - $context->builder->positionAtEnd($ov11Block); - $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); - $nF11 = $context->builder->siToFp($n, $f64); - $hundredsecondF11 = $context->builder->fmul($fiftiethF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $hundredsecondF11 = $context->builder->fmul($hundredsecondF11, $nF11); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF11 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok11Block); - $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftiethLong, - $n - ); - $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); - if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyfirst)'); - } - $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind - ? $context->builder->load($fiftyfirstVar->value) - : $fiftyfirstVar->value; - $ov12Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfirst_ov'); - $ok12Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfirst_ok'); - $context->builder->branchIf($ov12, $ov12Block, $ok12Block); - - $context->builder->positionAtEnd($ov12Block); - $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); - $nF12 = $context->builder->siToFp($n, $f64); - $hundredsecondF12 = $context->builder->fmul($fiftyfirstF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $hundredsecondF12 = $context->builder->fmul($hundredsecondF12, $nF12); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF12 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok12Block); - $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfirstLong, - $n - ); - $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); - if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftysecond)'); - } - $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind - ? $context->builder->load($fiftysecondVar->value) - : $fiftysecondVar->value; - $ov13Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysecond_ov'); - $ok13Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysecond_ok'); - $context->builder->branchIf($ov13, $ov13Block, $ok13Block); - - $context->builder->positionAtEnd($ov13Block); - $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); - $nF13 = $context->builder->siToFp($n, $f64); - $hundredsecondF13 = $context->builder->fmul($fiftysecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $hundredsecondF13 = $context->builder->fmul($hundredsecondF13, $nF13); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF13 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok13Block); - $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysecondLong, - $n - ); - $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); - if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftythird)'); - } - $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind - ? $context->builder->load($fiftythirdVar->value) - : $fiftythirdVar->value; - $ov14Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftythird_ov'); - $ok14Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftythird_ok'); - $context->builder->branchIf($ov14, $ov14Block, $ok14Block); - - $context->builder->positionAtEnd($ov14Block); - $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); - $nF14 = $context->builder->siToFp($n, $f64); - $hundredsecondF14 = $context->builder->fmul($fiftythirdF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $hundredsecondF14 = $context->builder->fmul($hundredsecondF14, $nF14); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF14 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok14Block); - $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftythirdLong, - $n - ); - $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); - if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyfourth)'); - } - $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind - ? $context->builder->load($fiftyfourthVar->value) - : $fiftyfourthVar->value; - $ov15Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfourth_ov'); - $ok15Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfourth_ok'); - $context->builder->branchIf($ov15, $ov15Block, $ok15Block); - - $context->builder->positionAtEnd($ov15Block); - $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); - $nF15 = $context->builder->siToFp($n, $f64); - $hundredsecondF15 = $context->builder->fmul($fiftyfourthF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $hundredsecondF15 = $context->builder->fmul($hundredsecondF15, $nF15); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF15 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok15Block); - $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfourthLong, - $n - ); - $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); - if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyfifth)'); - } - $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind - ? $context->builder->load($fiftyfifthVar->value) - : $fiftyfifthVar->value; - $ov16Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfifth_ov'); - $ok16Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyfifth_ok'); - $context->builder->branchIf($ov16, $ov16Block, $ok16Block); - - $context->builder->positionAtEnd($ov16Block); - $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); - $nF16 = $context->builder->siToFp($n, $f64); - $hundredsecondF16 = $context->builder->fmul($fiftyfifthF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $hundredsecondF16 = $context->builder->fmul($hundredsecondF16, $nF16); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF16 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok16Block); - $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfifthLong, - $n - ); - $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); - if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftysixth)'); - } - $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind - ? $context->builder->load($fiftysixthVar->value) - : $fiftysixthVar->value; - $ov17Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysixth_ov'); - $ok17Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftysixth_ok'); - $context->builder->branchIf($ov17, $ov17Block, $ok17Block); - - $context->builder->positionAtEnd($ov17Block); - $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); - $nF17 = $context->builder->siToFp($n, $f64); - $hundredsecondF17 = $context->builder->fmul($fiftysixthF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $hundredsecondF17 = $context->builder->fmul($hundredsecondF17, $nF17); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF17 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok17Block); - $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysixthLong, - $n - ); - $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); - if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyseventh)'); - } - $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind - ? $context->builder->load($fiftyseventhVar->value) - : $fiftyseventhVar->value; - $ov18Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyseventh_ov'); - $ok18Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyseventh_ok'); - $context->builder->branchIf($ov18, $ov18Block, $ok18Block); - - $context->builder->positionAtEnd($ov18Block); - $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); - $nF18 = $context->builder->siToFp($n, $f64); - $hundredsecondF18 = $context->builder->fmul($fiftyseventhF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $hundredsecondF18 = $context->builder->fmul($hundredsecondF18, $nF18); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF18 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok18Block); - $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyseventhLong, - $n - ); - $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); - if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyeighth)'); - } - $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind - ? $context->builder->load($fiftyeighthVar->value) - : $fiftyeighthVar->value; - $ov19Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyeighth_ov'); - $ok19Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyeighth_ok'); - $context->builder->branchIf($ov19, $ov19Block, $ok19Block); - - $context->builder->positionAtEnd($ov19Block); - $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); - $nF19 = $context->builder->siToFp($n, $f64); - $hundredsecondF19 = $context->builder->fmul($fiftyeighthF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $hundredsecondF19 = $context->builder->fmul($hundredsecondF19, $nF19); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF19 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok19Block); - $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyeighthLong, - $n - ); - $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); - if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (fiftyninth)'); - } - $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind - ? $context->builder->load($fiftyninthVar->value) - : $fiftyninthVar->value; - $ov20Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyninth_ov'); - $ok20Block = BasicBlockHelper::append($context, 'pow_hundredsecond_fiftyninth_ok'); - $context->builder->branchIf($ov20, $ov20Block, $ok20Block); - - $context->builder->positionAtEnd($ov20Block); - $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); - $nF20 = $context->builder->siToFp($n, $f64); - $hundredsecondF20 = $context->builder->fmul($fiftyninthF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $hundredsecondF20 = $context->builder->fmul($hundredsecondF20, $nF20); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF20 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok20Block); - $sixtiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyninthLong, - $n - ); - $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); - if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtieth)'); - } - $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind - ? $context->builder->load($sixtiethVar->value) - : $sixtiethVar->value; - $ov21Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtieth_ov'); - $ok21Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtieth_ok'); - $context->builder->branchIf($ov21, $ov21Block, $ok21Block); - - $context->builder->positionAtEnd($ov21Block); - $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); - $nF21 = $context->builder->siToFp($n, $f64); - $hundredsecondF21 = $context->builder->fmul($sixtiethF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $hundredsecondF21 = $context->builder->fmul($hundredsecondF21, $nF21); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF21 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok21Block); - $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtiethLong, - $n - ); - $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); - if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyfirst)'); - } - $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind - ? $context->builder->load($sixtyfirstVar->value) - : $sixtyfirstVar->value; - $ov22Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfirst_ov'); - $ok22Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfirst_ok'); - $context->builder->branchIf($ov22, $ov22Block, $ok22Block); - - $context->builder->positionAtEnd($ov22Block); - $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); - $nF22 = $context->builder->siToFp($n, $f64); - $hundredsecondF22 = $context->builder->fmul($sixtyfirstF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $hundredsecondF22 = $context->builder->fmul($hundredsecondF22, $nF22); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF22 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok22Block); - $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfirstLong, - $n - ); - $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); - if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtysecond)'); - } - $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind - ? $context->builder->load($sixtysecondVar->value) - : $sixtysecondVar->value; - $ov23Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysecond_ov'); - $ok23Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysecond_ok'); - $context->builder->branchIf($ov23, $ov23Block, $ok23Block); - - $context->builder->positionAtEnd($ov23Block); - $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); - $nF23 = $context->builder->siToFp($n, $f64); - $hundredsecondF23 = $context->builder->fmul($sixtysecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $hundredsecondF23 = $context->builder->fmul($hundredsecondF23, $nF23); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF23 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok23Block); - $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysecondLong, - $n - ); - $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); - if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtythird)'); - } - $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind - ? $context->builder->load($sixtythirdVar->value) - : $sixtythirdVar->value; - $ov24Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtythird_ov'); - $ok24Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtythird_ok'); - $context->builder->branchIf($ov24, $ov24Block, $ok24Block); - - $context->builder->positionAtEnd($ov24Block); - $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); - $nF24 = $context->builder->siToFp($n, $f64); - $hundredsecondF24 = $context->builder->fmul($sixtythirdF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $hundredsecondF24 = $context->builder->fmul($hundredsecondF24, $nF24); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF24 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok24Block); - $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtythirdLong, - $n - ); - $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); - if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyfourth)'); - } - $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind - ? $context->builder->load($sixtyfourthVar->value) - : $sixtyfourthVar->value; - $ov25Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfourth_ov'); - $ok25Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfourth_ok'); - $context->builder->branchIf($ov25, $ov25Block, $ok25Block); - - $context->builder->positionAtEnd($ov25Block); - $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); - $nF25 = $context->builder->siToFp($n, $f64); - $hundredsecondF25 = $context->builder->fmul($sixtyfourthF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $hundredsecondF25 = $context->builder->fmul($hundredsecondF25, $nF25); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF25 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok25Block); - $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfourthLong, - $n - ); - $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); - if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyfifth)'); - } - $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind - ? $context->builder->load($sixtyfifthVar->value) - : $sixtyfifthVar->value; - $ov26Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfifth_ov'); - $ok26Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyfifth_ok'); - $context->builder->branchIf($ov26, $ov26Block, $ok26Block); - - $context->builder->positionAtEnd($ov26Block); - $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); - $nF26 = $context->builder->siToFp($n, $f64); - $hundredsecondF26 = $context->builder->fmul($sixtyfifthF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $hundredsecondF26 = $context->builder->fmul($hundredsecondF26, $nF26); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF26 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok26Block); - $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfifthLong, - $n - ); - $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); - if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtysixth)'); - } - $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind - ? $context->builder->load($sixtysixthVar->value) - : $sixtysixthVar->value; - $ov27Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysixth_ov'); - $ok27Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtysixth_ok'); - $context->builder->branchIf($ov27, $ov27Block, $ok27Block); - - $context->builder->positionAtEnd($ov27Block); - $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); - $nF27 = $context->builder->siToFp($n, $f64); - $hundredsecondF27 = $context->builder->fmul($sixtysixthF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $hundredsecondF27 = $context->builder->fmul($hundredsecondF27, $nF27); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF27 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok27Block); - $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysixthLong, - $n - ); - $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); - if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyseventh)'); - } - $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind - ? $context->builder->load($sixtyseventhVar->value) - : $sixtyseventhVar->value; - $ov28Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyseventh_ov'); - $ok28Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyseventh_ok'); - $context->builder->branchIf($ov28, $ov28Block, $ok28Block); - - $context->builder->positionAtEnd($ov28Block); - $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); - $nF28 = $context->builder->siToFp($n, $f64); - $hundredsecondF28 = $context->builder->fmul($sixtyseventhF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $hundredsecondF28 = $context->builder->fmul($hundredsecondF28, $nF28); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF28 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok28Block); - $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyseventhLong, - $n - ); - $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); - if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyeighth)'); - } - $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind - ? $context->builder->load($sixtyeighthVar->value) - : $sixtyeighthVar->value; - $ov29Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyeighth_ov'); - $ok29Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyeighth_ok'); - $context->builder->branchIf($ov29, $ov29Block, $ok29Block); - - $context->builder->positionAtEnd($ov29Block); - $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); - $nF29 = $context->builder->siToFp($n, $f64); - $hundredsecondF29 = $context->builder->fmul($sixtyeighthF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $hundredsecondF29 = $context->builder->fmul($hundredsecondF29, $nF29); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF29 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok29Block); - $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyeighthLong, - $n - ); - $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); - if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (sixtyninth)'); - } - $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind - ? $context->builder->load($sixtyninthVar->value) - : $sixtyninthVar->value; - $ov30Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyninth_ov'); - $ok30Block = BasicBlockHelper::append($context, 'pow_hundredsecond_sixtyninth_ok'); - $context->builder->branchIf($ov30, $ov30Block, $ok30Block); - - $context->builder->positionAtEnd($ov30Block); - $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); - $nF30 = $context->builder->siToFp($n, $f64); - $hundredsecondF30 = $context->builder->fmul($sixtyninthF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $hundredsecondF30 = $context->builder->fmul($hundredsecondF30, $nF30); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF30 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok30Block); - $seventiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyninthLong, - $n - ); - $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); - if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventieth)'); - } - $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind - ? $context->builder->load($seventiethVar->value) - : $seventiethVar->value; - $ov31Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventieth_ov'); - $ok31Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventieth_ok'); - $context->builder->branchIf($ov31, $ov31Block, $ok31Block); - - $context->builder->positionAtEnd($ov31Block); - $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); - $nF31 = $context->builder->siToFp($n, $f64); - $hundredsecondF31 = $context->builder->fmul($seventiethF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $hundredsecondF31 = $context->builder->fmul($hundredsecondF31, $nF31); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF31 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok31Block); - $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventiethLong, - $n - ); - $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); - if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventyfirst)'); - } - $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind - ? $context->builder->load($seventyfirstVar->value) - : $seventyfirstVar->value; - $ov32Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfirst_ov'); - $ok32Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfirst_ok'); - $context->builder->branchIf($ov32, $ov32Block, $ok32Block); - - $context->builder->positionAtEnd($ov32Block); - $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); - $nF32 = $context->builder->siToFp($n, $f64); - $hundredsecondF32 = $context->builder->fmul($seventyfirstF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $hundredsecondF32 = $context->builder->fmul($hundredsecondF32, $nF32); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF32 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok32Block); - $seventysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfirstLong, - $n - ); - $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); - if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventysecond)'); - } - $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind - ? $context->builder->load($seventysecondVar->value) - : $seventysecondVar->value; - $ov33Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysecond_ov'); - $ok33Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysecond_ok'); - $context->builder->branchIf($ov33, $ov33Block, $ok33Block); - - $context->builder->positionAtEnd($ov33Block); - $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); - $nF33 = $context->builder->siToFp($n, $f64); - $hundredsecondF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $hundredsecondF33 = $context->builder->fmul($hundredsecondF33, $nF33); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF33 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok33Block); - $seventythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysecondLong, - $n - ); - $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); - if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventythird)'); - } - $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind - ? $context->builder->load($seventythirdVar->value) - : $seventythirdVar->value; - $ov34Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventythird_ov'); - $ok34Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventythird_ok'); - $context->builder->branchIf($ov34, $ov34Block, $ok34Block); - - $context->builder->positionAtEnd($ov34Block); - $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); - $nF34 = $context->builder->siToFp($n, $f64); - $hundredsecondF34 = $context->builder->fmul($seventythirdF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $hundredsecondF34 = $context->builder->fmul($hundredsecondF34, $nF34); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF34 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok34Block); - $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventythirdLong, - $n - ); - $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); - if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventyfourth)'); - } - $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind - ? $context->builder->load($seventyfourthVar->value) - : $seventyfourthVar->value; - $ov35Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfourth_ov'); - $ok35Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfourth_ok'); - $context->builder->branchIf($ov35, $ov35Block, $ok35Block); - - $context->builder->positionAtEnd($ov35Block); - $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); - $nF35 = $context->builder->siToFp($n, $f64); - $hundredsecondF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $hundredsecondF35 = $context->builder->fmul($hundredsecondF35, $nF35); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF35 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok35Block); - $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfourthLong, - $n - ); - $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); - if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventyfifth)'); - } - $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind - ? $context->builder->load($seventyfifthVar->value) - : $seventyfifthVar->value; - $ov36Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfifth_ov'); - $ok36Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyfifth_ok'); - $context->builder->branchIf($ov36, $ov36Block, $ok36Block); - - $context->builder->positionAtEnd($ov36Block); - $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); - $nF36 = $context->builder->siToFp($n, $f64); - $hundredsecondF36 = $context->builder->fmul($seventyfifthF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $hundredsecondF36 = $context->builder->fmul($hundredsecondF36, $nF36); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF36 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok36Block); - $seventysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfifthLong, - $n - ); - $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); - if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventysixth)'); - } - $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind - ? $context->builder->load($seventysixthVar->value) - : $seventysixthVar->value; - $ov37Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysixth_ov'); - $ok37Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventysixth_ok'); - $context->builder->branchIf($ov37, $ov37Block, $ok37Block); - - $context->builder->positionAtEnd($ov37Block); - $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); - $nF37 = $context->builder->siToFp($n, $f64); - $hundredsecondF37 = $context->builder->fmul($seventysixthF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $hundredsecondF37 = $context->builder->fmul($hundredsecondF37, $nF37); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF37 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok37Block); - $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysixthLong, - $n - ); - $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); - if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventyseventh)'); - } - $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind - ? $context->builder->load($seventyseventhVar->value) - : $seventyseventhVar->value; - $ov38Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyseventh_ov'); - $ok38Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyseventh_ok'); - $context->builder->branchIf($ov38, $ov38Block, $ok38Block); - - $context->builder->positionAtEnd($ov38Block); - $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); - $nF38 = $context->builder->siToFp($n, $f64); - $hundredsecondF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $hundredsecondF38 = $context->builder->fmul($hundredsecondF38, $nF38); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF38 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok38Block); - $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyseventhLong, - $n - ); - $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); - if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventyeighth)'); - } - $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind - ? $context->builder->load($seventyeighthVar->value) - : $seventyeighthVar->value; - $ov39Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyeighth_ov'); - $ok39Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyeighth_ok'); - $context->builder->branchIf($ov39, $ov39Block, $ok39Block); - - $context->builder->positionAtEnd($ov39Block); - $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); - $nF39 = $context->builder->siToFp($n, $f64); - $hundredsecondF39 = $context->builder->fmul($seventyeighthF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $hundredsecondF39 = $context->builder->fmul($hundredsecondF39, $nF39); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF39 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok39Block); - $seventyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyeighthLong, - $n - ); - $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); - if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (seventyninth)'); - } - $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind - ? $context->builder->load($seventyninthVar->value) - : $seventyninthVar->value; - $ov40Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyninth_ov'); - $ok40Block = BasicBlockHelper::append($context, 'pow_hundredsecond_seventyninth_ok'); - $context->builder->branchIf($ov40, $ov40Block, $ok40Block); - - $context->builder->positionAtEnd($ov40Block); - $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); - $nF40 = $context->builder->siToFp($n, $f64); - $hundredsecondF40 = $context->builder->fmul($seventyninthF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $hundredsecondF40 = $context->builder->fmul($hundredsecondF40, $nF40); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF40 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok40Block); - $eightiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyninthLong, - $n - ); - $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); - if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightieth)'); - } - $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind - ? $context->builder->load($eightiethVar->value) - : $eightiethVar->value; - $ov41Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightieth_ov'); - $ok41Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightieth_ok'); - $context->builder->branchIf($ov41, $ov41Block, $ok41Block); - - $context->builder->positionAtEnd($ov41Block); - $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); - $nF41 = $context->builder->siToFp($n, $f64); - $hundredsecondF41 = $context->builder->fmul($eightiethF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $hundredsecondF41 = $context->builder->fmul($hundredsecondF41, $nF41); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF41 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok41Block); - $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightiethLong, - $n - ); - $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); - if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightyfirst)'); - } - $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind - ? $context->builder->load($eightyfirstVar->value) - : $eightyfirstVar->value; - $ov42Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfirst_ov'); - $ok42Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfirst_ok'); - $context->builder->branchIf($ov42, $ov42Block, $ok42Block); - - $context->builder->positionAtEnd($ov42Block); - $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); - $nF42 = $context->builder->siToFp($n, $f64); - $hundredsecondF42 = $context->builder->fmul($eightyfirstF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $hundredsecondF42 = $context->builder->fmul($hundredsecondF42, $nF42); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF42 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok42Block); - $eightysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfirstLong, - $n - ); - $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); - if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightysecond)'); - } - $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind - ? $context->builder->load($eightysecondVar->value) - : $eightysecondVar->value; - $ov43Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysecond_ov'); - $ok43Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysecond_ok'); - $context->builder->branchIf($ov43, $ov43Block, $ok43Block); - - $context->builder->positionAtEnd($ov43Block); - $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); - $nF43 = $context->builder->siToFp($n, $f64); - $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $hundredsecondF43 = $context->builder->fmul($hundredsecondF43, $nF43); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF43 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok43Block); - $eightythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysecondLong, - $n - ); - $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); - if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightythird)'); - } - $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind - ? $context->builder->load($eightythirdVar->value) - : $eightythirdVar->value; - $ov44Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightythird_ov'); - $ok44Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightythird_ok'); - $context->builder->branchIf($ov44, $ov44Block, $ok44Block); - - $context->builder->positionAtEnd($ov44Block); - $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); - $nF44 = $context->builder->siToFp($n, $f64); - $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $hundredsecondF44 = $context->builder->fmul($hundredsecondF44, $nF44); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF44 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok44Block); - $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightythirdLong, - $n - ); - $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); - if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightyfourth)'); - } - $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind - ? $context->builder->load($eightyfourthVar->value) - : $eightyfourthVar->value; - $ov45Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfourth_ov'); - $ok45Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfourth_ok'); - $context->builder->branchIf($ov45, $ov45Block, $ok45Block); - - $context->builder->positionAtEnd($ov45Block); - $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); - $nF45 = $context->builder->siToFp($n, $f64); - $hundredsecondF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $hundredsecondF45 = $context->builder->fmul($hundredsecondF45, $nF45); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF45 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok45Block); - $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfourthLong, - $n - ); - $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); - if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightyfifth)'); - } - $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind - ? $context->builder->load($eightyfifthVar->value) - : $eightyfifthVar->value; - $ov46Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfifth_ov'); - $ok46Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyfifth_ok'); - $context->builder->branchIf($ov46, $ov46Block, $ok46Block); - - $context->builder->positionAtEnd($ov46Block); - $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); - $nF46 = $context->builder->siToFp($n, $f64); - $hundredsecondF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $hundredsecondF46 = $context->builder->fmul($hundredsecondF46, $nF46); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF46 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok46Block); - $eightysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfifthLong, - $n - ); - $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); - if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightysixth)'); - } - $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind - ? $context->builder->load($eightysixthVar->value) - : $eightysixthVar->value; - $ov47Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysixth_ov'); - $ok47Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightysixth_ok'); - $context->builder->branchIf($ov47, $ov47Block, $ok47Block); - - $context->builder->positionAtEnd($ov47Block); - $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); - $nF47 = $context->builder->siToFp($n, $f64); - $hundredsecondF47 = $context->builder->fmul($eightysixthF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $hundredsecondF47 = $context->builder->fmul($hundredsecondF47, $nF47); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF47 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok47Block); - - $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysixthLong, - $n - ); - $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); - if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightyseventh)'); - } - $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind - ? $context->builder->load($eightyseventhVar->value) - : $eightyseventhVar->value; - $ov48Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyseventh_ov'); - $ok48Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyseventh_ok'); - $context->builder->branchIf($ov48, $ov48Block, $ok48Block); - - $context->builder->positionAtEnd($ov48Block); - $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); - $nF48 = $context->builder->siToFp($n, $f64); - $hundredsecondF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $hundredsecondF48 = $context->builder->fmul($hundredsecondF48, $nF48); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF48 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok48Block); - $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyseventhLong, - $n - ); - $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); - if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightyeighth)'); - } - $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind - ? $context->builder->load($eightyeighthVar->value) - : $eightyeighthVar->value; - $ov49Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyeighth_ov'); - $ok49Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyeighth_ok'); - $context->builder->branchIf($ov49, $ov49Block, $ok49Block); - - $context->builder->positionAtEnd($ov49Block); - $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); - $nF49 = $context->builder->siToFp($n, $f64); - $hundredsecondF49 = $context->builder->fmul($eightyeighthF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $hundredsecondF49 = $context->builder->fmul($hundredsecondF49, $nF49); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF49 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok49Block); - $eightyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyeighthLong, - $n - ); - $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); - if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (eightyninth)'); - } - $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind - ? $context->builder->load($eightyninthVar->value) - : $eightyninthVar->value; - $ov50Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyninth_ov'); - $ok50Block = BasicBlockHelper::append($context, 'pow_hundredsecond_eightyninth_ok'); - $context->builder->branchIf($ov50, $ov50Block, $ok50Block); - - $context->builder->positionAtEnd($ov50Block); - $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); - $nF50 = $context->builder->siToFp($n, $f64); - $hundredsecondF50 = $context->builder->fmul($eightyninthF50, $nF50); - $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); - $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); - $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); - $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); - $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); - $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); - $hundredsecondF50 = $context->builder->fmul($hundredsecondF50, $nF50); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF50 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok50Block); - $ninetiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyninthLong, - $n - ); - $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); - if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetieth)'); - } - $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind - ? $context->builder->load($ninetiethVar->value) - : $ninetiethVar->value; - $ov51Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetieth_ov'); - $ok51Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetieth_ok'); - $context->builder->branchIf($ov51, $ov51Block, $ok51Block); - - $context->builder->positionAtEnd($ov51Block); - $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); - $nF51 = $context->builder->siToFp($n, $f64); - $hundredsecondF51 = $context->builder->fmul($ninetiethF51, $nF51); - $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); - $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); - $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); - $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); - $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); - $hundredsecondF51 = $context->builder->fmul($hundredsecondF51, $nF51); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF51 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok51Block); - $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetiethLong, - $n - ); - $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); - if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyfirst)'); - } - $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind - ? $context->builder->load($ninetyfirstVar->value) - : $ninetyfirstVar->value; - $ov52Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfirst_ov'); - $ok52Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfirst_ok'); - $context->builder->branchIf($ov52, $ov52Block, $ok52Block); - - $context->builder->positionAtEnd($ov52Block); - $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); - $nF52 = $context->builder->siToFp($n, $f64); - $hundredsecondF52 = $context->builder->fmul($ninetyfirstF52, $nF52); - $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); - $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); - $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); - $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); - $hundredsecondF52 = $context->builder->fmul($hundredsecondF52, $nF52); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF52 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok52Block); - $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfirstLong, - $n - ); - $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); - if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetysecond)'); - } - $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind - ? $context->builder->load($ninetysecondVar->value) - : $ninetysecondVar->value; - $ov53Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysecond_ov'); - $ok53Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysecond_ok'); - $context->builder->branchIf($ov53, $ov53Block, $ok53Block); - - $context->builder->positionAtEnd($ov53Block); - $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); - $nF53 = $context->builder->siToFp($n, $f64); - $hundredsecondF53 = $context->builder->fmul($ninetysecondF53, $nF53); - $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); - $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); - $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); - $hundredsecondF53 = $context->builder->fmul($hundredsecondF53, $nF53); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF53 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok53Block); - $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysecondLong, - $n - ); - $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); - if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetythird)'); - } - $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind - ? $context->builder->load($ninetythirdVar->value) - : $ninetythirdVar->value; - $ov54Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetythird_ov'); - $ok54Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetythird_ok'); - $context->builder->branchIf($ov54, $ov54Block, $ok54Block); - - $context->builder->positionAtEnd($ov54Block); - $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); - $nF54 = $context->builder->siToFp($n, $f64); - $hundredsecondF54 = $context->builder->fmul($ninetythirdF54, $nF54); - $hundredsecondF54 = $context->builder->fmul($hundredsecondF54, $nF54); - $hundredsecondF54 = $context->builder->fmul($hundredsecondF54, $nF54); - $hundredsecondF54 = $context->builder->fmul($hundredsecondF54, $nF54); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF54 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok54Block); - $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetythirdLong, - $n - ); - $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); - if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyfourth)'); - } - $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind - ? $context->builder->load($ninetyfourthVar->value) - : $ninetyfourthVar->value; - $ov55Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfourth_ov'); - $ok55Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfourth_ok'); - $context->builder->branchIf($ov55, $ov55Block, $ok55Block); - - $context->builder->positionAtEnd($ov55Block); - $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); - $nF55 = $context->builder->siToFp($n, $f64); - $hundredsecondF55 = $context->builder->fmul($ninetyfourthF55, $nF55); - $hundredsecondF55 = $context->builder->fmul($hundredsecondF55, $nF55); - $hundredsecondF55 = $context->builder->fmul($hundredsecondF55, $nF55); - $hundredsecondF55 = $context->builder->fmul($hundredsecondF55, $nF55); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF55 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok55Block); - - $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfourthLong, - $n - ); - $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); - if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyfifth)'); - } - $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind - ? $context->builder->load($ninetyfifthVar->value) - : $ninetyfifthVar->value; - $ov56Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfifth_ov'); - $ok56Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyfifth_ok'); - $context->builder->branchIf($ov56, $ov56Block, $ok56Block); - - $context->builder->positionAtEnd($ov56Block); - $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); - $nF56 = $context->builder->siToFp($n, $f64); - $hundredsecondF56 = $context->builder->fmul($ninetyfifthF56, $nF56); - $hundredsecondF56 = $context->builder->fmul($hundredsecondF56, $nF56); - $hundredsecondF56 = $context->builder->fmul($hundredsecondF56, $nF56); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF56 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok56Block); - $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfifthLong, - $n - ); - $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); - if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetysixth)'); - } - $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind - ? $context->builder->load($ninetysixthVar->value) - : $ninetysixthVar->value; - $ov57Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysixth_ov'); - $ok57Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetysixth_ok'); - $context->builder->branchIf($ov57, $ov57Block, $ok57Block); - - $context->builder->positionAtEnd($ov57Block); - $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); - $nF57 = $context->builder->siToFp($n, $f64); - $hundredsecondF57 = $context->builder->fmul($ninetysixthF57, $nF57); - $hundredsecondF57 = $context->builder->fmul($hundredsecondF57, $nF57); - $hundredsecondF57 = $context->builder->fmul($hundredsecondF57, $nF57); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF57 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok57Block); - $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysixthLong, - $n - ); - $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); - if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyseventh)'); - } - $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind - ? $context->builder->load($ninetyseventhVar->value) - : $ninetyseventhVar->value; - $ov58Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyseventh_ov'); - $ok58Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyseventh_ok'); - $context->builder->branchIf($ov58, $ov58Block, $ok58Block); - - $context->builder->positionAtEnd($ov58Block); - $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); - $nF58 = $context->builder->siToFp($n, $f64); - $hundredsecondF58 = $context->builder->fmul($ninetyseventhF58, $nF58); - $hundredsecondF58 = $context->builder->fmul($hundredsecondF58, $nF58); - $hundredsecondF58 = $context->builder->fmul($hundredsecondF58, $nF58); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF58 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok58Block); - $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyseventhLong, - $n - ); - $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); - if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyeighth)'); - } - $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind - ? $context->builder->load($ninetyeighthVar->value) - : $ninetyeighthVar->value; - $ov59Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyeighth_ov'); - $ok59Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyeighth_ok'); - $context->builder->branchIf($ov59, $ov59Block, $ok59Block); - - $context->builder->positionAtEnd($ov59Block); - $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); - $nF59 = $context->builder->siToFp($n, $f64); - $hundredsecondF59 = $context->builder->fmul($ninetyeighthF59, $nF59); - $hundredsecondF59 = $context->builder->fmul($hundredsecondF59, $nF59); - $hundredsecondF59 = $context->builder->fmul($hundredsecondF59, $nF59); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF59 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok59Block); - $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyeighthLong, - $n - ); - $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); - if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (ninetyninth)'); - } - $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind - ? $context->builder->load($ninetyninthVar->value) - : $ninetyninthVar->value; - $ov60Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyninth_ov'); - $ok60Block = BasicBlockHelper::append($context, 'pow_hundredsecond_ninetyninth_ok'); - $context->builder->branchIf($ov60, $ov60Block, $ok60Block); - - $context->builder->positionAtEnd($ov60Block); - $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); - $nF60 = $context->builder->siToFp($n, $f64); - $hundredsecondF60 = $context->builder->fmul($ninetyninthF60, $nF60); - $hundredsecondF60 = $context->builder->fmul($hundredsecondF60, $nF60); - $hundredsecondF60 = $context->builder->fmul($hundredsecondF60, $nF60); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF60 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok60Block); - $hundredthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyninthLong, - $n - ); - $ov61 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredthVar->longArithOverflowFlag); - if (null === $ov61 || null === $hundredthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (hundredth)'); - } - $hundredthLong = JITVariable::KIND_VARIABLE === $hundredthVar->kind - ? $context->builder->load($hundredthVar->value) - : $hundredthVar->value; - $ov61Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredth_ov'); - $ok61Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredth_ok'); - $context->builder->branchIf($ov61, $ov61Block, $ok61Block); - - $context->builder->positionAtEnd($ov61Block); - $hundredthF61 = $context->builder->load($hundredthVar->longArithOverflowDoubleSlot); - $nF61 = $context->builder->siToFp($n, $f64); - $hundredsecondF61 = $context->builder->fmul($hundredthF61, $nF61); - $hundredsecondF61 = $context->builder->fmul($hundredsecondF61, $nF61); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF61 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok61Block); - $hundredfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $hundredthLong, - $n - ); - $ov62 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredfirstVar->longArithOverflowFlag); - if (null === $ov62 || null === $hundredfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **102 expected smul overflow metadata (hundredfirst)'); - } - $hundredfirstLong = JITVariable::KIND_VARIABLE === $hundredfirstVar->kind - ? $context->builder->load($hundredfirstVar->value) - : $hundredfirstVar->value; - $ov62Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredfirst_ov'); - $ok62Block = BasicBlockHelper::append($context, 'pow_hundredsecond_hundredfirst_ok'); - $context->builder->branchIf($ov62, $ov62Block, $ok62Block); - - $context->builder->positionAtEnd($ov62Block); - $hundredfirstF62 = $context->builder->load($hundredfirstVar->longArithOverflowDoubleSlot); - $nF62 = $context->builder->siToFp($n, $f64); - $hundredsecondF62 = $context->builder->fmul($hundredfirstF62, $nF62); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredsecondF62 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok62Block); - JitLongArithOverflow::writeBoxedBinary( - $context, - OpCode::TYPE_MUL, - $hundredfirstLong, - $n, - $slotPtr - ); - $context->builder->branch($doneBlock); - - - $context->builder->positionAtEnd($doneBlock); - - return true; - } - - - if ('hundredthird' === $expFold) { - // n^101 = hundredth*n; overflow arms +1 ×nF vs **100. - // tenth=fifth*fifth, twentieth=tenth*tenth, - // fortieth=twentieth*twentieth, fortysecond=fortieth*sq, fortyfourth=fortysecond*sq, - // fortysixth=fortyfourth*sq, then fortysixth*sq*sq*n… (sixtyseventh×n). - // Overflow arms finish in float with one extra ×nF vs **103. - $baseL = JitLongArg::lower($context, $base, 'pow() base'); - $i64 = $context->getTypeFromString('int64'); - $f64 = $context->getTypeFromString('double'); - $n = $context->builder->intCast($baseL, $i64); - $sqVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $n, - $n - ); - $ov1 = JitLongArithOverflow::loadOverflowFlagI1($context, $sqVar->longArithOverflowFlag); - if (null === $ov1 || null === $sqVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sq)'); - } - $sqLong = JITVariable::KIND_VARIABLE === $sqVar->kind - ? $context->builder->load($sqVar->value) - : $sqVar->value; - $ov1Block = BasicBlockHelper::append($context, 'pow_hundredthird_sq_ov'); - $ok1Block = BasicBlockHelper::append($context, 'pow_hundredthird_sq_ok'); - $doneBlock = BasicBlockHelper::append($context, 'pow_hundredthird_done'); - $context->builder->branchIf($ov1, $ov1Block, $ok1Block); - - $context->builder->positionAtEnd($ov1Block); - $sqF = $context->builder->load($sqVar->longArithOverflowDoubleSlot); - $sq2F = $context->builder->fmul($sqF, $sqF); - $sq4F = $context->builder->fmul($sq2F, $sq2F); - $sq8F = $context->builder->fmul($sq4F, $sq4F); - $twentiethF = $context->builder->fmul($sq8F, $sq2F); - $fortiethF = $context->builder->fmul($twentiethF, $twentiethF); - $fortysecondF = $context->builder->fmul($fortiethF, $sqF); - $fortyfourthF = $context->builder->fmul($fortysecondF, $sqF); - $hundredthirdFSq = $context->builder->fmul($fortyfourthF, $sqF); - $hundredthirdFEighth = $context->builder->fmul($hundredthirdFSq, $sqF); - $hundredthirdF = $context->builder->fmul($hundredthirdFEighth, $sqF); - $nF = $context->builder->siToFp($n, $f64); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $hundredthirdF = $context->builder->fmul($hundredthirdF, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok1Block); - $cuVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sqLong, - $n - ); - $ov2 = JitLongArithOverflow::loadOverflowFlagI1($context, $cuVar->longArithOverflowFlag); - if (null === $ov2 || null === $cuVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (cu)'); - } - $cuLong = JITVariable::KIND_VARIABLE === $cuVar->kind - ? $context->builder->load($cuVar->value) - : $cuVar->value; - $ov2Block = BasicBlockHelper::append($context, 'pow_hundredthird_cu_ov'); - $ok2Block = BasicBlockHelper::append($context, 'pow_hundredthird_cu_ok'); - $context->builder->branchIf($ov2, $ov2Block, $ok2Block); - - $context->builder->positionAtEnd($ov2Block); - $cuF = $context->builder->load($cuVar->longArithOverflowDoubleSlot); - $sqF2 = $context->builder->siToFp($sqLong, $f64); - $fifthF = $context->builder->fmul($cuF, $sqF2); - $tenthF2 = $context->builder->fmul($fifthF, $fifthF); - $twentiethF2 = $context->builder->fmul($tenthF2, $tenthF2); - $fortiethF2 = $context->builder->fmul($twentiethF2, $twentiethF2); - $fortysecondF2 = $context->builder->fmul($fortiethF2, $sqF2); - $fortyfourthF2 = $context->builder->fmul($fortysecondF2, $sqF2); - $hundredthirdF2Sq = $context->builder->fmul($fortyfourthF2, $sqF2); - $hundredthirdF2Eighth = $context->builder->fmul($hundredthirdF2Sq, $sqF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2Eighth, $sqF2); - $nF2 = $context->builder->siToFp($n, $f64); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF2); - $hundredthirdF2 = $context->builder->fmul($hundredthirdF2, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF2 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok2Block); - $fifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $cuLong, - $sqLong - ); - $ov3 = JitLongArithOverflow::loadOverflowFlagI1($context, $fifthVar->longArithOverflowFlag); - if (null === $ov3 || null === $fifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fifth)'); - } - $fifthLong = JITVariable::KIND_VARIABLE === $fifthVar->kind - ? $context->builder->load($fifthVar->value) - : $fifthVar->value; - $ov3Block = BasicBlockHelper::append($context, 'pow_hundredthird_fifth_ov'); - $ok3Block = BasicBlockHelper::append($context, 'pow_hundredthird_fifth_ok'); - $context->builder->branchIf($ov3, $ov3Block, $ok3Block); - - $context->builder->positionAtEnd($ov3Block); - $fifthF2 = $context->builder->load($fifthVar->longArithOverflowDoubleSlot); - $tenthF3 = $context->builder->fmul($fifthF2, $fifthF2); - $twentiethF3 = $context->builder->fmul($tenthF3, $tenthF3); - $fortiethF3 = $context->builder->fmul($twentiethF3, $twentiethF3); - $sqF3 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF3 = $context->builder->fmul($fortiethF3, $sqF3); - $fortyfourthF3 = $context->builder->fmul($fortysecondF3, $sqF3); - $hundredthirdF3Sq = $context->builder->fmul($fortyfourthF3, $sqF3); - $hundredthirdF3Eighth = $context->builder->fmul($hundredthirdF3Sq, $sqF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3Eighth, $sqF3); - $nF3 = $context->builder->siToFp($n, $f64); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF3); - $hundredthirdF3 = $context->builder->fmul($hundredthirdF3, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF3 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok3Block); - $tenthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fifthLong, - $fifthLong - ); - $ov4 = JitLongArithOverflow::loadOverflowFlagI1($context, $tenthVar->longArithOverflowFlag); - if (null === $ov4 || null === $tenthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (tenth)'); - } - $tenthLong = JITVariable::KIND_VARIABLE === $tenthVar->kind - ? $context->builder->load($tenthVar->value) - : $tenthVar->value; - $ov4Block = BasicBlockHelper::append($context, 'pow_hundredthird_tenth_ov'); - $ok4Block = BasicBlockHelper::append($context, 'pow_hundredthird_tenth_ok'); - $context->builder->branchIf($ov4, $ov4Block, $ok4Block); - - $context->builder->positionAtEnd($ov4Block); - $tenthF4 = $context->builder->load($tenthVar->longArithOverflowDoubleSlot); - $twentiethF4 = $context->builder->fmul($tenthF4, $tenthF4); - $fortiethF4 = $context->builder->fmul($twentiethF4, $twentiethF4); - $sqF4 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF4 = $context->builder->fmul($fortiethF4, $sqF4); - $fortyfourthF4 = $context->builder->fmul($fortysecondF4, $sqF4); - $hundredthirdF4Sq = $context->builder->fmul($fortyfourthF4, $sqF4); - $hundredthirdF4Eighth = $context->builder->fmul($hundredthirdF4Sq, $sqF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4Eighth, $sqF4); - $nF4 = $context->builder->siToFp($n, $f64); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF4); - $hundredthirdF4 = $context->builder->fmul($hundredthirdF4, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF4 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok4Block); - $twentiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $tenthLong, - $tenthLong - ); - $ov5 = JitLongArithOverflow::loadOverflowFlagI1($context, $twentiethVar->longArithOverflowFlag); - if (null === $ov5 || null === $twentiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (twentieth)'); - } - $twentiethLong = JITVariable::KIND_VARIABLE === $twentiethVar->kind - ? $context->builder->load($twentiethVar->value) - : $twentiethVar->value; - $ov5Block = BasicBlockHelper::append($context, 'pow_hundredthird_twentieth_ov'); - $ok5Block = BasicBlockHelper::append($context, 'pow_hundredthird_twentieth_ok'); - $context->builder->branchIf($ov5, $ov5Block, $ok5Block); - - $context->builder->positionAtEnd($ov5Block); - $twentiethF5 = $context->builder->load($twentiethVar->longArithOverflowDoubleSlot); - $fortiethF5 = $context->builder->fmul($twentiethF5, $twentiethF5); - $sqF5 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF5 = $context->builder->fmul($fortiethF5, $sqF5); - $fortyfourthF5 = $context->builder->fmul($fortysecondF5, $sqF5); - $hundredthirdF5Sq = $context->builder->fmul($fortyfourthF5, $sqF5); - $hundredthirdF5Eighth = $context->builder->fmul($hundredthirdF5Sq, $sqF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5Eighth, $sqF5); - $nF5 = $context->builder->siToFp($n, $f64); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF5); - $hundredthirdF5 = $context->builder->fmul($hundredthirdF5, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF5 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok5Block); - $fortiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $twentiethLong, - $twentiethLong - ); - $ov6 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortiethVar->longArithOverflowFlag); - if (null === $ov6 || null === $fortiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fortieth)'); - } - $fortiethLong = JITVariable::KIND_VARIABLE === $fortiethVar->kind - ? $context->builder->load($fortiethVar->value) - : $fortiethVar->value; - $ov6Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortieth_ov'); - $ok6Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortieth_ok'); - $context->builder->branchIf($ov6, $ov6Block, $ok6Block); - - $context->builder->positionAtEnd($ov6Block); - $fortiethF6 = $context->builder->load($fortiethVar->longArithOverflowDoubleSlot); - $sqF6 = $context->builder->siToFp($sqLong, $f64); - $fortysecondF6 = $context->builder->fmul($fortiethF6, $sqF6); - $fortyfourthF6 = $context->builder->fmul($fortysecondF6, $sqF6); - $hundredthirdF6Sq = $context->builder->fmul($fortyfourthF6, $sqF6); - $hundredthirdF6Eighth = $context->builder->fmul($hundredthirdF6Sq, $sqF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6Eighth, $sqF6); - $nF6 = $context->builder->siToFp($n, $f64); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF6); - $hundredthirdF6 = $context->builder->fmul($hundredthirdF6, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF6 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok6Block); - $fortysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortiethLong, - $sqLong - ); - $ov7 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysecondVar->longArithOverflowFlag); - if (null === $ov7 || null === $fortysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fortysecond)'); - } - $fortysecondLong = JITVariable::KIND_VARIABLE === $fortysecondVar->kind - ? $context->builder->load($fortysecondVar->value) - : $fortysecondVar->value; - $ov7Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysecond_ov'); - $ok7Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysecond_ok'); - $context->builder->branchIf($ov7, $ov7Block, $ok7Block); - - $context->builder->positionAtEnd($ov7Block); - $fortysecondF7 = $context->builder->load($fortysecondVar->longArithOverflowDoubleSlot); - $sqF7 = $context->builder->siToFp($sqLong, $f64); - $fortyfourthF7 = $context->builder->fmul($fortysecondF7, $sqF7); - $hundredthirdF7Sq = $context->builder->fmul($fortyfourthF7, $sqF7); - $hundredthirdF7Eighth = $context->builder->fmul($hundredthirdF7Sq, $sqF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7Eighth, $sqF7); - $nF7 = $context->builder->siToFp($n, $f64); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF7); - $hundredthirdF7 = $context->builder->fmul($hundredthirdF7, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF7 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok7Block); - $fortyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysecondLong, - $sqLong - ); - $ov8 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyfourthVar->longArithOverflowFlag); - if (null === $ov8 || null === $fortyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fortyfourth)'); - } - $fortyfourthLong = JITVariable::KIND_VARIABLE === $fortyfourthVar->kind - ? $context->builder->load($fortyfourthVar->value) - : $fortyfourthVar->value; - $ov8Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyfourth_ov'); - $ok8Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyfourth_ok'); - $context->builder->branchIf($ov8, $ov8Block, $ok8Block); - - $context->builder->positionAtEnd($ov8Block); - $fortyfourthF8 = $context->builder->load($fortyfourthVar->longArithOverflowDoubleSlot); - $sqF8 = $context->builder->siToFp($sqLong, $f64); - $hundredthirdF8Sq = $context->builder->fmul($fortyfourthF8, $sqF8); - $hundredthirdF8Eighth = $context->builder->fmul($hundredthirdF8Sq, $sqF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8Eighth, $sqF8); - $nF8 = $context->builder->siToFp($n, $f64); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF8); - $hundredthirdF8 = $context->builder->fmul($hundredthirdF8, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF8 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok8Block); - $fortysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyfourthLong, - $sqLong - ); - $ov9 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortysixthVar->longArithOverflowFlag); - if (null === $ov9 || null === $fortysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fortysixth)'); - } - $fortysixthLong = JITVariable::KIND_VARIABLE === $fortysixthVar->kind - ? $context->builder->load($fortysixthVar->value) - : $fortysixthVar->value; - $ov9Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysixth_ov'); - $ok9Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortysixth_ok'); - $context->builder->branchIf($ov9, $ov9Block, $ok9Block); - - $context->builder->positionAtEnd($ov9Block); - $fortysixthF9 = $context->builder->load($fortysixthVar->longArithOverflowDoubleSlot); - $sqF9 = $context->builder->siToFp($sqLong, $f64); - $fortyeighthF9 = $context->builder->fmul($fortysixthF9, $sqF9); - $hundredthirdF9 = $context->builder->fmul($fortyeighthF9, $sqF9); - $nF9 = $context->builder->siToFp($n, $f64); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF9); - $hundredthirdF9 = $context->builder->fmul($hundredthirdF9, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF9 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok9Block); - $fortyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortysixthLong, - $sqLong - ); - $ov10 = JitLongArithOverflow::loadOverflowFlagI1($context, $fortyeighthVar->longArithOverflowFlag); - if (null === $ov10 || null === $fortyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fortyeighth)'); - } - $fortyeighthLong = JITVariable::KIND_VARIABLE === $fortyeighthVar->kind - ? $context->builder->load($fortyeighthVar->value) - : $fortyeighthVar->value; - $ov10Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyeighth_ov'); - $ok10Block = BasicBlockHelper::append($context, 'pow_hundredthird_fortyeighth_ok'); - $context->builder->branchIf($ov10, $ov10Block, $ok10Block); - - $context->builder->positionAtEnd($ov10Block); - $fortyeighthF10 = $context->builder->load($fortyeighthVar->longArithOverflowDoubleSlot); - $sqF10 = $context->builder->siToFp($sqLong, $f64); - $hundredthirdF10 = $context->builder->fmul($fortyeighthF10, $sqF10); - $nF10 = $context->builder->siToFp($n, $f64); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF10); - $hundredthirdF10 = $context->builder->fmul($hundredthirdF10, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF10 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok10Block); - $fiftiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fortyeighthLong, - $sqLong - ); - $ov11 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftiethVar->longArithOverflowFlag); - if (null === $ov11 || null === $fiftiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftieth)'); - } - $fiftiethLong = JITVariable::KIND_VARIABLE === $fiftiethVar->kind - ? $context->builder->load($fiftiethVar->value) - : $fiftiethVar->value; - $ov11Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftieth_ov'); - $ok11Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftieth_ok'); - $context->builder->branchIf($ov11, $ov11Block, $ok11Block); - - $context->builder->positionAtEnd($ov11Block); - $fiftiethF11 = $context->builder->load($fiftiethVar->longArithOverflowDoubleSlot); - $nF11 = $context->builder->siToFp($n, $f64); - $hundredthirdF11 = $context->builder->fmul($fiftiethF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF11); - $hundredthirdF11 = $context->builder->fmul($hundredthirdF11, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF11 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok11Block); - $fiftyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftiethLong, - $n - ); - $ov12 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfirstVar->longArithOverflowFlag); - if (null === $ov12 || null === $fiftyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyfirst)'); - } - $fiftyfirstLong = JITVariable::KIND_VARIABLE === $fiftyfirstVar->kind - ? $context->builder->load($fiftyfirstVar->value) - : $fiftyfirstVar->value; - $ov12Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfirst_ov'); - $ok12Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfirst_ok'); - $context->builder->branchIf($ov12, $ov12Block, $ok12Block); - - $context->builder->positionAtEnd($ov12Block); - $fiftyfirstF12 = $context->builder->load($fiftyfirstVar->longArithOverflowDoubleSlot); - $nF12 = $context->builder->siToFp($n, $f64); - $hundredthirdF12 = $context->builder->fmul($fiftyfirstF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF12); - $hundredthirdF12 = $context->builder->fmul($hundredthirdF12, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF12 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok12Block); - $fiftysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfirstLong, - $n - ); - $ov13 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysecondVar->longArithOverflowFlag); - if (null === $ov13 || null === $fiftysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftysecond)'); - } - $fiftysecondLong = JITVariable::KIND_VARIABLE === $fiftysecondVar->kind - ? $context->builder->load($fiftysecondVar->value) - : $fiftysecondVar->value; - $ov13Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysecond_ov'); - $ok13Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysecond_ok'); - $context->builder->branchIf($ov13, $ov13Block, $ok13Block); - - $context->builder->positionAtEnd($ov13Block); - $fiftysecondF13 = $context->builder->load($fiftysecondVar->longArithOverflowDoubleSlot); - $nF13 = $context->builder->siToFp($n, $f64); - $hundredthirdF13 = $context->builder->fmul($fiftysecondF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF13); - $hundredthirdF13 = $context->builder->fmul($hundredthirdF13, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF13 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok13Block); - $fiftythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysecondLong, - $n - ); - $ov14 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftythirdVar->longArithOverflowFlag); - if (null === $ov14 || null === $fiftythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftythird)'); - } - $fiftythirdLong = JITVariable::KIND_VARIABLE === $fiftythirdVar->kind - ? $context->builder->load($fiftythirdVar->value) - : $fiftythirdVar->value; - $ov14Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftythird_ov'); - $ok14Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftythird_ok'); - $context->builder->branchIf($ov14, $ov14Block, $ok14Block); - - $context->builder->positionAtEnd($ov14Block); - $fiftythirdF14 = $context->builder->load($fiftythirdVar->longArithOverflowDoubleSlot); - $nF14 = $context->builder->siToFp($n, $f64); - $hundredthirdF14 = $context->builder->fmul($fiftythirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF14); - $hundredthirdF14 = $context->builder->fmul($hundredthirdF14, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF14 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok14Block); - $fiftyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftythirdLong, - $n - ); - $ov15 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfourthVar->longArithOverflowFlag); - if (null === $ov15 || null === $fiftyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyfourth)'); - } - $fiftyfourthLong = JITVariable::KIND_VARIABLE === $fiftyfourthVar->kind - ? $context->builder->load($fiftyfourthVar->value) - : $fiftyfourthVar->value; - $ov15Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfourth_ov'); - $ok15Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfourth_ok'); - $context->builder->branchIf($ov15, $ov15Block, $ok15Block); - - $context->builder->positionAtEnd($ov15Block); - $fiftyfourthF15 = $context->builder->load($fiftyfourthVar->longArithOverflowDoubleSlot); - $nF15 = $context->builder->siToFp($n, $f64); - $hundredthirdF15 = $context->builder->fmul($fiftyfourthF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF15); - $hundredthirdF15 = $context->builder->fmul($hundredthirdF15, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF15 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok15Block); - $fiftyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfourthLong, - $n - ); - $ov16 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyfifthVar->longArithOverflowFlag); - if (null === $ov16 || null === $fiftyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyfifth)'); - } - $fiftyfifthLong = JITVariable::KIND_VARIABLE === $fiftyfifthVar->kind - ? $context->builder->load($fiftyfifthVar->value) - : $fiftyfifthVar->value; - $ov16Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfifth_ov'); - $ok16Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyfifth_ok'); - $context->builder->branchIf($ov16, $ov16Block, $ok16Block); - - $context->builder->positionAtEnd($ov16Block); - $fiftyfifthF16 = $context->builder->load($fiftyfifthVar->longArithOverflowDoubleSlot); - $nF16 = $context->builder->siToFp($n, $f64); - $hundredthirdF16 = $context->builder->fmul($fiftyfifthF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF16); - $hundredthirdF16 = $context->builder->fmul($hundredthirdF16, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF16 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok16Block); - $fiftysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyfifthLong, - $n - ); - $ov17 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftysixthVar->longArithOverflowFlag); - if (null === $ov17 || null === $fiftysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftysixth)'); - } - $fiftysixthLong = JITVariable::KIND_VARIABLE === $fiftysixthVar->kind - ? $context->builder->load($fiftysixthVar->value) - : $fiftysixthVar->value; - $ov17Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysixth_ov'); - $ok17Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftysixth_ok'); - $context->builder->branchIf($ov17, $ov17Block, $ok17Block); - - $context->builder->positionAtEnd($ov17Block); - $fiftysixthF17 = $context->builder->load($fiftysixthVar->longArithOverflowDoubleSlot); - $nF17 = $context->builder->siToFp($n, $f64); - $hundredthirdF17 = $context->builder->fmul($fiftysixthF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF17); - $hundredthirdF17 = $context->builder->fmul($hundredthirdF17, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF17 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok17Block); - $fiftyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftysixthLong, - $n - ); - $ov18 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyseventhVar->longArithOverflowFlag); - if (null === $ov18 || null === $fiftyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyseventh)'); - } - $fiftyseventhLong = JITVariable::KIND_VARIABLE === $fiftyseventhVar->kind - ? $context->builder->load($fiftyseventhVar->value) - : $fiftyseventhVar->value; - $ov18Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyseventh_ov'); - $ok18Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyseventh_ok'); - $context->builder->branchIf($ov18, $ov18Block, $ok18Block); - - $context->builder->positionAtEnd($ov18Block); - $fiftyseventhF18 = $context->builder->load($fiftyseventhVar->longArithOverflowDoubleSlot); - $nF18 = $context->builder->siToFp($n, $f64); - $hundredthirdF18 = $context->builder->fmul($fiftyseventhF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF18); - $hundredthirdF18 = $context->builder->fmul($hundredthirdF18, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF18 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok18Block); - $fiftyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyseventhLong, - $n - ); - $ov19 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyeighthVar->longArithOverflowFlag); - if (null === $ov19 || null === $fiftyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyeighth)'); - } - $fiftyeighthLong = JITVariable::KIND_VARIABLE === $fiftyeighthVar->kind - ? $context->builder->load($fiftyeighthVar->value) - : $fiftyeighthVar->value; - $ov19Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyeighth_ov'); - $ok19Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyeighth_ok'); - $context->builder->branchIf($ov19, $ov19Block, $ok19Block); - - $context->builder->positionAtEnd($ov19Block); - $fiftyeighthF19 = $context->builder->load($fiftyeighthVar->longArithOverflowDoubleSlot); - $nF19 = $context->builder->siToFp($n, $f64); - $hundredthirdF19 = $context->builder->fmul($fiftyeighthF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF19); - $hundredthirdF19 = $context->builder->fmul($hundredthirdF19, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF19 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok19Block); - $fiftyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyeighthLong, - $n - ); - $ov20 = JitLongArithOverflow::loadOverflowFlagI1($context, $fiftyninthVar->longArithOverflowFlag); - if (null === $ov20 || null === $fiftyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (fiftyninth)'); - } - $fiftyninthLong = JITVariable::KIND_VARIABLE === $fiftyninthVar->kind - ? $context->builder->load($fiftyninthVar->value) - : $fiftyninthVar->value; - $ov20Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyninth_ov'); - $ok20Block = BasicBlockHelper::append($context, 'pow_hundredthird_fiftyninth_ok'); - $context->builder->branchIf($ov20, $ov20Block, $ok20Block); - - $context->builder->positionAtEnd($ov20Block); - $fiftyninthF20 = $context->builder->load($fiftyninthVar->longArithOverflowDoubleSlot); - $nF20 = $context->builder->siToFp($n, $f64); - $hundredthirdF20 = $context->builder->fmul($fiftyninthF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF20); - $hundredthirdF20 = $context->builder->fmul($hundredthirdF20, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF20 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok20Block); - $sixtiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $fiftyninthLong, - $n - ); - $ov21 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtiethVar->longArithOverflowFlag); - if (null === $ov21 || null === $sixtiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtieth)'); - } - $sixtiethLong = JITVariable::KIND_VARIABLE === $sixtiethVar->kind - ? $context->builder->load($sixtiethVar->value) - : $sixtiethVar->value; - $ov21Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtieth_ov'); - $ok21Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtieth_ok'); - $context->builder->branchIf($ov21, $ov21Block, $ok21Block); - - $context->builder->positionAtEnd($ov21Block); - $sixtiethF21 = $context->builder->load($sixtiethVar->longArithOverflowDoubleSlot); - $nF21 = $context->builder->siToFp($n, $f64); - $hundredthirdF21 = $context->builder->fmul($sixtiethF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF21); - $hundredthirdF21 = $context->builder->fmul($hundredthirdF21, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF21 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok21Block); - $sixtyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtiethLong, - $n - ); - $ov22 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfirstVar->longArithOverflowFlag); - if (null === $ov22 || null === $sixtyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyfirst)'); - } - $sixtyfirstLong = JITVariable::KIND_VARIABLE === $sixtyfirstVar->kind - ? $context->builder->load($sixtyfirstVar->value) - : $sixtyfirstVar->value; - $ov22Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfirst_ov'); - $ok22Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfirst_ok'); - $context->builder->branchIf($ov22, $ov22Block, $ok22Block); - - $context->builder->positionAtEnd($ov22Block); - $sixtyfirstF22 = $context->builder->load($sixtyfirstVar->longArithOverflowDoubleSlot); - $nF22 = $context->builder->siToFp($n, $f64); - $hundredthirdF22 = $context->builder->fmul($sixtyfirstF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF22); - $hundredthirdF22 = $context->builder->fmul($hundredthirdF22, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF22 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok22Block); - $sixtysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfirstLong, - $n - ); - $ov23 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysecondVar->longArithOverflowFlag); - if (null === $ov23 || null === $sixtysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtysecond)'); - } - $sixtysecondLong = JITVariable::KIND_VARIABLE === $sixtysecondVar->kind - ? $context->builder->load($sixtysecondVar->value) - : $sixtysecondVar->value; - $ov23Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysecond_ov'); - $ok23Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysecond_ok'); - $context->builder->branchIf($ov23, $ov23Block, $ok23Block); - - $context->builder->positionAtEnd($ov23Block); - $sixtysecondF23 = $context->builder->load($sixtysecondVar->longArithOverflowDoubleSlot); - $nF23 = $context->builder->siToFp($n, $f64); - $hundredthirdF23 = $context->builder->fmul($sixtysecondF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF23); - $hundredthirdF23 = $context->builder->fmul($hundredthirdF23, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF23 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok23Block); - $sixtythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysecondLong, - $n - ); - $ov24 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtythirdVar->longArithOverflowFlag); - if (null === $ov24 || null === $sixtythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtythird)'); - } - $sixtythirdLong = JITVariable::KIND_VARIABLE === $sixtythirdVar->kind - ? $context->builder->load($sixtythirdVar->value) - : $sixtythirdVar->value; - $ov24Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtythird_ov'); - $ok24Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtythird_ok'); - $context->builder->branchIf($ov24, $ov24Block, $ok24Block); - - $context->builder->positionAtEnd($ov24Block); - $sixtythirdF24 = $context->builder->load($sixtythirdVar->longArithOverflowDoubleSlot); - $nF24 = $context->builder->siToFp($n, $f64); - $hundredthirdF24 = $context->builder->fmul($sixtythirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF24); - $hundredthirdF24 = $context->builder->fmul($hundredthirdF24, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF24 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok24Block); - $sixtyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtythirdLong, - $n - ); - $ov25 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfourthVar->longArithOverflowFlag); - if (null === $ov25 || null === $sixtyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyfourth)'); - } - $sixtyfourthLong = JITVariable::KIND_VARIABLE === $sixtyfourthVar->kind - ? $context->builder->load($sixtyfourthVar->value) - : $sixtyfourthVar->value; - $ov25Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfourth_ov'); - $ok25Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfourth_ok'); - $context->builder->branchIf($ov25, $ov25Block, $ok25Block); - - $context->builder->positionAtEnd($ov25Block); - $sixtyfourthF25 = $context->builder->load($sixtyfourthVar->longArithOverflowDoubleSlot); - $nF25 = $context->builder->siToFp($n, $f64); - $hundredthirdF25 = $context->builder->fmul($sixtyfourthF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF25); - $hundredthirdF25 = $context->builder->fmul($hundredthirdF25, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF25 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok25Block); - $sixtyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfourthLong, - $n - ); - $ov26 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyfifthVar->longArithOverflowFlag); - if (null === $ov26 || null === $sixtyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyfifth)'); - } - $sixtyfifthLong = JITVariable::KIND_VARIABLE === $sixtyfifthVar->kind - ? $context->builder->load($sixtyfifthVar->value) - : $sixtyfifthVar->value; - $ov26Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfifth_ov'); - $ok26Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyfifth_ok'); - $context->builder->branchIf($ov26, $ov26Block, $ok26Block); - - $context->builder->positionAtEnd($ov26Block); - $sixtyfifthF26 = $context->builder->load($sixtyfifthVar->longArithOverflowDoubleSlot); - $nF26 = $context->builder->siToFp($n, $f64); - $hundredthirdF26 = $context->builder->fmul($sixtyfifthF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF26); - $hundredthirdF26 = $context->builder->fmul($hundredthirdF26, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF26 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok26Block); - $sixtysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyfifthLong, - $n - ); - $ov27 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtysixthVar->longArithOverflowFlag); - if (null === $ov27 || null === $sixtysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtysixth)'); - } - $sixtysixthLong = JITVariable::KIND_VARIABLE === $sixtysixthVar->kind - ? $context->builder->load($sixtysixthVar->value) - : $sixtysixthVar->value; - $ov27Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysixth_ov'); - $ok27Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtysixth_ok'); - $context->builder->branchIf($ov27, $ov27Block, $ok27Block); - - $context->builder->positionAtEnd($ov27Block); - $sixtysixthF27 = $context->builder->load($sixtysixthVar->longArithOverflowDoubleSlot); - $nF27 = $context->builder->siToFp($n, $f64); - $hundredthirdF27 = $context->builder->fmul($sixtysixthF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF27); - $hundredthirdF27 = $context->builder->fmul($hundredthirdF27, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF27 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok27Block); - $sixtyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtysixthLong, - $n - ); - $ov28 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyseventhVar->longArithOverflowFlag); - if (null === $ov28 || null === $sixtyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyseventh)'); - } - $sixtyseventhLong = JITVariable::KIND_VARIABLE === $sixtyseventhVar->kind - ? $context->builder->load($sixtyseventhVar->value) - : $sixtyseventhVar->value; - $ov28Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyseventh_ov'); - $ok28Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyseventh_ok'); - $context->builder->branchIf($ov28, $ov28Block, $ok28Block); - - $context->builder->positionAtEnd($ov28Block); - $sixtyseventhF28 = $context->builder->load($sixtyseventhVar->longArithOverflowDoubleSlot); - $nF28 = $context->builder->siToFp($n, $f64); - $hundredthirdF28 = $context->builder->fmul($sixtyseventhF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF28); - $hundredthirdF28 = $context->builder->fmul($hundredthirdF28, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF28 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok28Block); - $sixtyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyseventhLong, - $n - ); - $ov29 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyeighthVar->longArithOverflowFlag); - if (null === $ov29 || null === $sixtyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyeighth)'); - } - $sixtyeighthLong = JITVariable::KIND_VARIABLE === $sixtyeighthVar->kind - ? $context->builder->load($sixtyeighthVar->value) - : $sixtyeighthVar->value; - $ov29Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyeighth_ov'); - $ok29Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyeighth_ok'); - $context->builder->branchIf($ov29, $ov29Block, $ok29Block); - - $context->builder->positionAtEnd($ov29Block); - $sixtyeighthF29 = $context->builder->load($sixtyeighthVar->longArithOverflowDoubleSlot); - $nF29 = $context->builder->siToFp($n, $f64); - $hundredthirdF29 = $context->builder->fmul($sixtyeighthF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF29); - $hundredthirdF29 = $context->builder->fmul($hundredthirdF29, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF29 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok29Block); - $sixtyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyeighthLong, - $n - ); - $ov30 = JitLongArithOverflow::loadOverflowFlagI1($context, $sixtyninthVar->longArithOverflowFlag); - if (null === $ov30 || null === $sixtyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (sixtyninth)'); - } - $sixtyninthLong = JITVariable::KIND_VARIABLE === $sixtyninthVar->kind - ? $context->builder->load($sixtyninthVar->value) - : $sixtyninthVar->value; - $ov30Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyninth_ov'); - $ok30Block = BasicBlockHelper::append($context, 'pow_hundredthird_sixtyninth_ok'); - $context->builder->branchIf($ov30, $ov30Block, $ok30Block); - - $context->builder->positionAtEnd($ov30Block); - $sixtyninthF30 = $context->builder->load($sixtyninthVar->longArithOverflowDoubleSlot); - $nF30 = $context->builder->siToFp($n, $f64); - $hundredthirdF30 = $context->builder->fmul($sixtyninthF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF30); - $hundredthirdF30 = $context->builder->fmul($hundredthirdF30, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF30 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok30Block); - $seventiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $sixtyninthLong, - $n - ); - $ov31 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventiethVar->longArithOverflowFlag); - if (null === $ov31 || null === $seventiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventieth)'); - } - $seventiethLong = JITVariable::KIND_VARIABLE === $seventiethVar->kind - ? $context->builder->load($seventiethVar->value) - : $seventiethVar->value; - $ov31Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventieth_ov'); - $ok31Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventieth_ok'); - $context->builder->branchIf($ov31, $ov31Block, $ok31Block); - - $context->builder->positionAtEnd($ov31Block); - $seventiethF31 = $context->builder->load($seventiethVar->longArithOverflowDoubleSlot); - $nF31 = $context->builder->siToFp($n, $f64); - $hundredthirdF31 = $context->builder->fmul($seventiethF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF31); - $hundredthirdF31 = $context->builder->fmul($hundredthirdF31, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF31 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok31Block); - $seventyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventiethLong, - $n - ); - $ov32 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfirstVar->longArithOverflowFlag); - if (null === $ov32 || null === $seventyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventyfirst)'); - } - $seventyfirstLong = JITVariable::KIND_VARIABLE === $seventyfirstVar->kind - ? $context->builder->load($seventyfirstVar->value) - : $seventyfirstVar->value; - $ov32Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfirst_ov'); - $ok32Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfirst_ok'); - $context->builder->branchIf($ov32, $ov32Block, $ok32Block); - - $context->builder->positionAtEnd($ov32Block); - $seventyfirstF32 = $context->builder->load($seventyfirstVar->longArithOverflowDoubleSlot); - $nF32 = $context->builder->siToFp($n, $f64); - $hundredthirdF32 = $context->builder->fmul($seventyfirstF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF32); - $hundredthirdF32 = $context->builder->fmul($hundredthirdF32, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF32 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok32Block); - $seventysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfirstLong, - $n - ); - $ov33 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysecondVar->longArithOverflowFlag); - if (null === $ov33 || null === $seventysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventysecond)'); - } - $seventysecondLong = JITVariable::KIND_VARIABLE === $seventysecondVar->kind - ? $context->builder->load($seventysecondVar->value) - : $seventysecondVar->value; - $ov33Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysecond_ov'); - $ok33Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysecond_ok'); - $context->builder->branchIf($ov33, $ov33Block, $ok33Block); - - $context->builder->positionAtEnd($ov33Block); - $seventysecondF33 = $context->builder->load($seventysecondVar->longArithOverflowDoubleSlot); - $nF33 = $context->builder->siToFp($n, $f64); - $hundredthirdF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($seventysecondF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF33); - $hundredthirdF33 = $context->builder->fmul($hundredthirdF33, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF33 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok33Block); - $seventythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysecondLong, - $n - ); - $ov34 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventythirdVar->longArithOverflowFlag); - if (null === $ov34 || null === $seventythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventythird)'); - } - $seventythirdLong = JITVariable::KIND_VARIABLE === $seventythirdVar->kind - ? $context->builder->load($seventythirdVar->value) - : $seventythirdVar->value; - $ov34Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventythird_ov'); - $ok34Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventythird_ok'); - $context->builder->branchIf($ov34, $ov34Block, $ok34Block); - - $context->builder->positionAtEnd($ov34Block); - $seventythirdF34 = $context->builder->load($seventythirdVar->longArithOverflowDoubleSlot); - $nF34 = $context->builder->siToFp($n, $f64); - $hundredthirdF34 = $context->builder->fmul($seventythirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF34); - $hundredthirdF34 = $context->builder->fmul($hundredthirdF34, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF34 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok34Block); - $seventyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventythirdLong, - $n - ); - $ov35 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfourthVar->longArithOverflowFlag); - if (null === $ov35 || null === $seventyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventyfourth)'); - } - $seventyfourthLong = JITVariable::KIND_VARIABLE === $seventyfourthVar->kind - ? $context->builder->load($seventyfourthVar->value) - : $seventyfourthVar->value; - $ov35Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfourth_ov'); - $ok35Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfourth_ok'); - $context->builder->branchIf($ov35, $ov35Block, $ok35Block); - - $context->builder->positionAtEnd($ov35Block); - $seventyfourthF35 = $context->builder->load($seventyfourthVar->longArithOverflowDoubleSlot); - $nF35 = $context->builder->siToFp($n, $f64); - $hundredthirdF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($seventyfourthF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF35); - $hundredthirdF35 = $context->builder->fmul($hundredthirdF35, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF35 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok35Block); - $seventyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfourthLong, - $n - ); - $ov36 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyfifthVar->longArithOverflowFlag); - if (null === $ov36 || null === $seventyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventyfifth)'); - } - $seventyfifthLong = JITVariable::KIND_VARIABLE === $seventyfifthVar->kind - ? $context->builder->load($seventyfifthVar->value) - : $seventyfifthVar->value; - $ov36Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfifth_ov'); - $ok36Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyfifth_ok'); - $context->builder->branchIf($ov36, $ov36Block, $ok36Block); - - $context->builder->positionAtEnd($ov36Block); - $seventyfifthF36 = $context->builder->load($seventyfifthVar->longArithOverflowDoubleSlot); - $nF36 = $context->builder->siToFp($n, $f64); - $hundredthirdF36 = $context->builder->fmul($seventyfifthF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF36); - $hundredthirdF36 = $context->builder->fmul($hundredthirdF36, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF36 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok36Block); - $seventysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyfifthLong, - $n - ); - $ov37 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventysixthVar->longArithOverflowFlag); - if (null === $ov37 || null === $seventysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventysixth)'); - } - $seventysixthLong = JITVariable::KIND_VARIABLE === $seventysixthVar->kind - ? $context->builder->load($seventysixthVar->value) - : $seventysixthVar->value; - $ov37Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysixth_ov'); - $ok37Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventysixth_ok'); - $context->builder->branchIf($ov37, $ov37Block, $ok37Block); - - $context->builder->positionAtEnd($ov37Block); - $seventysixthF37 = $context->builder->load($seventysixthVar->longArithOverflowDoubleSlot); - $nF37 = $context->builder->siToFp($n, $f64); - $hundredthirdF37 = $context->builder->fmul($seventysixthF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF37); - $hundredthirdF37 = $context->builder->fmul($hundredthirdF37, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF37 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok37Block); - $seventyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventysixthLong, - $n - ); - $ov38 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyseventhVar->longArithOverflowFlag); - if (null === $ov38 || null === $seventyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventyseventh)'); - } - $seventyseventhLong = JITVariable::KIND_VARIABLE === $seventyseventhVar->kind - ? $context->builder->load($seventyseventhVar->value) - : $seventyseventhVar->value; - $ov38Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyseventh_ov'); - $ok38Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyseventh_ok'); - $context->builder->branchIf($ov38, $ov38Block, $ok38Block); - - $context->builder->positionAtEnd($ov38Block); - $seventyseventhF38 = $context->builder->load($seventyseventhVar->longArithOverflowDoubleSlot); - $nF38 = $context->builder->siToFp($n, $f64); - $hundredthirdF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($seventyseventhF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF38); - $hundredthirdF38 = $context->builder->fmul($hundredthirdF38, $nF); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF38 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok38Block); - $seventyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyseventhLong, - $n - ); - $ov39 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyeighthVar->longArithOverflowFlag); - if (null === $ov39 || null === $seventyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventyeighth)'); - } - $seventyeighthLong = JITVariable::KIND_VARIABLE === $seventyeighthVar->kind - ? $context->builder->load($seventyeighthVar->value) - : $seventyeighthVar->value; - $ov39Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyeighth_ov'); - $ok39Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyeighth_ok'); - $context->builder->branchIf($ov39, $ov39Block, $ok39Block); - - $context->builder->positionAtEnd($ov39Block); - $seventyeighthF39 = $context->builder->load($seventyeighthVar->longArithOverflowDoubleSlot); - $nF39 = $context->builder->siToFp($n, $f64); - $hundredthirdF39 = $context->builder->fmul($seventyeighthF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $hundredthirdF39 = $context->builder->fmul($hundredthirdF39, $nF39); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF39 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok39Block); - $seventyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyeighthLong, - $n - ); - $ov40 = JitLongArithOverflow::loadOverflowFlagI1($context, $seventyninthVar->longArithOverflowFlag); - if (null === $ov40 || null === $seventyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (seventyninth)'); - } - $seventyninthLong = JITVariable::KIND_VARIABLE === $seventyninthVar->kind - ? $context->builder->load($seventyninthVar->value) - : $seventyninthVar->value; - $ov40Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyninth_ov'); - $ok40Block = BasicBlockHelper::append($context, 'pow_hundredthird_seventyninth_ok'); - $context->builder->branchIf($ov40, $ov40Block, $ok40Block); - - $context->builder->positionAtEnd($ov40Block); - $seventyninthF40 = $context->builder->load($seventyninthVar->longArithOverflowDoubleSlot); - $nF40 = $context->builder->siToFp($n, $f64); - $hundredthirdF40 = $context->builder->fmul($seventyninthF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $hundredthirdF40 = $context->builder->fmul($hundredthirdF40, $nF40); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF40 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok40Block); - $eightiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $seventyninthLong, - $n - ); - $ov41 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightiethVar->longArithOverflowFlag); - if (null === $ov41 || null === $eightiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightieth)'); - } - $eightiethLong = JITVariable::KIND_VARIABLE === $eightiethVar->kind - ? $context->builder->load($eightiethVar->value) - : $eightiethVar->value; - $ov41Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightieth_ov'); - $ok41Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightieth_ok'); - $context->builder->branchIf($ov41, $ov41Block, $ok41Block); - - $context->builder->positionAtEnd($ov41Block); - $eightiethF41 = $context->builder->load($eightiethVar->longArithOverflowDoubleSlot); - $nF41 = $context->builder->siToFp($n, $f64); - $hundredthirdF41 = $context->builder->fmul($eightiethF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $hundredthirdF41 = $context->builder->fmul($hundredthirdF41, $nF41); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF41 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok41Block); - $eightyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightiethLong, - $n - ); - $ov42 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfirstVar->longArithOverflowFlag); - if (null === $ov42 || null === $eightyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightyfirst)'); - } - $eightyfirstLong = JITVariable::KIND_VARIABLE === $eightyfirstVar->kind - ? $context->builder->load($eightyfirstVar->value) - : $eightyfirstVar->value; - $ov42Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfirst_ov'); - $ok42Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfirst_ok'); - $context->builder->branchIf($ov42, $ov42Block, $ok42Block); - - $context->builder->positionAtEnd($ov42Block); - $eightyfirstF42 = $context->builder->load($eightyfirstVar->longArithOverflowDoubleSlot); - $nF42 = $context->builder->siToFp($n, $f64); - $hundredthirdF42 = $context->builder->fmul($eightyfirstF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $hundredthirdF42 = $context->builder->fmul($hundredthirdF42, $nF42); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF42 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok42Block); - $eightysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfirstLong, - $n - ); - $ov43 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysecondVar->longArithOverflowFlag); - if (null === $ov43 || null === $eightysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightysecond)'); - } - $eightysecondLong = JITVariable::KIND_VARIABLE === $eightysecondVar->kind - ? $context->builder->load($eightysecondVar->value) - : $eightysecondVar->value; - $ov43Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysecond_ov'); - $ok43Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysecond_ok'); - $context->builder->branchIf($ov43, $ov43Block, $ok43Block); - - $context->builder->positionAtEnd($ov43Block); - $eightysecondF43 = $context->builder->load($eightysecondVar->longArithOverflowDoubleSlot); - $nF43 = $context->builder->siToFp($n, $f64); - $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($eightysecondF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $hundredthirdF43 = $context->builder->fmul($hundredthirdF43, $nF43); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF43 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok43Block); - $eightythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysecondLong, - $n - ); - $ov44 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightythirdVar->longArithOverflowFlag); - if (null === $ov44 || null === $eightythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightythird)'); - } - $eightythirdLong = JITVariable::KIND_VARIABLE === $eightythirdVar->kind - ? $context->builder->load($eightythirdVar->value) - : $eightythirdVar->value; - $ov44Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightythird_ov'); - $ok44Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightythird_ok'); - $context->builder->branchIf($ov44, $ov44Block, $ok44Block); - - $context->builder->positionAtEnd($ov44Block); - $eightythirdF44 = $context->builder->load($eightythirdVar->longArithOverflowDoubleSlot); - $nF44 = $context->builder->siToFp($n, $f64); - $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($eightythirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $hundredthirdF44 = $context->builder->fmul($hundredthirdF44, $nF44); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF44 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok44Block); - $eightyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightythirdLong, - $n - ); - $ov45 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfourthVar->longArithOverflowFlag); - if (null === $ov45 || null === $eightyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightyfourth)'); - } - $eightyfourthLong = JITVariable::KIND_VARIABLE === $eightyfourthVar->kind - ? $context->builder->load($eightyfourthVar->value) - : $eightyfourthVar->value; - $ov45Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfourth_ov'); - $ok45Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfourth_ok'); - $context->builder->branchIf($ov45, $ov45Block, $ok45Block); - - $context->builder->positionAtEnd($ov45Block); - $eightyfourthF45 = $context->builder->load($eightyfourthVar->longArithOverflowDoubleSlot); - $nF45 = $context->builder->siToFp($n, $f64); - $hundredthirdF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($eightyfourthF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $hundredthirdF45 = $context->builder->fmul($hundredthirdF45, $nF45); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF45 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok45Block); - $eightyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfourthLong, - $n - ); - $ov46 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyfifthVar->longArithOverflowFlag); - if (null === $ov46 || null === $eightyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightyfifth)'); - } - $eightyfifthLong = JITVariable::KIND_VARIABLE === $eightyfifthVar->kind - ? $context->builder->load($eightyfifthVar->value) - : $eightyfifthVar->value; - $ov46Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfifth_ov'); - $ok46Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyfifth_ok'); - $context->builder->branchIf($ov46, $ov46Block, $ok46Block); - - $context->builder->positionAtEnd($ov46Block); - $eightyfifthF46 = $context->builder->load($eightyfifthVar->longArithOverflowDoubleSlot); - $nF46 = $context->builder->siToFp($n, $f64); - $hundredthirdF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($eightyfifthF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $hundredthirdF46 = $context->builder->fmul($hundredthirdF46, $nF46); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF46 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok46Block); - $eightysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyfifthLong, - $n - ); - $ov47 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightysixthVar->longArithOverflowFlag); - if (null === $ov47 || null === $eightysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightysixth)'); - } - $eightysixthLong = JITVariable::KIND_VARIABLE === $eightysixthVar->kind - ? $context->builder->load($eightysixthVar->value) - : $eightysixthVar->value; - $ov47Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysixth_ov'); - $ok47Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightysixth_ok'); - $context->builder->branchIf($ov47, $ov47Block, $ok47Block); - - $context->builder->positionAtEnd($ov47Block); - $eightysixthF47 = $context->builder->load($eightysixthVar->longArithOverflowDoubleSlot); - $nF47 = $context->builder->siToFp($n, $f64); - $hundredthirdF47 = $context->builder->fmul($eightysixthF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $hundredthirdF47 = $context->builder->fmul($hundredthirdF47, $nF47); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF47 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok47Block); - - $eightyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightysixthLong, - $n - ); - $ov48 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyseventhVar->longArithOverflowFlag); - if (null === $ov48 || null === $eightyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightyseventh)'); - } - $eightyseventhLong = JITVariable::KIND_VARIABLE === $eightyseventhVar->kind - ? $context->builder->load($eightyseventhVar->value) - : $eightyseventhVar->value; - $ov48Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyseventh_ov'); - $ok48Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyseventh_ok'); - $context->builder->branchIf($ov48, $ov48Block, $ok48Block); - - $context->builder->positionAtEnd($ov48Block); - $eightyseventhF48 = $context->builder->load($eightyseventhVar->longArithOverflowDoubleSlot); - $nF48 = $context->builder->siToFp($n, $f64); - $hundredthirdF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($eightyseventhF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $hundredthirdF48 = $context->builder->fmul($hundredthirdF48, $nF48); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF48 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok48Block); - $eightyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyseventhLong, - $n - ); - $ov49 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyeighthVar->longArithOverflowFlag); - if (null === $ov49 || null === $eightyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightyeighth)'); - } - $eightyeighthLong = JITVariable::KIND_VARIABLE === $eightyeighthVar->kind - ? $context->builder->load($eightyeighthVar->value) - : $eightyeighthVar->value; - $ov49Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyeighth_ov'); - $ok49Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyeighth_ok'); - $context->builder->branchIf($ov49, $ov49Block, $ok49Block); - - $context->builder->positionAtEnd($ov49Block); - $eightyeighthF49 = $context->builder->load($eightyeighthVar->longArithOverflowDoubleSlot); - $nF49 = $context->builder->siToFp($n, $f64); - $hundredthirdF49 = $context->builder->fmul($eightyeighthF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $hundredthirdF49 = $context->builder->fmul($hundredthirdF49, $nF49); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF49 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok49Block); - $eightyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyeighthLong, - $n - ); - $ov50 = JitLongArithOverflow::loadOverflowFlagI1($context, $eightyninthVar->longArithOverflowFlag); - if (null === $ov50 || null === $eightyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (eightyninth)'); - } - $eightyninthLong = JITVariable::KIND_VARIABLE === $eightyninthVar->kind - ? $context->builder->load($eightyninthVar->value) - : $eightyninthVar->value; - $ov50Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyninth_ov'); - $ok50Block = BasicBlockHelper::append($context, 'pow_hundredthird_eightyninth_ok'); - $context->builder->branchIf($ov50, $ov50Block, $ok50Block); - - $context->builder->positionAtEnd($ov50Block); - $eightyninthF50 = $context->builder->load($eightyninthVar->longArithOverflowDoubleSlot); - $nF50 = $context->builder->siToFp($n, $f64); - $hundredthirdF50 = $context->builder->fmul($eightyninthF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $hundredthirdF50 = $context->builder->fmul($hundredthirdF50, $nF50); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF50 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok50Block); - $ninetiethVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $eightyninthLong, - $n - ); - $ov51 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetiethVar->longArithOverflowFlag); - if (null === $ov51 || null === $ninetiethVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetieth)'); - } - $ninetiethLong = JITVariable::KIND_VARIABLE === $ninetiethVar->kind - ? $context->builder->load($ninetiethVar->value) - : $ninetiethVar->value; - $ov51Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetieth_ov'); - $ok51Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetieth_ok'); - $context->builder->branchIf($ov51, $ov51Block, $ok51Block); - - $context->builder->positionAtEnd($ov51Block); - $ninetiethF51 = $context->builder->load($ninetiethVar->longArithOverflowDoubleSlot); - $nF51 = $context->builder->siToFp($n, $f64); - $hundredthirdF51 = $context->builder->fmul($ninetiethF51, $nF51); - $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); - $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); - $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); - $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); - $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); - $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); - $hundredthirdF51 = $context->builder->fmul($hundredthirdF51, $nF51); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF51 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok51Block); - $ninetyfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetiethLong, - $n - ); - $ov52 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfirstVar->longArithOverflowFlag); - if (null === $ov52 || null === $ninetyfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyfirst)'); - } - $ninetyfirstLong = JITVariable::KIND_VARIABLE === $ninetyfirstVar->kind - ? $context->builder->load($ninetyfirstVar->value) - : $ninetyfirstVar->value; - $ov52Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfirst_ov'); - $ok52Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfirst_ok'); - $context->builder->branchIf($ov52, $ov52Block, $ok52Block); - - $context->builder->positionAtEnd($ov52Block); - $ninetyfirstF52 = $context->builder->load($ninetyfirstVar->longArithOverflowDoubleSlot); - $nF52 = $context->builder->siToFp($n, $f64); - $hundredthirdF52 = $context->builder->fmul($ninetyfirstF52, $nF52); - $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); - $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); - $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); - $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); - $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); - $hundredthirdF52 = $context->builder->fmul($hundredthirdF52, $nF52); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF52 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok52Block); - $ninetysecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfirstLong, - $n - ); - $ov53 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysecondVar->longArithOverflowFlag); - if (null === $ov53 || null === $ninetysecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetysecond)'); - } - $ninetysecondLong = JITVariable::KIND_VARIABLE === $ninetysecondVar->kind - ? $context->builder->load($ninetysecondVar->value) - : $ninetysecondVar->value; - $ov53Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysecond_ov'); - $ok53Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysecond_ok'); - $context->builder->branchIf($ov53, $ov53Block, $ok53Block); - - $context->builder->positionAtEnd($ov53Block); - $ninetysecondF53 = $context->builder->load($ninetysecondVar->longArithOverflowDoubleSlot); - $nF53 = $context->builder->siToFp($n, $f64); - $hundredthirdF53 = $context->builder->fmul($ninetysecondF53, $nF53); - $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); - $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); - $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); - $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); - $hundredthirdF53 = $context->builder->fmul($hundredthirdF53, $nF53); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF53 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok53Block); - $ninetythirdVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysecondLong, - $n - ); - $ov54 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetythirdVar->longArithOverflowFlag); - if (null === $ov54 || null === $ninetythirdVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetythird)'); - } - $ninetythirdLong = JITVariable::KIND_VARIABLE === $ninetythirdVar->kind - ? $context->builder->load($ninetythirdVar->value) - : $ninetythirdVar->value; - $ov54Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetythird_ov'); - $ok54Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetythird_ok'); - $context->builder->branchIf($ov54, $ov54Block, $ok54Block); - - $context->builder->positionAtEnd($ov54Block); - $ninetythirdF54 = $context->builder->load($ninetythirdVar->longArithOverflowDoubleSlot); - $nF54 = $context->builder->siToFp($n, $f64); - $hundredthirdF54 = $context->builder->fmul($ninetythirdF54, $nF54); - $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); - $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); - $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); - $hundredthirdF54 = $context->builder->fmul($hundredthirdF54, $nF54); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF54 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok54Block); - $ninetyfourthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetythirdLong, - $n - ); - $ov55 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfourthVar->longArithOverflowFlag); - if (null === $ov55 || null === $ninetyfourthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyfourth)'); - } - $ninetyfourthLong = JITVariable::KIND_VARIABLE === $ninetyfourthVar->kind - ? $context->builder->load($ninetyfourthVar->value) - : $ninetyfourthVar->value; - $ov55Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfourth_ov'); - $ok55Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfourth_ok'); - $context->builder->branchIf($ov55, $ov55Block, $ok55Block); - - $context->builder->positionAtEnd($ov55Block); - $ninetyfourthF55 = $context->builder->load($ninetyfourthVar->longArithOverflowDoubleSlot); - $nF55 = $context->builder->siToFp($n, $f64); - $hundredthirdF55 = $context->builder->fmul($ninetyfourthF55, $nF55); - $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); - $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); - $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); - $hundredthirdF55 = $context->builder->fmul($hundredthirdF55, $nF55); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF55 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok55Block); - - $ninetyfifthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfourthLong, - $n - ); - $ov56 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyfifthVar->longArithOverflowFlag); - if (null === $ov56 || null === $ninetyfifthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyfifth)'); - } - $ninetyfifthLong = JITVariable::KIND_VARIABLE === $ninetyfifthVar->kind - ? $context->builder->load($ninetyfifthVar->value) - : $ninetyfifthVar->value; - $ov56Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfifth_ov'); - $ok56Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyfifth_ok'); - $context->builder->branchIf($ov56, $ov56Block, $ok56Block); - - $context->builder->positionAtEnd($ov56Block); - $ninetyfifthF56 = $context->builder->load($ninetyfifthVar->longArithOverflowDoubleSlot); - $nF56 = $context->builder->siToFp($n, $f64); - $hundredthirdF56 = $context->builder->fmul($ninetyfifthF56, $nF56); - $hundredthirdF56 = $context->builder->fmul($hundredthirdF56, $nF56); - $hundredthirdF56 = $context->builder->fmul($hundredthirdF56, $nF56); - $hundredthirdF56 = $context->builder->fmul($hundredthirdF56, $nF56); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF56 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok56Block); - $ninetysixthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyfifthLong, - $n - ); - $ov57 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetysixthVar->longArithOverflowFlag); - if (null === $ov57 || null === $ninetysixthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetysixth)'); - } - $ninetysixthLong = JITVariable::KIND_VARIABLE === $ninetysixthVar->kind - ? $context->builder->load($ninetysixthVar->value) - : $ninetysixthVar->value; - $ov57Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysixth_ov'); - $ok57Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetysixth_ok'); - $context->builder->branchIf($ov57, $ov57Block, $ok57Block); - - $context->builder->positionAtEnd($ov57Block); - $ninetysixthF57 = $context->builder->load($ninetysixthVar->longArithOverflowDoubleSlot); - $nF57 = $context->builder->siToFp($n, $f64); - $hundredthirdF57 = $context->builder->fmul($ninetysixthF57, $nF57); - $hundredthirdF57 = $context->builder->fmul($hundredthirdF57, $nF57); - $hundredthirdF57 = $context->builder->fmul($hundredthirdF57, $nF57); - $hundredthirdF57 = $context->builder->fmul($hundredthirdF57, $nF57); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF57 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok57Block); - $ninetyseventhVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetysixthLong, - $n - ); - $ov58 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyseventhVar->longArithOverflowFlag); - if (null === $ov58 || null === $ninetyseventhVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyseventh)'); - } - $ninetyseventhLong = JITVariable::KIND_VARIABLE === $ninetyseventhVar->kind - ? $context->builder->load($ninetyseventhVar->value) - : $ninetyseventhVar->value; - $ov58Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyseventh_ov'); - $ok58Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyseventh_ok'); - $context->builder->branchIf($ov58, $ov58Block, $ok58Block); - - $context->builder->positionAtEnd($ov58Block); - $ninetyseventhF58 = $context->builder->load($ninetyseventhVar->longArithOverflowDoubleSlot); - $nF58 = $context->builder->siToFp($n, $f64); - $hundredthirdF58 = $context->builder->fmul($ninetyseventhF58, $nF58); - $hundredthirdF58 = $context->builder->fmul($hundredthirdF58, $nF58); - $hundredthirdF58 = $context->builder->fmul($hundredthirdF58, $nF58); - $hundredthirdF58 = $context->builder->fmul($hundredthirdF58, $nF58); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF58 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok58Block); - $ninetyeighthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyseventhLong, - $n - ); - $ov59 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyeighthVar->longArithOverflowFlag); - if (null === $ov59 || null === $ninetyeighthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyeighth)'); - } - $ninetyeighthLong = JITVariable::KIND_VARIABLE === $ninetyeighthVar->kind - ? $context->builder->load($ninetyeighthVar->value) - : $ninetyeighthVar->value; - $ov59Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyeighth_ov'); - $ok59Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyeighth_ok'); - $context->builder->branchIf($ov59, $ov59Block, $ok59Block); - - $context->builder->positionAtEnd($ov59Block); - $ninetyeighthF59 = $context->builder->load($ninetyeighthVar->longArithOverflowDoubleSlot); - $nF59 = $context->builder->siToFp($n, $f64); - $hundredthirdF59 = $context->builder->fmul($ninetyeighthF59, $nF59); - $hundredthirdF59 = $context->builder->fmul($hundredthirdF59, $nF59); - $hundredthirdF59 = $context->builder->fmul($hundredthirdF59, $nF59); - $hundredthirdF59 = $context->builder->fmul($hundredthirdF59, $nF59); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF59 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok59Block); - $ninetyninthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyeighthLong, - $n - ); - $ov60 = JitLongArithOverflow::loadOverflowFlagI1($context, $ninetyninthVar->longArithOverflowFlag); - if (null === $ov60 || null === $ninetyninthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (ninetyninth)'); - } - $ninetyninthLong = JITVariable::KIND_VARIABLE === $ninetyninthVar->kind - ? $context->builder->load($ninetyninthVar->value) - : $ninetyninthVar->value; - $ov60Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyninth_ov'); - $ok60Block = BasicBlockHelper::append($context, 'pow_hundredthird_ninetyninth_ok'); - $context->builder->branchIf($ov60, $ov60Block, $ok60Block); - - $context->builder->positionAtEnd($ov60Block); - $ninetyninthF60 = $context->builder->load($ninetyninthVar->longArithOverflowDoubleSlot); - $nF60 = $context->builder->siToFp($n, $f64); - $hundredthirdF60 = $context->builder->fmul($ninetyninthF60, $nF60); - $hundredthirdF60 = $context->builder->fmul($hundredthirdF60, $nF60); - $hundredthirdF60 = $context->builder->fmul($hundredthirdF60, $nF60); - $hundredthirdF60 = $context->builder->fmul($hundredthirdF60, $nF60); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF60 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok60Block); - $hundredthVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $ninetyninthLong, - $n - ); - $ov61 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredthVar->longArithOverflowFlag); - if (null === $ov61 || null === $hundredthVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (hundredth)'); - } - $hundredthLong = JITVariable::KIND_VARIABLE === $hundredthVar->kind - ? $context->builder->load($hundredthVar->value) - : $hundredthVar->value; - $ov61Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredth_ov'); - $ok61Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredth_ok'); - $context->builder->branchIf($ov61, $ov61Block, $ok61Block); - - $context->builder->positionAtEnd($ov61Block); - $hundredthF61 = $context->builder->load($hundredthVar->longArithOverflowDoubleSlot); - $nF61 = $context->builder->siToFp($n, $f64); - $hundredthirdF61 = $context->builder->fmul($hundredthF61, $nF61); - $hundredthirdF61 = $context->builder->fmul($hundredthirdF61, $nF61); - $hundredthirdF61 = $context->builder->fmul($hundredthirdF61, $nF61); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF61 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok61Block); - $hundredfirstVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $hundredthLong, - $n - ); - $ov62 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredfirstVar->longArithOverflowFlag); - if (null === $ov62 || null === $hundredfirstVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (hundredfirst)'); - } - $hundredfirstLong = JITVariable::KIND_VARIABLE === $hundredfirstVar->kind - ? $context->builder->load($hundredfirstVar->value) - : $hundredfirstVar->value; - $ov62Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredfirst_ov'); - $ok62Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredfirst_ok'); - $context->builder->branchIf($ov62, $ov62Block, $ok62Block); - - $context->builder->positionAtEnd($ov62Block); - $hundredfirstF62 = $context->builder->load($hundredfirstVar->longArithOverflowDoubleSlot); - $nF62 = $context->builder->siToFp($n, $f64); - $hundredthirdF62 = $context->builder->fmul($hundredfirstF62, $nF62); - $hundredthirdF62 = $context->builder->fmul($hundredthirdF62, $nF62); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF62 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok62Block); - $hundredsecondVar = JitLongArithOverflow::binaryNativeLong( - $context, - OpCode::TYPE_MUL, - $hundredfirstLong, - $n - ); - $ov63 = JitLongArithOverflow::loadOverflowFlagI1($context, $hundredsecondVar->longArithOverflowFlag); - if (null === $ov63 || null === $hundredsecondVar->longArithOverflowDoubleSlot) { - throw new \LogicException('pow() **103 expected smul overflow metadata (hundredsecond)'); - } - $hundredsecondLong = JITVariable::KIND_VARIABLE === $hundredsecondVar->kind - ? $context->builder->load($hundredsecondVar->value) - : $hundredsecondVar->value; - $ov63Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredsecond_ov'); - $ok63Block = BasicBlockHelper::append($context, 'pow_hundredthird_hundredsecond_ok'); - $context->builder->branchIf($ov63, $ov63Block, $ok63Block); - - $context->builder->positionAtEnd($ov63Block); - $hundredsecondF63 = $context->builder->load($hundredsecondVar->longArithOverflowDoubleSlot); - $nF63 = $context->builder->siToFp($n, $f64); - $hundredthirdF63 = $context->builder->fmul($hundredsecondF63, $nF63); - $context->builder->call( - $context->lookupFunction('__value__writeDouble'), - $slotPtr, - $hundredthirdF63 - ); - JitValueBox::publishAfterWrite($context, $slotPtr); - $context->builder->branch($doneBlock); - - $context->builder->positionAtEnd($ok63Block); - JitLongArithOverflow::writeBoxedBinary( - $context, - OpCode::TYPE_MUL, - $hundredsecondLong, - $n, - $slotPtr - ); - $context->builder->branch($doneBlock); - - - $context->builder->positionAtEnd($doneBlock); - - return true; - } - if ('hundredfourth' === $expFold) { // n^103 = hundredsecond*n; overflow arms +1 ×nF vs **102. // tenth=fifth*fifth, twentieth=tenth*tenth, diff --git a/prelinked/bootstrap-gen0/.m3_compiler_lib_sidecar.sha b/prelinked/bootstrap-gen0/.m3_compiler_lib_sidecar.sha index f0b13d76cdf..fb4c88c4b41 100755 --- a/prelinked/bootstrap-gen0/.m3_compiler_lib_sidecar.sha +++ b/prelinked/bootstrap-gen0/.m3_compiler_lib_sidecar.sha @@ -1 +1 @@ -fc2f7b2782e11d061c610173b5fe0305e7b63746 \ No newline at end of file +c1099fa58cbd82ed37ae4353eeedd00c70504ac2 \ No newline at end of file diff --git a/script/size-budgets.json b/script/size-budgets.json index 1c07d9b8ba4..699881f67ea 100644 --- a/script/size-budgets.json +++ b/script/size-budgets.json @@ -716,17 +716,17 @@ "ext/standard/JitPow.php": { "budget": 443, "target": 600, - "note": "pow()/ ** LLVM lowering hub; integer chained-smul emit in JitPowIntegerEmit + Low/Mid/Exponents50to69/70to79/80to85/86to88/80to91/92to95/96to99/High (#36387)" + "note": "pow()/ ** LLVM lowering hub; integer chained-smul emit in JitPowIntegerEmit + Low/Mid/Exponents50to69/70to79/80to85/86to88/80to91/92to95/96to99/100to103/High (#36387)" }, "ext/standard/JitPowIntegerEmit.php": { - "budget": 169, + "budget": 179, "target": 500, - "note": "integer pow()/ ** hub: Low/Mid/Exponents50to69/70to79/80to85/86to88/80to91/92to95/96to99/High dispatch (#36387/#36386)" + "note": "integer pow()/ ** hub: Low/Mid/Exponents50to69/70to79/80to85/86to88/80to91/92to95/96to99/100to103/High dispatch (#36387/#36386)" }, "ext/standard/JitPowIntegerEmitHigh.php": { - "budget": 21891, - "target": 23000, - "note": "integer pow()/ ** chained-smul emit for hundredth..hundredfifth; 96..99 in Exponents96to99; 92..95 in Exponents92to95 (#36387/#36386)" + "budget": 7699, + "target": 20000, + "note": "integer pow()/ ** chained-smul emit for hundredfourth..hundredfifth; 100..103 in Exponents100to103 (#36387/#36386)" }, "ext/standard/JitPowIntegerEmitLow.php": { "budget": 3985, @@ -771,7 +771,12 @@ "ext/standard/JitPowIntegerEmitExponents96to99.php": { "budget": 13386, "target": 20000, - "note": "integer pow()/ ** chained-smul emit for compile-time exponents 96..99 extracted from High (#36387/#36386)" + "note": "integer pow()/ ** chained-smul emit for compile-time exponents 96..99 extracted from High; 100..103 in Exponents100to103 (#36387/#36386)" + }, + "ext/standard/JitPowIntegerEmitExponents100to103.php": { + "budget": 14239, + "target": 20000, + "note": "integer pow()/ ** chained-smul emit for compile-time exponents 100..103 extracted from High (#36387/#36386)" } }, "script_file_count": { diff --git a/test/selfhost/compiler_lib_spine_smoke/main.php b/test/selfhost/compiler_lib_spine_smoke/main.php index 4bdbe0a3dbe..ce997c3b9e4 100644 --- a/test/selfhost/compiler_lib_spine_smoke/main.php +++ b/test/selfhost/compiler_lib_spine_smoke/main.php @@ -8729,4 +8729,5 @@ require_once __DIR__.'/../../../ext/standard/JitPowIntegerEmitExponents80to91.php'; require_once __DIR__.'/../../../ext/standard/JitPowIntegerEmitExponents92to95.php'; require_once __DIR__.'/../../../ext/standard/JitPowIntegerEmitExponents96to99.php'; +require_once __DIR__.'/../../../ext/standard/JitPowIntegerEmitExponents100to103.php'; echo "compiler_lib_spine_smoke bundle OK\n"; diff --git a/test/unit/BootstrapSelfhostBundleTest.php b/test/unit/BootstrapSelfhostBundleTest.php index 4e17573602e..9134323eaf7 100644 --- a/test/unit/BootstrapSelfhostBundleTest.php +++ b/test/unit/BootstrapSelfhostBundleTest.php @@ -569,7 +569,7 @@ public function testCompilerLibSpineSmokeBundleUnitCountAndKeyUnits(): void $contents = (string) file_get_contents($entry); $count = bootstrap_spine_counts(self::$root)['spine']; // Spine ratio 8017/8002 — Phase A inventory in compiler_lib_spine_smoke (#2202, #31835 typed parent assign). - $this->assertSame(8596, $count, 'M2 spine require_once units track Phase A inventory (#8559, #9234, #11629, #18550, #36079); coverage sync defers PregJitHelperThinAot (#24115) + NetworkServicesNameLookupThinAot (#27103)'); + $this->assertSame(8597, $count, 'M2 spine require_once units track Phase A inventory (#8559, #9234, #11629, #18550, #36079); coverage sync defers PregJitHelperThinAot (#24115) + NetworkServicesNameLookupThinAot (#27103)'); foreach (self::LIB_SPINE_SMOKE_NEW_UNITS as $unit) { $this->assertStringContainsString( "require_once __DIR__.'/../../../{$unit}';",
MetricValue
Spine / inventory8596 / 8596
Spine / inventory8597 / 8597
Capability matrix rows4054 (VM 4021 / JIT 1472 / AOT 1326)
Differential cases463
Differential cases464
Apps corpus ready2 / 12
VM driver probe target~20 ms