\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\left(0.5 \cdot \frac{\pi}{a \cdot b}\right) \cdot \frac{1}{b + a}double f(double a, double b) {
double r72204 = atan2(1.0, 0.0);
double r72205 = 2.0;
double r72206 = r72204 / r72205;
double r72207 = 1.0;
double r72208 = b;
double r72209 = r72208 * r72208;
double r72210 = a;
double r72211 = r72210 * r72210;
double r72212 = r72209 - r72211;
double r72213 = r72207 / r72212;
double r72214 = r72206 * r72213;
double r72215 = r72207 / r72210;
double r72216 = r72207 / r72208;
double r72217 = r72215 - r72216;
double r72218 = r72214 * r72217;
return r72218;
}
double f(double a, double b) {
double r72219 = 0.5;
double r72220 = atan2(1.0, 0.0);
double r72221 = a;
double r72222 = b;
double r72223 = r72221 * r72222;
double r72224 = r72220 / r72223;
double r72225 = r72219 * r72224;
double r72226 = 1.0;
double r72227 = r72222 + r72221;
double r72228 = r72226 / r72227;
double r72229 = r72225 * r72228;
return r72229;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.9
rmApplied difference-of-squares9.9
Applied *-un-lft-identity9.9
Applied times-frac9.5
Applied associate-*r*9.5
Simplified9.4
rmApplied associate-*l/9.4
Applied associate-*l/0.3
Taylor expanded around 0 0.2
rmApplied div-inv0.3
Final simplification0.3
herbie shell --seed 2019322 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))