\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{\pi \cdot 1}{b + a}}{\frac{2 \cdot \left(b - a\right)}{\frac{1}{a} - \frac{1}{b}}}double f(double a, double b) {
double r44687 = atan2(1.0, 0.0);
double r44688 = 2.0;
double r44689 = r44687 / r44688;
double r44690 = 1.0;
double r44691 = b;
double r44692 = r44691 * r44691;
double r44693 = a;
double r44694 = r44693 * r44693;
double r44695 = r44692 - r44694;
double r44696 = r44690 / r44695;
double r44697 = r44689 * r44696;
double r44698 = r44690 / r44693;
double r44699 = r44690 / r44691;
double r44700 = r44698 - r44699;
double r44701 = r44697 * r44700;
return r44701;
}
double f(double a, double b) {
double r44702 = atan2(1.0, 0.0);
double r44703 = 1.0;
double r44704 = r44702 * r44703;
double r44705 = b;
double r44706 = a;
double r44707 = r44705 + r44706;
double r44708 = r44704 / r44707;
double r44709 = 2.0;
double r44710 = r44705 - r44706;
double r44711 = r44709 * r44710;
double r44712 = r44703 / r44706;
double r44713 = r44703 / r44705;
double r44714 = r44712 - r44713;
double r44715 = r44711 / r44714;
double r44716 = r44708 / r44715;
return r44716;
}



Bits error versus a



Bits error versus b
Results
Initial program 13.8
rmApplied difference-of-squares9.4
Applied associate-/r*8.9
rmApplied frac-times8.9
Applied associate-*l/0.3
rmApplied associate-/l*0.3
rmApplied associate-*r/0.3
Final simplification0.3
herbie shell --seed 2020003 +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))))