[stdlib] Correctness bug in `log1p`
Open
@barcharcraz is already working on this.
Since Sep 9, 2026.
accepted
bug_feature_triaged
Team: Mojo Libraries
- Dominant language
- Mojo
- Stars
- 29.8k
- Forks
- 3.2k
- PR merge metrics
- No merged PRs in 30d
Description
log1p loses about six digits on ordinary Float64 arguments:
log1p(-0.25) -0.2876821432670699 libm -0.2876820724517809
The error vanishes as x -> 0, so small arguments look accurate. The misses are concentrated in the band where 1 + x lies in [1/sqrt(2), sqrt(2)], which is exactly where the function uses its own polynomial instead of delegating to log.
parted out from #7068
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.