\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}{2}}{a} + \frac{\frac{-1}{2}}{b}}{b - a}}{b + a} \cdot \pidouble f(double a, double b) {
double r1775558 = atan2(1.0, 0.0);
double r1775559 = 2.0;
double r1775560 = r1775558 / r1775559;
double r1775561 = 1.0;
double r1775562 = b;
double r1775563 = r1775562 * r1775562;
double r1775564 = a;
double r1775565 = r1775564 * r1775564;
double r1775566 = r1775563 - r1775565;
double r1775567 = r1775561 / r1775566;
double r1775568 = r1775560 * r1775567;
double r1775569 = r1775561 / r1775564;
double r1775570 = r1775561 / r1775562;
double r1775571 = r1775569 - r1775570;
double r1775572 = r1775568 * r1775571;
return r1775572;
}
double f(double a, double b) {
double r1775573 = 0.5;
double r1775574 = a;
double r1775575 = r1775573 / r1775574;
double r1775576 = -0.5;
double r1775577 = b;
double r1775578 = r1775576 / r1775577;
double r1775579 = r1775575 + r1775578;
double r1775580 = r1775577 - r1775574;
double r1775581 = r1775579 / r1775580;
double r1775582 = r1775577 + r1775574;
double r1775583 = r1775581 / r1775582;
double r1775584 = atan2(1.0, 0.0);
double r1775585 = r1775583 * r1775584;
return r1775585;
}



Bits error versus a



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