\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{\sqrt{\frac{1}{2}}}{a} - \frac{1}{\frac{b}{\sqrt{\frac{1}{2}}}}}{b - a} \cdot \frac{\pi \cdot \sqrt{\frac{1}{2}}}{a + b}double f(double a, double b) {
double r1704864 = atan2(1.0, 0.0);
double r1704865 = 2.0;
double r1704866 = r1704864 / r1704865;
double r1704867 = 1.0;
double r1704868 = b;
double r1704869 = r1704868 * r1704868;
double r1704870 = a;
double r1704871 = r1704870 * r1704870;
double r1704872 = r1704869 - r1704871;
double r1704873 = r1704867 / r1704872;
double r1704874 = r1704866 * r1704873;
double r1704875 = r1704867 / r1704870;
double r1704876 = r1704867 / r1704868;
double r1704877 = r1704875 - r1704876;
double r1704878 = r1704874 * r1704877;
return r1704878;
}
double f(double a, double b) {
double r1704879 = 0.5;
double r1704880 = sqrt(r1704879);
double r1704881 = a;
double r1704882 = r1704880 / r1704881;
double r1704883 = 1.0;
double r1704884 = b;
double r1704885 = r1704884 / r1704880;
double r1704886 = r1704883 / r1704885;
double r1704887 = r1704882 - r1704886;
double r1704888 = r1704884 - r1704881;
double r1704889 = r1704887 / r1704888;
double r1704890 = atan2(1.0, 0.0);
double r1704891 = r1704890 * r1704880;
double r1704892 = r1704881 + r1704884;
double r1704893 = r1704891 / r1704892;
double r1704894 = r1704889 * r1704893;
return r1704894;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.3
Simplified9.8
rmApplied *-un-lft-identity9.8
Applied div-inv9.8
Applied times-frac9.8
Applied *-un-lft-identity9.8
Applied div-inv9.8
Applied times-frac9.8
Applied distribute-lft-out--9.8
Applied times-frac0.3
Simplified0.3
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied add-sqr-sqrt0.5
Applied times-frac0.4
Applied *-un-lft-identity0.4
Applied add-sqr-sqrt0.5
Applied times-frac0.4
Applied distribute-lft-out--0.4
Applied times-frac0.4
Applied associate-*r*0.4
Simplified0.3
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2019144
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))