\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{\pi}{2}}{b + a} \cdot \frac{1}{a \cdot b}double f(double a, double b) {
double r41789 = atan2(1.0, 0.0);
double r41790 = 2.0;
double r41791 = r41789 / r41790;
double r41792 = 1.0;
double r41793 = b;
double r41794 = r41793 * r41793;
double r41795 = a;
double r41796 = r41795 * r41795;
double r41797 = r41794 - r41796;
double r41798 = r41792 / r41797;
double r41799 = r41791 * r41798;
double r41800 = r41792 / r41795;
double r41801 = r41792 / r41793;
double r41802 = r41800 - r41801;
double r41803 = r41799 * r41802;
return r41803;
}
double f(double a, double b) {
double r41804 = atan2(1.0, 0.0);
double r41805 = 2.0;
double r41806 = r41804 / r41805;
double r41807 = b;
double r41808 = a;
double r41809 = r41807 + r41808;
double r41810 = r41806 / r41809;
double r41811 = 1.0;
double r41812 = r41808 * r41807;
double r41813 = r41811 / r41812;
double r41814 = r41810 * r41813;
return r41814;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.9
rmApplied difference-of-squares10.1
Applied *-un-lft-identity10.1
Applied times-frac9.6
Applied associate-*r*9.5
Simplified9.5
rmApplied associate-*l*0.3
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2019208
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))