\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{\left(1 \cdot \left(b - a\right)\right) \cdot \left(\frac{\pi}{2} \cdot 1\right)}{b + a}}{a \cdot b}}{b - a}double f(double a, double b) {
double r46583 = atan2(1.0, 0.0);
double r46584 = 2.0;
double r46585 = r46583 / r46584;
double r46586 = 1.0;
double r46587 = b;
double r46588 = r46587 * r46587;
double r46589 = a;
double r46590 = r46589 * r46589;
double r46591 = r46588 - r46590;
double r46592 = r46586 / r46591;
double r46593 = r46585 * r46592;
double r46594 = r46586 / r46589;
double r46595 = r46586 / r46587;
double r46596 = r46594 - r46595;
double r46597 = r46593 * r46596;
return r46597;
}
double f(double a, double b) {
double r46598 = 1.0;
double r46599 = b;
double r46600 = a;
double r46601 = r46599 - r46600;
double r46602 = r46598 * r46601;
double r46603 = atan2(1.0, 0.0);
double r46604 = 2.0;
double r46605 = r46603 / r46604;
double r46606 = r46605 * r46598;
double r46607 = r46602 * r46606;
double r46608 = r46599 + r46600;
double r46609 = r46607 / r46608;
double r46610 = r46600 * r46599;
double r46611 = r46609 / r46610;
double r46612 = r46611 / r46601;
return r46612;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.8
rmApplied difference-of-squares9.6
Applied associate-/r*9.0
rmApplied associate-*r/9.0
Applied associate-*l/0.3
rmApplied associate-*r/0.3
rmApplied frac-sub0.3
Applied associate-*r/0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019318
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))