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

stillwater-sc / universal / 31953293259
85%
master: 84%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 16 Aug 2026 03:04PM UTC
Jobs 1
Files 618
Run time 1min
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

16 Aug 2026 02:38PM UTC coverage: 85.483% (+0.01%) from 85.469%
31953293259

push

github

web-flow
fix(td_cascade): port the qd_mul schedule to the 3-component width (#1325)

td_cascade was the last width still using the generic sorted accumulation:
9 partial products, an 18-term expansion sorted by magnitude, then a fold into
3 components that discarded the error term of every sub-ulp carry.

The schedule from #1322, one order shorter. a[i]*b[j] contributes at order
eps^(i+j), so products come out in decreasing significance by construction and
no sorting is needed: accumulate through eps^2 with three_sum / two_sum chains
that keep every error term, sum eps^3 and below in plain arithmetic, and close
with renorm4(). multiply_cascade_by_double() gains an N=3 form so division does
not regress.

Verified against exact dyadic arithmetic over 400 random full-width products:
multiply 5.53 -> 0.23 ulps of 2^-159 (correctly rounded, 0/400 past 1 ulp),
square 9.72 -> 0.22. Measured: multiply 214 -> 63 nsec/op, exp 13406 -> 3280,
log 26224 -> 7009, sin 9763 -> 2846.

Also in this PR:

  docs/assessments/multi-component-cascade-vs-direct.md, a design assessment of
  the cascade and direct families: the structural differences, what #1317,
  #1322 and #1324 bought and cost, the current oracle-measured accuracy and
  timings for all five types, and a ranked list of what a second optimization
  pass should start from (division at every width, the sqrt algorithm choice,
  the 46% compression costs N=4 addition, and the generic templates that still
  carry the old design).

  An Assessments section in the docs site, with that document published as
  'Multi-component Systems' and the three existing assessments in
  docs/assessments/ routed there alongside it - none of them had been reachable
  from the site before.

Closes #1324.

93 of 94 new or added lines in 1 file covered. (98.94%)

9 existing lines in 2 files now uncovered.

42716 of 49970 relevant lines covered (85.48%)

7237962.89 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
84.19
0.59% include/sw/universal/internal/floatcascade/floatcascade.hpp

Coverage Regressions

Lines Coverage ∆ File
8
93.73
-0.47% include/sw/universal/number/cfloat/cfloat_impl.hpp
1
84.19
0.59% include/sw/universal/internal/floatcascade/floatcascade.hpp
Jobs
ID Job ID Ran Files Coverage
1 31953293259.1 16 Aug 2026 03:04PM UTC 618
85.48
GitHub Action Run
Source Files on build 31953293259
  • Tree
  • List 618
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31953293259
  • 8a682cfc on github
  • Prev Build on main (#31947713322)
  • Next Build on main (#32007305494)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc