\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 r45707 = atan2(1.0, 0.0);
double r45708 = 2.0;
double r45709 = r45707 / r45708;
double r45710 = 1.0;
double r45711 = b;
double r45712 = r45711 * r45711;
double r45713 = a;
double r45714 = r45713 * r45713;
double r45715 = r45712 - r45714;
double r45716 = r45710 / r45715;
double r45717 = r45709 * r45716;
double r45718 = r45710 / r45713;
double r45719 = r45710 / r45711;
double r45720 = r45718 - r45719;
double r45721 = r45717 * r45720;
return r45721;
}
double f(double a, double b) {
double r45722 = 0.5;
double r45723 = atan2(1.0, 0.0);
double r45724 = a;
double r45725 = b;
double r45726 = r45724 * r45725;
double r45727 = r45723 / r45726;
double r45728 = r45722 * r45727;
double r45729 = 1.0;
double r45730 = r45725 + r45724;
double r45731 = r45729 / r45730;
double r45732 = r45728 * r45731;
return r45732;
}



Bits error versus a



Bits error versus b
Results
Initial program 14.5
rmApplied difference-of-squares9.7
Applied *-un-lft-identity9.7
Applied times-frac9.2
Applied associate-*r*9.2
Simplified9.2
rmApplied associate-*l/9.2
Applied associate-*l/0.3
Taylor expanded around 0 0.2
rmApplied div-inv0.3
Final simplification0.3
herbie shell --seed 2020021 +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))))