\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{\pi}{2}}{b + a} \cdot 1}{\frac{b - a}{\frac{1}{a} - \frac{1}{b}}}double f(double a, double b) {
double r54598 = atan2(1.0, 0.0);
double r54599 = 2.0;
double r54600 = r54598 / r54599;
double r54601 = 1.0;
double r54602 = b;
double r54603 = r54602 * r54602;
double r54604 = a;
double r54605 = r54604 * r54604;
double r54606 = r54603 - r54605;
double r54607 = r54601 / r54606;
double r54608 = r54600 * r54607;
double r54609 = r54601 / r54604;
double r54610 = r54601 / r54602;
double r54611 = r54609 - r54610;
double r54612 = r54608 * r54611;
return r54612;
}
double f(double a, double b) {
double r54613 = atan2(1.0, 0.0);
double r54614 = 2.0;
double r54615 = r54613 / r54614;
double r54616 = b;
double r54617 = a;
double r54618 = r54616 + r54617;
double r54619 = r54615 / r54618;
double r54620 = 1.0;
double r54621 = r54619 * r54620;
double r54622 = r54616 - r54617;
double r54623 = r54620 / r54617;
double r54624 = r54620 / r54616;
double r54625 = r54623 - r54624;
double r54626 = r54622 / r54625;
double r54627 = r54621 / r54626;
return r54627;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.7
rmApplied difference-of-squares9.8
Applied *-un-lft-identity9.8
Applied times-frac9.3
Applied associate-*r*9.3
Simplified9.2
rmApplied associate-*r/9.2
Applied associate-*l/0.3
rmApplied associate-/l*0.3
Final simplification0.3
herbie shell --seed 2020060 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))