\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{0.5 \cdot \frac{\pi}{a \cdot b}}{b + a}double f(double a, double b) {
double r41392 = atan2(1.0, 0.0);
double r41393 = 2.0;
double r41394 = r41392 / r41393;
double r41395 = 1.0;
double r41396 = b;
double r41397 = r41396 * r41396;
double r41398 = a;
double r41399 = r41398 * r41398;
double r41400 = r41397 - r41399;
double r41401 = r41395 / r41400;
double r41402 = r41394 * r41401;
double r41403 = r41395 / r41398;
double r41404 = r41395 / r41396;
double r41405 = r41403 - r41404;
double r41406 = r41402 * r41405;
return r41406;
}
double f(double a, double b) {
double r41407 = 0.5;
double r41408 = atan2(1.0, 0.0);
double r41409 = a;
double r41410 = b;
double r41411 = r41409 * r41410;
double r41412 = r41408 / r41411;
double r41413 = r41407 * r41412;
double r41414 = r41410 + r41409;
double r41415 = r41413 / r41414;
return r41415;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.8
rmApplied difference-of-squares9.9
Applied add-cube-cbrt9.9
Applied times-frac9.5
rmApplied associate-*l/9.5
Applied associate-*r/9.4
Applied associate-*l/0.3
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2019212
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))