\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{\pi}{2}}{b + a} \cdot 1}{\frac{b - a}{\frac{1}{a} - \frac{1}{b}}}double f(double a, double b) {
double r71785 = atan2(1.0, 0.0);
double r71786 = 2.0;
double r71787 = r71785 / r71786;
double r71788 = 1.0;
double r71789 = b;
double r71790 = r71789 * r71789;
double r71791 = a;
double r71792 = r71791 * r71791;
double r71793 = r71790 - r71792;
double r71794 = r71788 / r71793;
double r71795 = r71787 * r71794;
double r71796 = r71788 / r71791;
double r71797 = r71788 / r71789;
double r71798 = r71796 - r71797;
double r71799 = r71795 * r71798;
return r71799;
}
double f(double a, double b) {
double r71800 = atan2(1.0, 0.0);
double r71801 = 2.0;
double r71802 = r71800 / r71801;
double r71803 = b;
double r71804 = a;
double r71805 = r71803 + r71804;
double r71806 = r71802 / r71805;
double r71807 = 1.0;
double r71808 = r71806 * r71807;
double r71809 = r71803 - r71804;
double r71810 = r71807 / r71804;
double r71811 = r71807 / r71803;
double r71812 = r71810 - r71811;
double r71813 = r71809 / r71812;
double r71814 = r71808 / r71813;
return r71814;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.7
rmApplied difference-of-squares9.7
Applied *-un-lft-identity9.7
Applied times-frac9.3
Applied associate-*r*9.3
Simplified9.2
rmApplied associate-*r/9.2
Applied associate-*l/0.3
rmApplied associate-/l*0.3
Final simplification0.3
herbie shell --seed 2020002 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))