\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\left(\frac{\pi}{2} \cdot 1\right) \cdot \frac{\frac{\frac{1}{a} - \frac{1}{b}}{b + a}}{b - a}double f(double a, double b) {
double r53593 = atan2(1.0, 0.0);
double r53594 = 2.0;
double r53595 = r53593 / r53594;
double r53596 = 1.0;
double r53597 = b;
double r53598 = r53597 * r53597;
double r53599 = a;
double r53600 = r53599 * r53599;
double r53601 = r53598 - r53600;
double r53602 = r53596 / r53601;
double r53603 = r53595 * r53602;
double r53604 = r53596 / r53599;
double r53605 = r53596 / r53597;
double r53606 = r53604 - r53605;
double r53607 = r53603 * r53606;
return r53607;
}
double f(double a, double b) {
double r53608 = atan2(1.0, 0.0);
double r53609 = 2.0;
double r53610 = r53608 / r53609;
double r53611 = 1.0;
double r53612 = r53610 * r53611;
double r53613 = a;
double r53614 = r53611 / r53613;
double r53615 = b;
double r53616 = r53611 / r53615;
double r53617 = r53614 - r53616;
double r53618 = r53615 + r53613;
double r53619 = r53617 / r53618;
double r53620 = r53615 - r53613;
double r53621 = r53619 / r53620;
double r53622 = r53612 * r53621;
return r53622;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.5
rmApplied difference-of-squares9.6
Applied *-un-lft-identity9.6
Applied times-frac9.1
Applied associate-*r*9.1
Simplified9.1
rmApplied associate-*r/9.0
Applied associate-*l/0.3
rmApplied associate-*l/0.3
Applied associate-*l/0.3
rmApplied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied times-frac0.3
Applied times-frac0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020065 +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))))