\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{\frac{-1}{a + b}}{2}}{b} \cdot \pi + \frac{\frac{\frac{\pi}{a + b}}{2}}{a}}{b - a}double f(double a, double b) {
double r1584449 = atan2(1.0, 0.0);
double r1584450 = 2.0;
double r1584451 = r1584449 / r1584450;
double r1584452 = 1.0;
double r1584453 = b;
double r1584454 = r1584453 * r1584453;
double r1584455 = a;
double r1584456 = r1584455 * r1584455;
double r1584457 = r1584454 - r1584456;
double r1584458 = r1584452 / r1584457;
double r1584459 = r1584451 * r1584458;
double r1584460 = r1584452 / r1584455;
double r1584461 = r1584452 / r1584453;
double r1584462 = r1584460 - r1584461;
double r1584463 = r1584459 * r1584462;
return r1584463;
}
double f(double a, double b) {
double r1584464 = -1.0;
double r1584465 = a;
double r1584466 = b;
double r1584467 = r1584465 + r1584466;
double r1584468 = r1584464 / r1584467;
double r1584469 = 2.0;
double r1584470 = r1584468 / r1584469;
double r1584471 = r1584470 / r1584466;
double r1584472 = atan2(1.0, 0.0);
double r1584473 = r1584471 * r1584472;
double r1584474 = r1584472 / r1584467;
double r1584475 = r1584474 / r1584469;
double r1584476 = r1584475 / r1584465;
double r1584477 = r1584473 + r1584476;
double r1584478 = r1584466 - r1584465;
double r1584479 = r1584477 / r1584478;
return r1584479;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.2
Simplified0.2
rmApplied *-un-lft-identity0.2
Applied *-un-lft-identity0.2
Applied div-inv0.3
Applied times-frac0.3
Applied times-frac0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019164
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))