\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{\left(\frac{\pi}{2} \cdot 1\right) \cdot \frac{\left(b - a\right) \cdot 1}{b + a}}{a \cdot b}}{b - a}double f(double a, double b) {
double r78612 = atan2(1.0, 0.0);
double r78613 = 2.0;
double r78614 = r78612 / r78613;
double r78615 = 1.0;
double r78616 = b;
double r78617 = r78616 * r78616;
double r78618 = a;
double r78619 = r78618 * r78618;
double r78620 = r78617 - r78619;
double r78621 = r78615 / r78620;
double r78622 = r78614 * r78621;
double r78623 = r78615 / r78618;
double r78624 = r78615 / r78616;
double r78625 = r78623 - r78624;
double r78626 = r78622 * r78625;
return r78626;
}
double f(double a, double b) {
double r78627 = atan2(1.0, 0.0);
double r78628 = 2.0;
double r78629 = r78627 / r78628;
double r78630 = 1.0;
double r78631 = r78629 * r78630;
double r78632 = b;
double r78633 = a;
double r78634 = r78632 - r78633;
double r78635 = r78634 * r78630;
double r78636 = r78632 + r78633;
double r78637 = r78635 / r78636;
double r78638 = r78631 * r78637;
double r78639 = r78633 * r78632;
double r78640 = r78638 / r78639;
double r78641 = r78640 / r78634;
return r78641;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.1
rmApplied difference-of-squares9.2
Applied *-un-lft-identity9.2
Applied times-frac8.7
Applied associate-*r*8.7
Simplified8.7
rmApplied associate-*r/8.6
Applied associate-*l/0.3
rmApplied frac-sub0.3
Applied associate-*r/0.3
Simplified0.3
rmApplied div-inv0.3
Applied associate-*l*0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019303 +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))))