\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\frac{\frac{\frac{-1}{\frac{a + b}{\pi}}}{2}}{b} + \frac{\frac{\frac{\pi}{a + b}}{2}}{a}}{b - a}double f(double a, double b) {
double r4474598 = atan2(1.0, 0.0);
double r4474599 = 2.0;
double r4474600 = r4474598 / r4474599;
double r4474601 = 1.0;
double r4474602 = b;
double r4474603 = r4474602 * r4474602;
double r4474604 = a;
double r4474605 = r4474604 * r4474604;
double r4474606 = r4474603 - r4474605;
double r4474607 = r4474601 / r4474606;
double r4474608 = r4474600 * r4474607;
double r4474609 = r4474601 / r4474604;
double r4474610 = r4474601 / r4474602;
double r4474611 = r4474609 - r4474610;
double r4474612 = r4474608 * r4474611;
return r4474612;
}
double f(double a, double b) {
double r4474613 = -1.0;
double r4474614 = a;
double r4474615 = b;
double r4474616 = r4474614 + r4474615;
double r4474617 = atan2(1.0, 0.0);
double r4474618 = r4474616 / r4474617;
double r4474619 = r4474613 / r4474618;
double r4474620 = 2.0;
double r4474621 = r4474619 / r4474620;
double r4474622 = r4474621 / r4474615;
double r4474623 = r4474617 / r4474616;
double r4474624 = r4474623 / r4474620;
double r4474625 = r4474624 / r4474614;
double r4474626 = r4474622 + r4474625;
double r4474627 = r4474615 - r4474614;
double r4474628 = r4474626 / r4474627;
return r4474628;
}



Bits error versus a



Bits error versus b
Results
Initial program 13.5
Simplified0.2
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2019162
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))