\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{1}{a + b}}{\frac{\left(b - a\right) \cdot 2}{\frac{\pi}{a} - \frac{\pi}{b}}}double f(double a, double b) {
double r1777800 = atan2(1.0, 0.0);
double r1777801 = 2.0;
double r1777802 = r1777800 / r1777801;
double r1777803 = 1.0;
double r1777804 = b;
double r1777805 = r1777804 * r1777804;
double r1777806 = a;
double r1777807 = r1777806 * r1777806;
double r1777808 = r1777805 - r1777807;
double r1777809 = r1777803 / r1777808;
double r1777810 = r1777802 * r1777809;
double r1777811 = r1777803 / r1777806;
double r1777812 = r1777803 / r1777804;
double r1777813 = r1777811 - r1777812;
double r1777814 = r1777810 * r1777813;
return r1777814;
}
double f(double a, double b) {
double r1777815 = 1.0;
double r1777816 = a;
double r1777817 = b;
double r1777818 = r1777816 + r1777817;
double r1777819 = r1777815 / r1777818;
double r1777820 = r1777817 - r1777816;
double r1777821 = 2.0;
double r1777822 = r1777820 * r1777821;
double r1777823 = atan2(1.0, 0.0);
double r1777824 = r1777823 / r1777816;
double r1777825 = r1777823 / r1777817;
double r1777826 = r1777824 - r1777825;
double r1777827 = r1777822 / r1777826;
double r1777828 = r1777819 / r1777827;
return r1777828;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.5
Simplified14.4
rmApplied *-un-lft-identity14.4
Applied *-un-lft-identity14.4
Applied times-frac14.4
Applied *-un-lft-identity14.4
Applied *-un-lft-identity14.4
Applied times-frac14.4
Applied distribute-lft-out--14.4
Applied times-frac14.4
Simplified9.2
rmApplied frac-times0.3
rmApplied associate-/l*0.3
Final simplification0.3
herbie shell --seed 2019134
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))