\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}{a} - \frac{1}{b}}{b - a} \cdot \frac{\frac{\pi}{2} \cdot 1}{a + b}double f(double a, double b) {
double r2712304 = atan2(1.0, 0.0);
double r2712305 = 2.0;
double r2712306 = r2712304 / r2712305;
double r2712307 = 1.0;
double r2712308 = b;
double r2712309 = r2712308 * r2712308;
double r2712310 = a;
double r2712311 = r2712310 * r2712310;
double r2712312 = r2712309 - r2712311;
double r2712313 = r2712307 / r2712312;
double r2712314 = r2712306 * r2712313;
double r2712315 = r2712307 / r2712310;
double r2712316 = r2712307 / r2712308;
double r2712317 = r2712315 - r2712316;
double r2712318 = r2712314 * r2712317;
return r2712318;
}
double f(double a, double b) {
double r2712319 = 1.0;
double r2712320 = a;
double r2712321 = r2712319 / r2712320;
double r2712322 = b;
double r2712323 = r2712319 / r2712322;
double r2712324 = r2712321 - r2712323;
double r2712325 = r2712322 - r2712320;
double r2712326 = r2712324 / r2712325;
double r2712327 = atan2(1.0, 0.0);
double r2712328 = 2.0;
double r2712329 = r2712327 / r2712328;
double r2712330 = r2712329 * r2712319;
double r2712331 = r2712320 + r2712322;
double r2712332 = r2712330 / r2712331;
double r2712333 = r2712326 * r2712332;
return r2712333;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.6
rmApplied difference-of-squares9.5
Applied *-un-lft-identity9.5
Applied times-frac8.9
Applied associate-*r*8.8
Simplified8.8
rmApplied associate-*r/8.8
Applied associate-*l/0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019174 +o rules:numerics
(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))))