\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\left(\frac{\frac{\pi}{2}}{b + a} \cdot 1\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{b - a}double f(double a, double b) {
double r74787 = atan2(1.0, 0.0);
double r74788 = 2.0;
double r74789 = r74787 / r74788;
double r74790 = 1.0;
double r74791 = b;
double r74792 = r74791 * r74791;
double r74793 = a;
double r74794 = r74793 * r74793;
double r74795 = r74792 - r74794;
double r74796 = r74790 / r74795;
double r74797 = r74789 * r74796;
double r74798 = r74790 / r74793;
double r74799 = r74790 / r74791;
double r74800 = r74798 - r74799;
double r74801 = r74797 * r74800;
return r74801;
}
double f(double a, double b) {
double r74802 = atan2(1.0, 0.0);
double r74803 = 2.0;
double r74804 = r74802 / r74803;
double r74805 = b;
double r74806 = a;
double r74807 = r74805 + r74806;
double r74808 = r74804 / r74807;
double r74809 = 1.0;
double r74810 = r74808 * r74809;
double r74811 = r74809 / r74806;
double r74812 = r74809 / r74805;
double r74813 = r74811 - r74812;
double r74814 = r74810 * r74813;
double r74815 = r74805 - r74806;
double r74816 = r74814 / r74815;
return r74816;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.6
rmApplied difference-of-squares9.9
Applied *-un-lft-identity9.9
Applied times-frac9.4
Applied associate-*r*9.4
Simplified9.3
rmApplied associate-*r/9.3
Applied associate-*l/0.3
Final simplification0.3
herbie shell --seed 2020062 +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))))