\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\frac{(\left(\frac{\frac{1}{a + b} \cdot \pi}{b - a}\right) \cdot \left(\frac{-1}{b}\right) + \left(\frac{\frac{1}{a + b}}{\frac{a}{\pi} \cdot \left(b - a\right)}\right))_*}{2}double f(double a, double b) {
double r2060572 = atan2(1.0, 0.0);
double r2060573 = 2.0;
double r2060574 = r2060572 / r2060573;
double r2060575 = 1.0;
double r2060576 = b;
double r2060577 = r2060576 * r2060576;
double r2060578 = a;
double r2060579 = r2060578 * r2060578;
double r2060580 = r2060577 - r2060579;
double r2060581 = r2060575 / r2060580;
double r2060582 = r2060574 * r2060581;
double r2060583 = r2060575 / r2060578;
double r2060584 = r2060575 / r2060576;
double r2060585 = r2060583 - r2060584;
double r2060586 = r2060582 * r2060585;
return r2060586;
}
double f(double a, double b) {
double r2060587 = 1.0;
double r2060588 = a;
double r2060589 = b;
double r2060590 = r2060588 + r2060589;
double r2060591 = r2060587 / r2060590;
double r2060592 = atan2(1.0, 0.0);
double r2060593 = r2060591 * r2060592;
double r2060594 = r2060589 - r2060588;
double r2060595 = r2060593 / r2060594;
double r2060596 = -1.0;
double r2060597 = r2060596 / r2060589;
double r2060598 = r2060588 / r2060592;
double r2060599 = r2060598 * r2060594;
double r2060600 = r2060591 / r2060599;
double r2060601 = fma(r2060595, r2060597, r2060600);
double r2060602 = 2.0;
double r2060603 = r2060601 / r2060602;
return r2060603;
}



Bits error versus a



Bits error versus b
Initial program 14.4
Simplified14.3
rmApplied difference-of-squares14.3
Applied *-un-lft-identity14.3
Applied times-frac14.0
Applied associate-/l*9.7
rmApplied difference-of-squares4.8
Applied associate-/r*4.5
rmApplied associate-/r/4.5
rmApplied div-inv4.5
Final simplification4.5
herbie shell --seed 2019119 +o rules:numerics
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
(* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))