\tan^{-1} \left(N + 1\right) - \tan^{-1} N\tan^{-1}_* \frac{1}{\mathsf{fma}\left(N, 1 + N, 1\right)}double f(double N) {
double r7577971 = N;
double r7577972 = 1.0;
double r7577973 = r7577971 + r7577972;
double r7577974 = atan(r7577973);
double r7577975 = atan(r7577971);
double r7577976 = r7577974 - r7577975;
return r7577976;
}
double f(double N) {
double r7577977 = 1.0;
double r7577978 = N;
double r7577979 = r7577977 + r7577978;
double r7577980 = 1.0;
double r7577981 = fma(r7577978, r7577979, r7577980);
double r7577982 = atan2(r7577977, r7577981);
return r7577982;
}




Bits error versus N
| Original | 15.3 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 15.3
rmApplied diff-atan14.1
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019200 +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)))