\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\left(\frac{1}{b \cdot a} \cdot \frac{\pi}{b - a}\right) \cdot \frac{\left(b - a\right) \cdot \frac{1}{2}}{a + b}double f(double a, double b) {
double r53187992 = atan2(1.0, 0.0);
double r53187993 = 2.0;
double r53187994 = r53187992 / r53187993;
double r53187995 = 1.0;
double r53187996 = b;
double r53187997 = r53187996 * r53187996;
double r53187998 = a;
double r53187999 = r53187998 * r53187998;
double r53188000 = r53187997 - r53187999;
double r53188001 = r53187995 / r53188000;
double r53188002 = r53187994 * r53188001;
double r53188003 = r53187995 / r53187998;
double r53188004 = r53187995 / r53187996;
double r53188005 = r53188003 - r53188004;
double r53188006 = r53188002 * r53188005;
return r53188006;
}
double f(double a, double b) {
double r53188007 = 1.0;
double r53188008 = b;
double r53188009 = a;
double r53188010 = r53188008 * r53188009;
double r53188011 = r53188007 / r53188010;
double r53188012 = atan2(1.0, 0.0);
double r53188013 = r53188008 - r53188009;
double r53188014 = r53188012 / r53188013;
double r53188015 = r53188011 * r53188014;
double r53188016 = 0.5;
double r53188017 = r53188013 * r53188016;
double r53188018 = r53188009 + r53188008;
double r53188019 = r53188017 / r53188018;
double r53188020 = r53188015 * r53188019;
return r53188020;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.7
Simplified14.7
rmApplied frac-sub14.7
Applied associate-/r/14.7
Applied difference-of-squares9.8
Applied *-un-lft-identity9.8
Applied times-frac9.1
Applied times-frac0.3
Simplified0.3
rmApplied div-inv0.3
Final simplification0.3
herbie shell --seed 2019120
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))