\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}{2}}{a \cdot b} \cdot \frac{\pi}{b + a}double f(double a, double b) {
double r1564982 = atan2(1.0, 0.0);
double r1564983 = 2.0;
double r1564984 = r1564982 / r1564983;
double r1564985 = 1.0;
double r1564986 = b;
double r1564987 = r1564986 * r1564986;
double r1564988 = a;
double r1564989 = r1564988 * r1564988;
double r1564990 = r1564987 - r1564989;
double r1564991 = r1564985 / r1564990;
double r1564992 = r1564984 * r1564991;
double r1564993 = r1564985 / r1564988;
double r1564994 = r1564985 / r1564986;
double r1564995 = r1564993 - r1564994;
double r1564996 = r1564992 * r1564995;
return r1564996;
}
double f(double a, double b) {
double r1564997 = 0.5;
double r1564998 = a;
double r1564999 = b;
double r1565000 = r1564998 * r1564999;
double r1565001 = r1564997 / r1565000;
double r1565002 = atan2(1.0, 0.0);
double r1565003 = r1564999 + r1564998;
double r1565004 = r1565002 / r1565003;
double r1565005 = r1565001 * r1565004;
return r1565005;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.1
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied div-inv0.3
Applied times-frac0.3
Applied distribute-rgt-neg-in0.3
Applied *-un-lft-identity0.3
Applied div-inv0.3
Applied times-frac0.3
Applied distribute-lft-out0.3
Applied times-frac0.3
Simplified0.3
Simplified0.3
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2019158
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))