\tan^{-1} \left(N + 1\right) - \tan^{-1} N\tan^{-1}_* \frac{1}{\mathsf{fma}\left(N, N + 1, 1\right)}double f(double N) {
double r124694 = N;
double r124695 = 1.0;
double r124696 = r124694 + r124695;
double r124697 = atan(r124696);
double r124698 = atan(r124694);
double r124699 = r124697 - r124698;
return r124699;
}
double f(double N) {
double r124700 = 1.0;
double r124701 = N;
double r124702 = r124701 + r124700;
double r124703 = 1.0;
double r124704 = fma(r124701, r124702, r124703);
double r124705 = atan2(r124700, r124704);
return r124705;
}




Bits error versus N
| Original | 14.7 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 14.7
rmApplied diff-atan13.7
Simplified0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019195 +o rules:numerics
(FPCore (N)
:name "2atan (example 3.5)"
:herbie-target
(atan (/ 1.0 (+ 1.0 (* N (+ N 1.0)))))
(- (atan (+ N 1.0)) (atan N)))