\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\pi \cdot \frac{\frac{1}{a} - \frac{1}{b}}{a + b}}{\left(b - a\right) \cdot 2}double f(double a, double b) {
double r1043597 = atan2(1.0, 0.0);
double r1043598 = 2.0;
double r1043599 = r1043597 / r1043598;
double r1043600 = 1.0;
double r1043601 = b;
double r1043602 = r1043601 * r1043601;
double r1043603 = a;
double r1043604 = r1043603 * r1043603;
double r1043605 = r1043602 - r1043604;
double r1043606 = r1043600 / r1043605;
double r1043607 = r1043599 * r1043606;
double r1043608 = r1043600 / r1043603;
double r1043609 = r1043600 / r1043601;
double r1043610 = r1043608 - r1043609;
double r1043611 = r1043607 * r1043610;
return r1043611;
}
double f(double a, double b) {
double r1043612 = atan2(1.0, 0.0);
double r1043613 = 1.0;
double r1043614 = a;
double r1043615 = r1043613 / r1043614;
double r1043616 = b;
double r1043617 = r1043613 / r1043616;
double r1043618 = r1043615 - r1043617;
double r1043619 = r1043614 + r1043616;
double r1043620 = r1043618 / r1043619;
double r1043621 = r1043612 * r1043620;
double r1043622 = r1043616 - r1043614;
double r1043623 = 2.0;
double r1043624 = r1043622 * r1043623;
double r1043625 = r1043621 / r1043624;
return r1043625;
}



Bits error versus a



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