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

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

Build:
Build:
LAST BUILD BRANCH: feat/takum-log
DEFAULT BRANCH: master
Ran 17 Jul 2026 11:43PM UTC
Jobs 1
Files 693
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

17 Jul 2026 10:59PM UTC coverage: 84.611% (-0.02%) from 84.631%
29619455885

push

github

web-flow
fix(elreal): drop trailing subnormal limbs in zbcl_from_blocks (#1136)

On a narrow host (bfloat16 k=7, fp16 k=11) a deep ZBCL expansion can bottom out
at the denormal floor and leave a trailing subnormal limb whose exponent gap to
its head is below k. zbcl_from_blocks() only stripped trailing zero blocks, so
the subnormal limb was carried into the ZBCL; forcing the tail that holds it
trips the 0-overlap debug assert in ZBCL::tail().

A subnormal block cannot satisfy the k-gap 0-overlap invariant -- block::
is_normalised() documents exactly this ("0-overlap accounting assumes the
leading bit is set"). The streaming producers (mul_scalar, online_divide,
online_multiply) already drop non-normalised blocks; centralise the same guard
in zbcl_from_blocks so every block-list producer (add / multiply / divide / sum)
is covered. Trailing removal is value-preserving: the list is priestRenorm'd
(descending exponent), so subnormal limbs sit strictly below every normalised
limb. is_normalised() is false for zero blocks too, so this subsumes the prior
zero-drop.

Latent, pre-existing fragility masked while bfloat16 conversion truncated;
exposed by the bfloat16 RNE-conversion fix (#1133), which changes the deep sqrt
expansion so the denormal-floor configuration is reached. el_math_sqrt aborted
under Debug/ASan with FpType=bfloat16.

Validated: all 42 elreal regression tests pass on gcc and clang; el_math_sqrt
passes with RNE bfloat16 on both compilers.

Resolves #1135

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

1 of 1 new or added line in 1 file covered. (100.0%)

14 existing lines in 2 files now uncovered.

49207 of 58157 relevant lines covered (84.61%)

6680545.96 hits per line

Coverage Regressions

Lines Coverage ∆ File
10
31.43
-3.57% include/sw/universal/verification/test_suite_randoms.hpp
4
89.23
-0.55% include/sw/universal/number/posito/posito_impl.hpp
Jobs
ID Job ID Ran Files Coverage
1 29619455885.1 17 Jul 2026 11:43PM UTC 693
84.61
GitHub Action Run
Source Files on build 29619455885
  • Tree
  • List 693
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29619455885
  • 26748755 on github
  • Prev Build on main (#28489612998)
  • Next Build on main (#29621270080)
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