\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{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{\frac{\pi}{a + b}}{2}double f(double a, double b) {
double r730508 = atan2(1.0, 0.0);
double r730509 = 2.0;
double r730510 = r730508 / r730509;
double r730511 = 1.0;
double r730512 = b;
double r730513 = r730512 * r730512;
double r730514 = a;
double r730515 = r730514 * r730514;
double r730516 = r730513 - r730515;
double r730517 = r730511 / r730516;
double r730518 = r730510 * r730517;
double r730519 = r730511 / r730514;
double r730520 = r730511 / r730512;
double r730521 = r730519 - r730520;
double r730522 = r730518 * r730521;
return r730522;
}
double f(double a, double b) {
double r730523 = 1.0;
double r730524 = a;
double r730525 = r730523 / r730524;
double r730526 = b;
double r730527 = r730523 / r730526;
double r730528 = r730525 - r730527;
double r730529 = r730526 - r730524;
double r730530 = r730528 / r730529;
double r730531 = atan2(1.0, 0.0);
double r730532 = r730524 + r730526;
double r730533 = r730531 / r730532;
double r730534 = 2.0;
double r730535 = r730533 / r730534;
double r730536 = r730530 * r730535;
return r730536;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.1
Simplified9.1
rmApplied associate-*l/0.3
rmApplied times-frac0.3
Final simplification0.3
herbie shell --seed 2019154
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))