\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{1 \cdot \left(b - a\right)}{b - a} \cdot \frac{\frac{\frac{\pi}{2}}{b + a} \cdot 1}{a \cdot b}double f(double a, double b) {
double r87862 = atan2(1.0, 0.0);
double r87863 = 2.0;
double r87864 = r87862 / r87863;
double r87865 = 1.0;
double r87866 = b;
double r87867 = r87866 * r87866;
double r87868 = a;
double r87869 = r87868 * r87868;
double r87870 = r87867 - r87869;
double r87871 = r87865 / r87870;
double r87872 = r87864 * r87871;
double r87873 = r87865 / r87868;
double r87874 = r87865 / r87866;
double r87875 = r87873 - r87874;
double r87876 = r87872 * r87875;
return r87876;
}
double f(double a, double b) {
double r87877 = 1.0;
double r87878 = b;
double r87879 = a;
double r87880 = r87878 - r87879;
double r87881 = r87877 * r87880;
double r87882 = r87881 / r87880;
double r87883 = atan2(1.0, 0.0);
double r87884 = 2.0;
double r87885 = r87883 / r87884;
double r87886 = r87878 + r87879;
double r87887 = r87885 / r87886;
double r87888 = r87887 * r87877;
double r87889 = r87879 * r87878;
double r87890 = r87888 / r87889;
double r87891 = r87882 * r87890;
return r87891;
}



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-*r/9.5
Applied associate-*l/0.3
rmApplied frac-sub0.3
Applied associate-*r/0.3
rmApplied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied times-frac0.3
Simplified0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019208 +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))))