\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{\left(\pi \cdot 1\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{b + a}}{2 \cdot \left(b - a\right)}double f(double a, double b) {
double r39727 = atan2(1.0, 0.0);
double r39728 = 2.0;
double r39729 = r39727 / r39728;
double r39730 = 1.0;
double r39731 = b;
double r39732 = r39731 * r39731;
double r39733 = a;
double r39734 = r39733 * r39733;
double r39735 = r39732 - r39734;
double r39736 = r39730 / r39735;
double r39737 = r39729 * r39736;
double r39738 = r39730 / r39733;
double r39739 = r39730 / r39731;
double r39740 = r39738 - r39739;
double r39741 = r39737 * r39740;
return r39741;
}
double f(double a, double b) {
double r39742 = atan2(1.0, 0.0);
double r39743 = 1.0;
double r39744 = r39742 * r39743;
double r39745 = a;
double r39746 = r39743 / r39745;
double r39747 = b;
double r39748 = r39743 / r39747;
double r39749 = r39746 - r39748;
double r39750 = r39744 * r39749;
double r39751 = r39747 + r39745;
double r39752 = r39750 / r39751;
double r39753 = 2.0;
double r39754 = r39747 - r39745;
double r39755 = r39753 * r39754;
double r39756 = r39752 / r39755;
return r39756;
}



Bits error versus a



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