\tan^{-1} \left(N + 1\right) - \tan^{-1} N\tan^{-1}_* \frac{1}{1 + \left(N + 1\right) \cdot N}double f(double N) {
double r8272618 = N;
double r8272619 = 1.0;
double r8272620 = r8272618 + r8272619;
double r8272621 = atan(r8272620);
double r8272622 = atan(r8272618);
double r8272623 = r8272621 - r8272622;
return r8272623;
}
double f(double N) {
double r8272624 = 1.0;
double r8272625 = 1.0;
double r8272626 = N;
double r8272627 = r8272626 + r8272624;
double r8272628 = r8272627 * r8272626;
double r8272629 = r8272625 + r8272628;
double r8272630 = atan2(r8272624, r8272629);
return r8272630;
}




Bits error versus N
Results
| Original | 15.3 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 15.3
rmApplied diff-atan14.2
Simplified0.4
Final simplification0.4
herbie shell --seed 2019174
(FPCore (N)
:name "2atan (example 3.5)"
:herbie-target
(atan (/ 1.0 (+ 1.0 (* N (+ N 1.0)))))
(- (atan (+ N 1.0)) (atan N)))