\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{\frac{\left(\left(b - a\right) \cdot 1\right) \cdot \left(\pi \cdot 1\right)}{b + a}}{b \cdot a}}{2 \cdot \left(b - a\right)}double f(double a, double b) {
double r2560043 = atan2(1.0, 0.0);
double r2560044 = 2.0;
double r2560045 = r2560043 / r2560044;
double r2560046 = 1.0;
double r2560047 = b;
double r2560048 = r2560047 * r2560047;
double r2560049 = a;
double r2560050 = r2560049 * r2560049;
double r2560051 = r2560048 - r2560050;
double r2560052 = r2560046 / r2560051;
double r2560053 = r2560045 * r2560052;
double r2560054 = r2560046 / r2560049;
double r2560055 = r2560046 / r2560047;
double r2560056 = r2560054 - r2560055;
double r2560057 = r2560053 * r2560056;
return r2560057;
}
double f(double a, double b) {
double r2560058 = b;
double r2560059 = a;
double r2560060 = r2560058 - r2560059;
double r2560061 = 1.0;
double r2560062 = r2560060 * r2560061;
double r2560063 = atan2(1.0, 0.0);
double r2560064 = r2560063 * r2560061;
double r2560065 = r2560062 * r2560064;
double r2560066 = r2560058 + r2560059;
double r2560067 = r2560065 / r2560066;
double r2560068 = r2560058 * r2560059;
double r2560069 = r2560067 / r2560068;
double r2560070 = 2.0;
double r2560071 = r2560070 * r2560060;
double r2560072 = r2560069 / r2560071;
return r2560072;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.1
rmApplied difference-of-squares9.2
Applied *-un-lft-identity9.2
Applied times-frac8.8
Applied associate-*r*8.8
Simplified8.8
rmApplied frac-times8.7
Applied associate-*l/0.3
rmApplied frac-sub0.4
Applied associate-*r/0.3
Simplified0.5
Final simplification0.5
herbie shell --seed 2019172
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2.0) (/ 1.0 (- (* b b) (* a a)))) (- (/ 1.0 a) (/ 1.0 b))))