aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
diff options
context:
space:
mode:
authorlntue <35648136+lntue@users.noreply.github.com>2024-04-01 13:31:07 -0400
committerGitHub <noreply@github.com>2024-04-01 13:31:07 -0400
commit2be722587f5987891ed8b2904a03f983e987f226 (patch)
treee0f266599e18baa39737a634298c6d7ee8fea9ee /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
parenta54930e696a275ac3947484f44d770cd587ce147 (diff)
downloadllvm-2be722587f5987891ed8b2904a03f983e987f226.zip
llvm-2be722587f5987891ed8b2904a03f983e987f226.tar.gz
llvm-2be722587f5987891ed8b2904a03f983e987f226.tar.bz2
[libc][math] Implement atan2f correctly rounded to all rounding modes. (#86716)
We compute atan2f(y, x) in 2 stages: - Fast step: perform computations in double precision , with relative errors < 2^-50 - Accurate step: if the result from the Fast step fails Ziv's rounding test, then we perform computations in double-double precision, with relative errors < 2^-100. On Ryzen 5900X, worst-case latency is ~ 200 clocks, compared to average latency ~ 60 clocks, and average reciprocal throughput ~ 20 clocks.
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions