• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stillwater-sc / universal / 26266962442
84%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 22 May 2026 04:02AM UTC
Jobs 1
Files 651
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 May 2026 03:35AM UTC coverage: 84.233% (-0.01%) from 84.247%
26266962442

push

github

web-flow
perf(elreal): Phase L.1 -- depth-1 refinement for division (#917)

* perf(elreal): Phase L.1 -- depth-1 refinement for division via Taylor + IEEE residual

Phase L.1 of follow-up epic #903 (#906). Lifts the "elreal / is depth-0
only" caveat that has held since Phase G.

Algorithm
---------

Let r = a/b be the true value. At the leading doubles:

  r = c0 + Δa/b0 - (a0/b0^2) Δb + (a - b*c0)/b0 + O(eps^2)

where the IEEE residual `a - b*c0` is recoverable exactly from the
leading doubles via EFTs:

  two_prod(b0, c0)  -> (prod_hi, prod_err) with b0*c0 = prod_hi + prod_err
  two_diff(a0, prod_hi) -> (diff_hi, diff_err)
  ieee_residual = (diff_hi + diff_err) - prod_err

The depth-1 component is then

  c1 = (ieee_residual + a.at(1) - c0 * b.at(1)) / b0

which fits the existing gen_binary_linear variant alternative with:
  constant = ieee_residual / b0
  ca       = 1/b0
  cb       = -c0/b0

No new generator shape needed; just populate gen_binary_linear in
operator/. The PR is small (~ 40 lines changed in elreal_impl.hpp).

Validation
----------

- 1/3 produces c0 = 0.333...331 (IEEE rounded) and c1 = 1.85e-17, the
  exact positive residual. Sanity check: c0 + c1 ~= 1/3 to ~ 32 digits.
- All 30 elreal regression tests PASS under gcc 13.3 and clang 18.1.
- Phase J oracle sweep PASS under both compilers.
- benchmark_elreal_performance: division now in the same 13 Mops/s
  range as +/-/* (it was an artifact ~ 1 Gops/s pre-L.1 from gcc
  inlining the entire depth-0-only operator away).

Doc updates
-----------

- docs/number-systems/elreal.md: known-limitations entry on "depth-1
  ceiling" updated to mention `/` is now included alongside the
  other operators.
- docs/algorithmic-details/lazy-real-arithmetic.md: Section 6 depth-1
  generator table updated with the / row's actual formula.
- docs/algorithmic-details/elreal-performance-baseline.md: division
  cost-shape section rewritten to describe the post-L.1 reality
  (1 Gops/s artifact is gone; throughput now ... (continued)

46942 of 55729 relevant lines covered (84.23%)

5285504.24 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
93.63
-0.47% include/sw/universal/number/cfloat/cfloat_impl.hpp
3
80.58
-0.67% include/sw/universal/number/posit1/specialized/posit_16_1.hpp
Jobs
ID Job ID Ran Files Coverage
1 26266962442.1 22 May 2026 04:02AM UTC 651
84.23
GitHub Action Run
Source Files on build 26266962442
  • Tree
  • List 651
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26266962442
  • e673df88 on github
  • Prev Build on main (#26265518834)
  • Next Build on main (#26289624672)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc