\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}{2} \cdot \frac{\mathsf{fma}\left(-1, \frac{\pi}{b}, \frac{\pi}{a}\right)}{b + a}}{b - a}double f(double a, double b) {
double r1227225 = atan2(1.0, 0.0);
double r1227226 = 2.0;
double r1227227 = r1227225 / r1227226;
double r1227228 = 1.0;
double r1227229 = b;
double r1227230 = r1227229 * r1227229;
double r1227231 = a;
double r1227232 = r1227231 * r1227231;
double r1227233 = r1227230 - r1227232;
double r1227234 = r1227228 / r1227233;
double r1227235 = r1227227 * r1227234;
double r1227236 = r1227228 / r1227231;
double r1227237 = r1227228 / r1227229;
double r1227238 = r1227236 - r1227237;
double r1227239 = r1227235 * r1227238;
return r1227239;
}
double f(double a, double b) {
double r1227240 = 0.5;
double r1227241 = -1.0;
double r1227242 = atan2(1.0, 0.0);
double r1227243 = b;
double r1227244 = r1227242 / r1227243;
double r1227245 = a;
double r1227246 = r1227242 / r1227245;
double r1227247 = fma(r1227241, r1227244, r1227246);
double r1227248 = r1227243 + r1227245;
double r1227249 = r1227247 / r1227248;
double r1227250 = r1227240 * r1227249;
double r1227251 = r1227243 - r1227245;
double r1227252 = r1227250 / r1227251;
return r1227252;
}



Bits error versus a



Bits error versus b
Initial program 14.0
Simplified0.3
rmApplied div-inv0.3
Applied times-frac0.3
Simplified0.3
Simplified0.3
rmApplied associate-*r/0.3
Final simplification0.3
herbie shell --seed 2019138 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))