\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{\frac{1}{a + b}}{\frac{a}{\frac{\pi}{2}}}\right)}{b - a}double f(double a, double b) {
double r1984093 = atan2(1.0, 0.0);
double r1984094 = 2.0;
double r1984095 = r1984093 / r1984094;
double r1984096 = 1.0;
double r1984097 = b;
double r1984098 = r1984097 * r1984097;
double r1984099 = a;
double r1984100 = r1984099 * r1984099;
double r1984101 = r1984098 - r1984100;
double r1984102 = r1984096 / r1984101;
double r1984103 = r1984095 * r1984102;
double r1984104 = r1984096 / r1984099;
double r1984105 = r1984096 / r1984097;
double r1984106 = r1984104 - r1984105;
double r1984107 = r1984103 * r1984106;
return r1984107;
}
double f(double a, double b) {
double r1984108 = atan2(1.0, 0.0);
double r1984109 = a;
double r1984110 = b;
double r1984111 = r1984109 + r1984110;
double r1984112 = 2.0;
double r1984113 = r1984111 * r1984112;
double r1984114 = r1984108 / r1984113;
double r1984115 = -1.0;
double r1984116 = r1984115 / r1984110;
double r1984117 = 1.0;
double r1984118 = r1984117 / r1984111;
double r1984119 = r1984108 / r1984112;
double r1984120 = r1984109 / r1984119;
double r1984121 = r1984118 / r1984120;
double r1984122 = fma(r1984114, r1984116, r1984121);
double r1984123 = r1984110 - r1984109;
double r1984124 = r1984122 / r1984123;
return r1984124;
}



Bits error versus a



Bits error versus b
Initial program 14.9
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.3
Applied associate-/l*0.3
Final simplification0.3
herbie shell --seed 2019142 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))