\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{\pi}{2} \cdot 1}{b + a} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{b - a}double f(double a, double b) {
double r4612413 = atan2(1.0, 0.0);
double r4612414 = 2.0;
double r4612415 = r4612413 / r4612414;
double r4612416 = 1.0;
double r4612417 = b;
double r4612418 = r4612417 * r4612417;
double r4612419 = a;
double r4612420 = r4612419 * r4612419;
double r4612421 = r4612418 - r4612420;
double r4612422 = r4612416 / r4612421;
double r4612423 = r4612415 * r4612422;
double r4612424 = r4612416 / r4612419;
double r4612425 = r4612416 / r4612417;
double r4612426 = r4612424 - r4612425;
double r4612427 = r4612423 * r4612426;
return r4612427;
}
double f(double a, double b) {
double r4612428 = atan2(1.0, 0.0);
double r4612429 = 2.0;
double r4612430 = r4612428 / r4612429;
double r4612431 = 1.0;
double r4612432 = r4612430 * r4612431;
double r4612433 = b;
double r4612434 = a;
double r4612435 = r4612433 + r4612434;
double r4612436 = r4612432 / r4612435;
double r4612437 = r4612431 / r4612434;
double r4612438 = r4612431 / r4612433;
double r4612439 = r4612437 - r4612438;
double r4612440 = r4612433 - r4612434;
double r4612441 = r4612439 / r4612440;
double r4612442 = r4612436 * r4612441;
return r4612442;
}



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))))