Generated by docs/reports/accuracies.jl on Julia 1.12.6.
This report samples a representative subset; it does not cover all available functions.
Errors are measured against a 512-bit BigFloat reference in units of the Double64 working precision, 1 ulp = 2⁻¹⁰⁴ (about 4.9e-32) relative. A worst case of about 1 ulp means the function is as accurate as the format allows.
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
exp | (-100, 100) | 250 | 0.34 | 3.33 |
expm1 | (-1, 1) | 250 | 0.34 | 4.46 |
exp2 | (-100, 100) | 250 | 0.32 | 2.40 |
log | (0, 100) | 250 | 0.08 | 0.49 |
log | 1 ± 2⁻³¹ | 250 | 0.14 | 1.01 |
log1p | (-1, 1) | 250 | 0.09 | 0.58 |
log2 | (0, 100) | 250 | 0.04 | 0.36 |
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
sin | (-100, 100) | 250 | 0.02 | 0.30 |
cos | (-100, 100) | 250 | 0.02 | 0.24 |
tan | (-1, 1) | 250 | 0.13 | 1.44 |
sin | near π/2 | 250 | 0.02 | 0.21 |
cos | near π/2 | 250 | 0.07 | 0.41 |
cos | near π | 250 | 0.02 | 0.23 |
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
asin | (-1, 1) | 250 | 0.02 | 0.12 |
acos | (-1, 1) | 250 | 0.03 | 0.12 |
atan | (-100, 100) | 250 | 0.03 | 0.34 |
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
sinh | (-2, 2) | 250 | 0.41 | 3.51 |
sinh | (-9, 9) | 250 | 0.39 | 3.13 |
cosh | (-2, 2) | 250 | 0.22 | 3.13 |
cosh | (-9, 9) | 250 | 0.28 | 2.81 |
tanh | (-2, 2) | 250 | 0.16 | 2.97 |
tanh | (-9, 9) | 250 | 0.10 | 0.95 |
asinh | (-100, 100) | 250 | 0.08 | 0.43 |
asinh | ±2⁻⁴⁰ | 250 | 0.12 | 0.79 |
acosh | (1, 101) | 250 | 0.07 | 0.66 |
acosh | 1 + ε | 250 | 0.17 | 0.99 |
atanh | (-1, 1) | 250 | 0.10 | 2.12 |
atanh | ±2⁻⁴⁰ | 250 | 0.09 | 1.11 |
erf, erfc, and gamma are computed via Float128; its 113-bit significand caps their accuracy at roughly half an ulp of Double64.
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
erf | (-1, 1) | 250 | 0.03 | 0.11 |
erfc | (-1, 1) | 250 | 0.02 | 0.11 |
gamma | (0.1, 10) | 250 | 0.02 | 0.11 |
ellipk | (0, 1) | 250 | 0.12 | 1.06 |
ellipk | 1 - 2⁻²⁰⁻⁵⁰ | 250 | 0.17 | 1.02 |
Matrix routines are checked through their defining identities on random matrices, normalized per matrix dimension. An unavailable row identifies a routine that cannot currently execute for that precision.
| identity | size | samples | median (ulps) | worst (ulps) |
|---|
eigen residual ‖AV−VΛ‖ | 8×8 | 25 | 0.39 | 0.66 |
exp∘log roundtrip | 8×8 | 25 | 2.26 | 2.78 |
sqrt squared | 8×8 | 25 | 2.01 | 4.13 |
sin²+cos²−I | 8×8 | 25 | 5.30 | 12.20 |
Errors are measured against a 512-bit BigFloat reference in units of the Double32 working precision, 1 ulp = 2⁻⁴⁶ (about 1.4e-14) relative. A worst case of about 1 ulp means the function is as accurate as the format allows.
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
exp | (-100, 100) | 235 | 0.02 | 157483982232.15 |
expm1 | (-1, 1) | 250 | 0.02 | 0.12 |
exp2 | (-100, 100) | 250 | 0.37 | 3.13 |
log | (0, 100) | 250 | 0.03 | 0.12 |
log | 1 ± 2⁻³¹ | 250 | 0.00 | 0.01 |
log1p | (-1, 1) | 250 | 0.02 | 0.11 |
log2 | (0, 100) | 250 | 0.02 | 0.13 |
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
sin | (-100, 100) | 250 | 0.02 | 0.11 |
cos | (-100, 100) | 250 | 0.02 | 0.12 |
tan | (-1, 1) | 250 | 0.02 | 0.11 |
sin | near π/2 | 250 | 0.02 | 0.06 |
cos | near π/2 | 250 | 0.02 | 0.12 |
cos | near π | 250 | 0.01 | 0.07 |
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
asin | (-1, 1) | 250 | 0.02 | 0.12 |
acos | (-1, 1) | 250 | 0.03 | 0.11 |
atan | (-100, 100) | 250 | 0.02 | 0.09 |
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
sinh | (-2, 2) | 250 | 0.02 | 0.13 |
sinh | (-9, 9) | 250 | 0.02 | 0.11 |
cosh | (-2, 2) | 250 | 0.02 | 0.13 |
cosh | (-9, 9) | 250 | 0.03 | 0.12 |
tanh | (-2, 2) | 250 | 0.02 | 0.11 |
tanh | (-9, 9) | 250 | 0.02 | 0.10 |
asinh | (-100, 100) | 250 | 0.02 | 0.10 |
asinh | ±2⁻⁴⁰ | 250 | 0.00 | 0.00 |
acosh | (1, 101) | 250 | 0.03 | 0.12 |
acosh | 1 + ε | 250 | 0.02 | 0.12 |
atanh | (-1, 1) | 250 | 0.02 | 0.12 |
atanh | ±2⁻⁴⁰ | 250 | 0.00 | 0.00 |
erf, erfc, and gamma are computed via Float128; its 113-bit significand caps their accuracy at roughly half an ulp of Double64.
| function | domain | samples | median (ulps) | worst (ulps) |
|---|
erf | (-1, 1) | 250 | 0.02 | 0.11 |
erfc | (-1, 1) | 250 | 0.02 | 0.10 |
gamma | (0.1, 10) | 250 | 0.02 | 0.12 |
ellipk | (0, 1) | 250 | 0.10 | 0.88 |
ellipk | 1 - 2⁻²⁰⁻⁵⁰ | 250 | 0.14 | 1.00 |
Matrix routines are checked through their defining identities on random matrices, normalized per matrix dimension. An unavailable row identifies a routine that cannot currently execute for that precision.
| identity | size | samples | median (ulps) | worst (ulps) |
|---|
eigen residual ‖AV−VΛ‖ | 8×8 | 25 | 0.32 | 0.50 |
exp∘log roundtrip | 8×8 | 25 | 1.59 | 3.06 |
sqrt squared | 8×8 | 25 | 1.54 | 2.97 |
sin²+cos²−I | 8×8 | 25 | 3.60 | 10.09 |
The unavailable Double32 matrix rows currently require a generic Schur path through Complex{Double32}, which is not supported.