Precision¶
decimal-scaled is perfectly precise — correctly rounded to within 0.5 ULP,
i.e. 0 bits of error.
We execute 102,735 specialised inputs across all 30 functions, on 117 widths and scales, under all 8 rounding modes, resulting in 96,159,960 separate checks.
Each golden case was gathered from the codebase failing, from theory, from destructive testing of our own code, and from destructive testing of other libraries — collated into a behemoth of meanness.
The data on this page is generated and committed directly from the golden-comprehensive CI job and auto-rendered here; there is no manual editing. If we ever fail our guarantee, we want you to know.
Each row is a function, each column a storage width. A ✓ means 0 bits of
error — the exact correctly-rounded value — across every scale and all eight
rounding modes at that width, with the number of checks verified correct beneath
it. A ✗ marks a cell with at least one failure, the count of failing checks
beneath. Inputs outside a function's domain or a tier's range aren't checks, so
they count toward neither. The full per-scale, per-mode surface lives in
results/golden/.
| Function | D18 | D38 | D57 | D76 | D115 | D153 | D230 | D307 | D462 | D616 | D924 | D1232 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
acos |
✓ 19,216 |
✓ 101,096 |
✓ 142,336 |
✓ 145,680 |
✓ 158,168 |
✓ 128,448 |
✓ 160,384 |
✓ 288,848 |
✓ 224,632 |
✓ 256,784 |
✓ 256,784 |
✓ 256,784 |
acosh |
✓ 46,584 |
✓ 139,176 |
✓ 146,624 |
✓ 146,696 |
✓ 151,832 |
✓ 117,432 |
✓ 151,848 |
✓ 289,512 |
✓ 220,680 |
✓ 255,112 |
✓ 255,112 |
✓ 255,112 |
add |
✓ 496 |
✓ 1,728 |
✓ 1,728 |
✓ 1,952 |
✓ 1,928 |
✓ 1,688 |
✓ 2,344 |
✓ 4,360 |
✓ 3,688 |
✓ 4,192 |
✓ 4,416 |
✓ 4,600 |
asin |
✓ 19,616 |
✓ 106,256 |
✓ 152,112 |
✓ 157,368 |
✓ 170,360 |
✓ 139,336 |
✓ 173,896 |
✓ 313,264 |
✓ 243,600 |
✓ 278,496 |
✓ 278,496 |
✓ 278,496 |
asinh |
✓ 16,240 |
✓ 98,888 |
✓ 128,584 |
✓ 145,544 |
✓ 151,872 |
✓ 129,560 |
✓ 170,568 |
✓ 313,520 |
✓ 258,072 |
✓ 292,344 |
✓ 299,104 |
✓ 304,928 |
atan |
✓ 16,744 |
✓ 97,400 |
✓ 125,808 |
✓ 142,904 |
✓ 148,600 |
✓ 127,016 |
✓ 166,640 |
✓ 306,776 |
✓ 252,184 |
✓ 285,656 |
✓ 292,120 |
✓ 297,648 |
atan2 |
✓ 55,928 |
✓ 157,504 |
✓ 161,024 |
✓ 161,992 |
✓ 167,208 |
✓ 129,024 |
✓ 168,216 |
✓ 324,128 |
✓ 247,016 |
✓ 286,816 |
✓ 287,584 |
✓ 287,968 |
atanh |
✓ 19,264 |
✓ 102,456 |
✓ 145,320 |
✓ 150,432 |
✓ 162,152 |
✓ 132,656 |
✓ 165,640 |
✓ 298,360 |
✓ 232,056 |
✓ 265,304 |
✓ 265,336 |
✓ 265,336 |
cbrt |
✓ 34,368 |
✓ 135,664 |
✓ 145,752 |
✓ 157,368 |
✓ 162,536 |
✓ 132,312 |
✓ 179,096 |
✓ 338,328 |
✓ 274,728 |
✓ 312,456 |
✓ 320,008 |
✓ 326,104 |
cos |
✓ 23,352 |
✓ 106,904 |
✓ 154,048 |
✓ 159,952 |
✓ 166,816 |
✓ 140,248 |
✓ 174,384 |
✓ 314,464 |
✓ 234,568 |
✓ 271,256 |
✓ 276,128 |
✓ 279,504 |
cosh |
✓ 37,904 |
✓ 136,696 |
✓ 176,512 |
✓ 182,936 |
✓ 191,784 |
✓ 158,152 |
✓ 199,240 |
✓ 362,592 |
✓ 272,016 |
✓ 315,296 |
✓ 319,064 |
✓ 321,424 |
div |
✓ 328 |
✓ 1,128 |
✓ 1,104 |
✓ 1,344 |
✓ 1,400 |
✓ 1,248 |
✓ 1,808 |
✓ 3,352 |
✓ 2,928 |
✓ 3,312 |
✓ 3,504 |
✓ 3,680 |
exp |
✓ 37,096 |
✓ 127,424 |
✓ 160,640 |
✓ 166,368 |
✓ 172,840 |
✓ 142,776 |
✓ 180,048 |
✓ 328,104 |
✓ 244,984 |
✓ 284,624 |
✓ 288,128 |
✓ 290,608 |
exp2 |
✓ 42,880 |
✓ 136,056 |
✓ 163,808 |
✓ 170,264 |
✓ 174,544 |
✓ 144,600 |
✓ 182,512 |
✓ 333,400 |
✓ 249,240 |
✓ 289,112 |
✓ 292,576 |
✓ 294,936 |
expm1 |
✓ 1,984 |
✓ 5,880 |
✓ 6,120 |
✓ 7,080 |
✓ 7,520 |
✓ 7,072 |
✓ 9,536 |
✓ 18,496 |
✓ 16,176 |
✓ 20,912 |
✓ 22,880 |
✓ 24,368 |
hypot |
✓ 1,920 |
✓ 5,176 |
✓ 3,944 |
✓ 4,400 |
✓ 3,984 |
✓ 3,456 |
✓ 4,520 |
✓ 8,056 |
✓ 6,608 |
✓ 7,448 |
✓ 7,696 |
✓ 7,912 |
ln |
✓ 41,576 |
✓ 154,776 |
✓ 179,392 |
✓ 172,976 |
✓ 181,152 |
✓ 140,992 |
✓ 181,400 |
✓ 342,984 |
✓ 262,576 |
✓ 303,448 |
✓ 303,784 |
✓ 304,000 |
log |
✓ 19,448 |
✓ 61,376 |
✓ 59,720 |
✓ 61,024 |
✓ 59,040 |
✓ 46,544 |
✓ 59,704 |
✓ 112,280 |
✓ 85,992 |
✓ 99,144 |
✓ 99,136 |
✓ 99,200 |
log10 |
✓ 42,344 |
✓ 159,424 |
✓ 185,744 |
✓ 179,592 |
✓ 188,624 |
✓ 147,048 |
✓ 189,112 |
✓ 356,576 |
✓ 273,392 |
✓ 315,344 |
✓ 315,624 |
✓ 315,880 |
log1p |
✓ 2,232 |
✓ 6,640 |
✓ 6,472 |
✓ 7,312 |
✓ 7,752 |
✓ 7,232 |
✓ 9,592 |
✓ 18,432 |
✓ 16,120 |
✓ 20,568 |
✓ 21,984 |
✓ 22,912 |
log2 |
✓ 43,216 |
✓ 157,624 |
✓ 179,120 |
✓ 172,624 |
✓ 179,832 |
✓ 139,944 |
✓ 180,184 |
✓ 340,592 |
✓ 260,760 |
✓ 300,984 |
✓ 301,224 |
✓ 301,376 |
mul |
✓ 552 |
✓ 2,336 |
✓ 2,592 |
✓ 2,936 |
✓ 3,208 |
✓ 2,872 |
✓ 3,832 |
✓ 7,192 |
✓ 6,192 |
✓ 7,320 |
✓ 7,672 |
✓ 7,832 |
powf |
✓ 43,248 |
✓ 113,128 |
✓ 134,992 |
✓ 144,032 |
✓ 140,056 |
✓ 123,296 |
✓ 158,928 |
✓ 291,144 |
✓ 202,912 |
✓ 236,320 |
✓ 240,296 |
✓ 247,232 |
rem |
✓ 280 |
✓ 1,040 |
✓ 1,048 |
✓ 1,288 |
✓ 1,352 |
✓ 1,208 |
✓ 1,760 |
✓ 3,272 |
✓ 2,864 |
✓ 3,240 |
✓ 3,432 |
✓ 3,608 |
sin |
✓ 23,392 |
✓ 107,048 |
✓ 154,624 |
✓ 159,984 |
✓ 167,200 |
✓ 140,328 |
✓ 174,664 |
✓ 314,864 |
✓ 234,832 |
✓ 271,576 |
✓ 276,712 |
✓ 279,960 |
sinh |
✓ 37,312 |
✓ 130,632 |
✓ 166,912 |
✓ 173,160 |
✓ 180,336 |
✓ 149,176 |
✓ 188,072 |
✓ 342,240 |
✓ 256,096 |
✓ 297,208 |
✓ 301,192 |
✓ 303,464 |
sqrt |
✓ 36,520 |
✓ 138,736 |
✓ 145,648 |
✓ 157,208 |
✓ 162,200 |
✓ 131,352 |
✓ 177,576 |
✓ 335,432 |
✓ 272,192 |
✓ 309,512 |
✓ 316,440 |
✓ 322,264 |
sub |
✓ 496 |
✓ 1,728 |
✓ 1,728 |
✓ 1,952 |
✓ 1,928 |
✓ 1,688 |
✓ 2,344 |
✓ 4,360 |
✓ 3,688 |
✓ 4,192 |
✓ 4,416 |
✓ 4,600 |
tan |
✓ 23,032 |
✓ 105,976 |
✓ 152,792 |
✓ 161,184 |
✓ 167,320 |
✓ 141,504 |
✓ 174,904 |
✓ 316,256 |
✓ 236,120 |
✓ 272,896 |
✓ 277,688 |
✓ 281,000 |
tanh |
✓ 22,944 |
✓ 111,376 |
✓ 158,048 |
✓ 162,040 |
✓ 174,992 |
✓ 142,512 |
✓ 178,304 |
✓ 321,776 |
✓ 244,128 |
✓ 283,632 |
✓ 286,912 |
✓ 287,344 |