\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} \cdot 1}{b + a} \cdot \left(\frac{\sqrt{1}}{1} \cdot \left(\frac{\sqrt{1}}{a} - \frac{\sqrt{1}}{b}\right)\right)}{b - a}double f(double a, double b) {
double r38512 = atan2(1.0, 0.0);
double r38513 = 2.0;
double r38514 = r38512 / r38513;
double r38515 = 1.0;
double r38516 = b;
double r38517 = r38516 * r38516;
double r38518 = a;
double r38519 = r38518 * r38518;
double r38520 = r38517 - r38519;
double r38521 = r38515 / r38520;
double r38522 = r38514 * r38521;
double r38523 = r38515 / r38518;
double r38524 = r38515 / r38516;
double r38525 = r38523 - r38524;
double r38526 = r38522 * r38525;
return r38526;
}
double f(double a, double b) {
double r38527 = atan2(1.0, 0.0);
double r38528 = 2.0;
double r38529 = r38527 / r38528;
double r38530 = 1.0;
double r38531 = r38529 * r38530;
double r38532 = b;
double r38533 = a;
double r38534 = r38532 + r38533;
double r38535 = r38531 / r38534;
double r38536 = sqrt(r38530);
double r38537 = 1.0;
double r38538 = r38536 / r38537;
double r38539 = r38536 / r38533;
double r38540 = r38536 / r38532;
double r38541 = r38539 - r38540;
double r38542 = r38538 * r38541;
double r38543 = r38535 * r38542;
double r38544 = r38532 - r38533;
double r38545 = r38543 / r38544;
return r38545;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.5
rmApplied difference-of-squares9.6
Applied associate-/r*9.0
rmApplied associate-*r/9.0
Applied associate-*l/0.3
rmApplied associate-*r/0.3
rmApplied *-un-lft-identity0.3
Applied add-sqr-sqrt0.3
Applied times-frac0.3
Applied *-un-lft-identity0.3
Applied add-sqr-sqrt0.3
Applied times-frac0.3
Applied distribute-lft-out--0.3
Final simplification0.3
herbie shell --seed 2020020
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))