\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{0.5 \cdot \left(\frac{1}{a} \cdot \frac{\pi}{b}\right)}{b + a}double f(double a, double b) {
double r37510 = atan2(1.0, 0.0);
double r37511 = 2.0;
double r37512 = r37510 / r37511;
double r37513 = 1.0;
double r37514 = b;
double r37515 = r37514 * r37514;
double r37516 = a;
double r37517 = r37516 * r37516;
double r37518 = r37515 - r37517;
double r37519 = r37513 / r37518;
double r37520 = r37512 * r37519;
double r37521 = r37513 / r37516;
double r37522 = r37513 / r37514;
double r37523 = r37521 - r37522;
double r37524 = r37520 * r37523;
return r37524;
}
double f(double a, double b) {
double r37525 = 0.5;
double r37526 = 1.0;
double r37527 = a;
double r37528 = r37526 / r37527;
double r37529 = atan2(1.0, 0.0);
double r37530 = b;
double r37531 = r37529 / r37530;
double r37532 = r37528 * r37531;
double r37533 = r37525 * r37532;
double r37534 = r37530 + r37527;
double r37535 = r37533 / r37534;
return r37535;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.9
rmApplied associate-*l*14.9
Simplified0.3
rmApplied associate-*r/0.3
Applied associate-*r/0.3
Taylor expanded around 0 0.2
rmApplied *-un-lft-identity0.2
Applied times-frac0.3
Final simplification0.3
herbie shell --seed 2019322
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))