\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{\mathsf{fma}\left(\frac{\pi}{\left(a + b\right) \cdot 2}, \frac{-1}{b}, \frac{1}{\frac{\left(\left(a + b\right) \cdot 2\right) \cdot a}{\pi}}\right)}{b - a}double f(double a, double b) {
double r1191555 = atan2(1.0, 0.0);
double r1191556 = 2.0;
double r1191557 = r1191555 / r1191556;
double r1191558 = 1.0;
double r1191559 = b;
double r1191560 = r1191559 * r1191559;
double r1191561 = a;
double r1191562 = r1191561 * r1191561;
double r1191563 = r1191560 - r1191562;
double r1191564 = r1191558 / r1191563;
double r1191565 = r1191557 * r1191564;
double r1191566 = r1191558 / r1191561;
double r1191567 = r1191558 / r1191559;
double r1191568 = r1191566 - r1191567;
double r1191569 = r1191565 * r1191568;
return r1191569;
}
double f(double a, double b) {
double r1191570 = atan2(1.0, 0.0);
double r1191571 = a;
double r1191572 = b;
double r1191573 = r1191571 + r1191572;
double r1191574 = 2.0;
double r1191575 = r1191573 * r1191574;
double r1191576 = r1191570 / r1191575;
double r1191577 = -1.0;
double r1191578 = r1191577 / r1191572;
double r1191579 = 1.0;
double r1191580 = r1191575 * r1191571;
double r1191581 = r1191580 / r1191570;
double r1191582 = r1191579 / r1191581;
double r1191583 = fma(r1191576, r1191578, r1191582);
double r1191584 = r1191572 - r1191571;
double r1191585 = r1191583 / r1191584;
return r1191585;
}



Bits error versus a



Bits error versus b
Initial program 15.0
Simplified0.3
rmApplied associate-/l/0.3
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2019146 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))